เรื่องที่ว่านี้ ก็คือ binary digits หรือ เลขฐาน ๒ หรือ bits ที่มีแต่ 0 กับ 1 เท่านั้นเอง ง่ายเน้าะ
เรามาดูว่า ๑ บิท จะมีค่าอะไรได้บ้าง ก็แค่ 0 กับ 1 ก็ให้นึกว่า ปิดไฟแสงสว่าง กับ เปิดไฟแสงสว่าง ก็แล้วกัน เปรียบเทียบให้เห็นเป็นตัวอย่างง่ายๆ
แล้ว ๒ บิท ก็จะมีค่า ตั้งแต่ 0 ถึง 3 ดังนี้น่ะ
00 = 0
01 = 1
10 = 2
11 = 3
ขอให้สังเกตุค่าต่างๆของเลขฝั่งขะซ้ายมือไว้ด้วย มันสวย เป็นระเบียบดี
ทีนี้ ๓ บิท หละครับ จะมีค่าจากไหน ไปถึงไหนมั่ง ลองๆนึกดูซิ
000 = 0
001 = 1
010 = 2
011 = 3
100 = 4
101 = 5
110 = 6
111 = 7
อีกครั้งหนึ่ง ที่ใคร่ขอแนะให้สังเกตุ และ จำ pattern ของกลุ่มเลขฐาน ๒ นี้ไว้ด้วย มัน สวย และ เป็นระเบียบดี และ เป็น ประโยชน์ ด้วย
อ้อ ยังคงใช้ได้น่ะ ที่ว่า ถ้าเป็น 0 คือ ปิด ถ้าเป็น 1 คือ เปิด
เอาล่ะ เรามา เล่น อะไรกันสนุกสักนี้ดหนึ่งน่ะ ในกลุ่ม ๓ บิท นั้น เราแทนตำแหน่ง จากซ้ายไปขวา ด้วย rwx ตามลำดับไป ดังนี้
rwx
แล้วให้ลองกำหนดว่า ถ้าอันไหน เปิด ให้เป็น 1 อันไหน ปิด ให้เป็น 0 ลองดูน่ะครับว่า ถ้าเป็น 755 ละครับ ลองเขียนออกมาเป็น pattern ซิ จะเป็นอะไร, อ้อ ต้องสามกลุ่มน่ะ
แล้วทีนี้ ลองอีกเที่ยว โดยถ้าว่า อันไหน เปิด ให้ใช้ตัวอักษร ตัวนั้นไปเลย ไม่ต้องใช้เลขแล้ว ส่วนอันที่ ปิด ให้ใช้ ขีดขวาง - แทนเอา
ลองกับ 755 ดูว่า pattern เป็นยังไง
ลองดูซิว่า ถ้าเป็น rw-r--r-- จะ ได้เลขอะไร
เราพักกันตรงนี้ สักครู่น่ะ
ม้ะ...เรามาไปกันต่อไป
ก็ไม่แน่ใจเหมือนกันว่า ที่ปล่อยให้ท่านได้พักนั้น ท่านจะพักจริง หรือว่่ามัวแต่ครุ่นคิด จนไม่ได้พักกันแน่ หากเป็นกรณีหลัง มะไฟ คงสร้างบาปกรรมขึ้น หวังว่าคงไม่ใช่น่ะ แลที่ว่า ๓ กลุ่ม นั้น ก็คงจะเข้าใจน่ะครับว่า หมายถึง กลุ่มของเลข ๓ บิทส์ ๓ กลุ่ม ซึ่งผลก็คือ เลข ๙ บิทส์ นั่นเอง
rwxrwxrwx
อย่างกับว่า ที่ว่า 755 นั้น เมื่อถอดออกมาก็ได้rwxr-xr-x
และ ที่ทิ้งไว้ช่วงแรก rw-r--r-- นั้น เมื่อถอดออกมาเป็นเลข ๓ กลุ่ม กลุมล่ะ ๓ บิทส์ ก็คือ 644
โดยที่ 6 ตัวแรกซ้ายมือสุดนั้น ก็คือ ๓ บิทส์แรกที่มีค่าเป็น 110 ซึ่งสอดคล้องกับ สวิตช์ไฟ ๓ ตัวคือ rwx นั่นเอง แต่ ตัว x นั้นอยู่ในสถานะ ปิด จึงใช้ขีดขวาง - แทน ผลจึงได้เป็น rw- และ เลข 4 ตรงกลาง ก็มีกลุ่ม ๓ บิทส์ มีค่าเป็น 100 ซึ่งเมื่อเทียบกับ สวิตช์ไฟ ๓ ตัวแล้ว ก็ได้ผลเป็น r-- นั้นเองก็คงไม่มีปัญหากับ 4 ตัวสุดท้ายตรงตำแหน่งขวาสุด และคงกระจ่างว่า ทำไม rw-r--r-- จึงมีค่าเป็น 644
ทำไมต้อง ๓ กลุ่ม และความหมายของ r, w, x คืออะไร ได้เคยบอกไว้แล้วใน FreeBSD: file ในที่นี้ ใคร่ขอเน้นให้เชื่อมโยงเลขฐานสอง กับความหมายต่างๆ ที่ใช้งานในชีวิตประจำวัน เป็นเบื้องต้น
ในตอนต้น ที่บอกให้จำ ความสวยงาม ความเป็นระเบียบ นั้นก็มีเหตุอยู่น่ะ คือกลุ่มบิทส์ ตั้งแต่ ๒ บิทส์ ๓ บิทส์ ที่ยกตัวอย่างมาน่ะ น่าจะจับ กระสวน ของบิทส์ได้ ให้ลองเอาเองว่า ถ้าเป็นกลุ่ม ๔ บิทส์บ้าง pattern ของบิทส์ จะเป็นอย่างไร
อีกอย่างหนึ่ง ที่อยากให้คิดต่อคือ ในกลุ่ม ๒ บิทส์ ค่าที่ได้ มีตั้งแต่ ๐ ถึง ๓ รวมเป็น ๔ ค่า ในกลุ่ม ๓ บิทส์ ค่าที่ได้มีตั้งแต่ ๐ ถึง ๗ รวม ๘ ค่า แล้ว ในกลุ่ม ๔ บิทส์หละ สมควรเดาออกได้น่ะครับ ในกลุ่ม ๓ บิทส์นั้น ทำให้เราได้สัมผัสกับเลขฐานแปด, octal, ไปโดยไม่รู้ตัว
ดังนี้แล้ว ถ้าเราจะมอง file permission เป็นเลข octal ก็จะทำให้ทำงานได้ง่ายขึ้น สะดวกขึ้น และ รวดเร็วขึ้นด้วย
การเปลี่ยน permission เราเรียกว่า เป็นการเปลี่ยน mode และ คำสั่งที่เกี่ยวข้องคือ chmod(1) และการกำหนดให้ใครเป็น owner นั้นกระทำโดยคำสั่ง chown(1)
หวังว่า ข้อเขียนเกี่ยวกับเรื่องของ แฟ้ม จะพอมีสาระ มาบ้าง และก็หวังว่า คงช่วยให้ท่านได้ทำงาน หรือ ใช้งาน FreeBSD ได้คล่องขึ้น
2 comments:
ตามติทุกหัวข้อ
คราวนี้เป็น BSD อิอิ เข้าทางแล้วละ
ลุงมีตารางการเขีัยนบล็อกหรือป่าวคับ
สังเกตุเห็น ในเดือนหนึง จะมีมีเรืองเกียวกับ
ฺBSD 1 สัปดาห์ (พักหลังมาเนีย อีก 3 สัปดาห์
ก็เรืองอื่น หรือว่าแต่ความสนใจ และอารมณ์ศิลปิน
ลำเอียงอ่ะป่าวครับ หุหุหุ ล้อเล่นนะครับ)
มีตารางใจครับ ฮาาาาาา
ก็เพิ่งรู้ มีนักวิจัยมาสำรวจความถี่การขึ้น บ๊ะหละฮ่อก ของ มะขาม ด้วยรึเนี่ย
ช่วงนี้ ต้องเร่งมือครับ
Post a Comment