อะไรคือแฟ้ม
แฟ้ม คือลำดับของ byte หรือ คำ ในภาคภาษาไทย ส่วนที่ว่า คำ ในแฟ้มจะมีความหมายอะไร อย่างไร นั้น ตัวโปรแกรม ที่อ่าน หรือ ใช้ แฟ้มนั้นเองต่างหากจะเป็นผู้ที่รู้ หรือ เข้าใจดีที่สุด
การที่จะรู้จัก ต้องทดลองเอง เหมือนอย่างกับว่า เขาถามว่า เกลือมันมีรสเค็ม เค็มยังไง ก็ต้องตอบว่า ให้ไปกินเกลือดูเองซี ถึงจะรู้จักรสเค็ม ฉันไดก็ฉันนั้น ท่านต้องทดลอง เล่น กับแฟ้มดูสักระยะ ซึ่งในการนี้ ท่านสมควรหาเครื่องมาไว้เพื่อใช้งานด้วย จะดีกว่าไปขอมี account กับระบบ แต่ถ้าหาเครื่องยากนัก การมี account สัก ๑ ที่ก็ไม่เลวนักหรอก
เอาเป็นว่า ท่านสามารถใช้ FreeBSD ได้ตามใจก็แล้วกัน เน้าะ
สิ่งแรก ที่อยากให้ท่านทดลองก็คือ คำสั่ง file ลองดูน่ะครับ
# file /bin /bin/ed /bin/pwd
ตามนี้เลยน่ะ แต่ถ้าตัวหนังสือมันไม่เอียง ก็ไม่ต้องตกใจไปหรอก ไม่ต้องเอียงตามหรอกน่า อ้อ ถ้าท่านไม่รู้ว่า file คืออะไรก็ง่ายๆน่ะ เหมือนเดิม file(1)
ที่อยากให้ดูช่วงนี้ คือ ความแตกต่างของผลลัพธ์ที่ได้ ผลลัพธ์จากคำสั่งที่ท่านใช้นั่นแหละครับ บรรทัดแรก บอกว่า directory สองบรรทัดสุดท้าย เป็นแต่ข้อความยาวๆ เข้าใจยาก แต่เรารู้ว่าเป็น โปรแกรม และ แน่นอน เป็นแฟ้ม แฟ้มหนึ่ง ซึ่งจากนี้ เราสรุปว่า
- โปรแกรม ก็คือแฟ้ม
- directory ก็คือ แฟ้ม
# date >> ~/junk
จากนั้น อีกหนหนึ่งน่ะ
# file /bin /bin/ed /bin/pwd ~/junk
ยังต้องให้อธิบายอะไรอีกมั้ยครับ สังเกตุเองน่ะ ว่า ความแตกต่าง ของผลลัพธ์ เป็นอย่างไร
มาดูกันต่ออีกนิดหนึ่งน่ะ ทำตามไปก่อนน่ะ
# echo #\!/bin/sh > junk1
# echo set -x >> junk1
# file /bin /bin/ed /bin/pwd ~/junk junk1
สังเกตุเห็นอะไรจากผลลัพธ์เพิ่มเติมไหมครับ
มาต่อกันน่ะ
จากตัวอย่างที่ผ่านมา ท่านสมควรทราบได้แล้วว่า แฟ้ม พอจะแยกชนิดได้อยู่บ้าง เรามาดูกันต่อไปซิว่า devices หรืออุปกรณ์ประกอบต่างๆนั้น เป็น แฟ้ม ชนิดใด ลองดูน่ะ
# file /dev/ad0s1
หวังว่ายังคงจำ /dev/ad0s1 กันได้อยู่น่ะครับ
ทีนี่ เรามาดูต่อว่า ในเรื่องของแฟ้ม(files) นี่ นอกจาก ชนิด ที่สามารถดูได้จากคำสั่ง file(1) แล้ว ยังมีเรื่องของ สิทธิ หรือ permission ที่สมควรจะรู้ไว้เป็นเบื้องต้นด้วย ซึ่งในเรื่องของ permission นี้ ใคร่ขอให้มองว่า แฟ้มของเรานั้น บางแฟ้ม เราไม่อยากให้ใครอ่านเลย แต่ บางเรื่องที่เก็บในแฟ้ม เราอยากแชร์ให้กับเพื่อนร่วมก๊วนได้ทราบด้วย ก็มี
ซึ่งในการนี้เอง ก็ทำให้เกิดมีการแบ่งแยกผู้ใช้ออกเป็น ๓ พวกใหญ่ๆคือ เราเอง หนึ่งล่ะ กับ กลุ่ม อีกหนึ่งล่ะ และ คนอื่น อีกหนึ่งล่ะ ซึ่งทุกแฟ้ม(files) จะมีรายละเอียดของ permission ของผู้ใช้งาน เรียงตามลำดับดังนี้
user group other
ก็แล permission หรือ สิทธิ ที่ว่านั้นก็มี อ่าน เขียน ทำงาน อย่างนี้
read อ่านได้
write เขียนได้
execute สั่งให้ทำงานได้
โดยที่ในแต่ละประเภทของผู้ใช้ เขาจะเรียง permission ไปเป็น อ่านเขียนสั่ง ในลำดับนี้ไปทุกประเภท ดังนี้
-rwxrwxrwx
เจ้าตัวขีด - ที่อยู่ซ้ายสุดนั้น อย่าคิดว่าเป็นรอยเปื้อนจากการพิมพ์น่ะ เป็นขีด - จริงที่เจตนามีไว้ เพราะมันแทน ชนิด ของแฟ้ม(files) ที่ได้กล่าวมาก่อนหน้านี้ยังไงล่ะ ซึ่งก็มีพวก directory, ordinary file, special file ประดานี้ซึ่งก็จะมีสัญญลักษณ์แทนพอสรุปได้บ้าง ดังนี้
ถ้าเป็น ขีด - ก็แทนแฟ้มธรรมดาๆ
ถ้าเป็นตัวดี d ก็แทน directory
ถ้าเป็นตัว c หรือ อย่างอื่น ก็แทน special file
อนึ่งเจ้าตัว rwx นั้น ถ้าตัวไหนไม่ได้รับ สิทธิ มันก็ว่างไปโดยใช้ขีดเปล่าๆแทน เช่นอย่างกับว่าในกลุ่มเพื่อนเรา กับ คนอื่นด้วยนั้น เราอนุญาตให้เพียงอ่านได้เท่านั้น ดังนี้แล้ว permission ก็จะเป็น
-rwxr--r--
คงพอได้แนวความคิดบ้างน่ะครับ อ้อ มีทิปให้นิดหนึ่ง คือเจ้าตัว r w x เนี่ย เท่าที่บอกไปว่า ถ้าไม่ได้รับสิทธินั้นๆ ให้แทนด้วยขีด ไป ที่นี้ เรามาขยายความต่อไปว่า ถ้า ได้รับสิทธิ ให้แทนด้วย 1 ถ้าไม่ได้รับสิทธิ ให้แทนด้วย 0 แล้วให้มองกลุ่ม rwx เป็นเลขฐานแปด จากตัวอย่างข้างต้น permission ก็จะแปลงร่างอีกโฉมเป็น
-744
คุ้นๆกันบ้างไหมครับ ลองดูอีกนี้ดนึงซี อาจจะกระจ่างขึ้นมาได้บ้าง น่ะ
# ll junk1
คงแยกออกน่ะ ระหว่างเลข 1 กับตัว l
ขอยุติเรื่องราวของแฟ้ม(files)เบื้องต้นไว้แต่เพียงเท่านี้ก่อน หากจะมีคุณงามความดีอันใดบ้าง ก็ขอยกให้กับ กุสุมา ศรีโยธา เมียที่เสียชีวิตไปเมื่อวันที่ ๑ กพ ๒๕๓๗ โน้น พร้อมกับเพื่อนร่วมเดินทางอีก ๖ ท่าน แล หากขาดตกบกพร่อง หรือ ขัดเคืองประการใด มะไฟ ขอน้อมรับไว้แต่โดยดี โดยผู้เดียว
3 comments:
NAME
file -- determine file type
ต้องเรียนอีกเยอะเลยเรา อิอิ(ขอบคุณมากนะลุง)
วันนี้เป็นวันที่บัชคิดถึง ...(แม่) มากที่สุด
วันนี้เมือ ยี่สิบกว่าปีที่แล้ว แม่ได้คลอดลูกคนแรก
วันนั้นจนถึงวันนี้แม่มีลูก เจ็ค คน
วันนี้ เราทำอะไรเพื่อแม่บ้างแล้วหรือยัง???
อยากบอกว่า "บัชรักแม่นะ"
อ้อ วานนี้, ๑ กพ, ไปทำบุญที่ภาควิชาเคมี จุฬา ก็ขออารธนาคุณพระรัตนรตรัย จงดลให้ บัช มีความสุข ปราถนาสิ่งใดขอให้ได้สิ่งนั้นน่ะครับ
แล้วจะต่อให้ในส่วนที่ขาด สำหรับเรื่องนี้
Post a Comment