โดย ราเมช นาตาราจัน
เมื่อวันที่ 8 กันยายน 2553
คุณเคยสงสัยบ้างไหมว่าทำไมบางโปรแกรมถึงอยู่ภายใต้ /bin หรือ /sbin หรือ /usr/bin หรือ /usr/sbin?
ตัวอย่างเช่น คำสั่ง less จะอยู่ใต้ไดเร็กทอรี /usr/bin ทำไมไม่ /bin หรือ /sbin หรือ /usr/sbin? อะไรคือความแตกต่างระหว่างไดเร็กทอรีเหล่านี้?
ในบทความนี้ เราจะมาทบทวนโครงสร้างระบบไฟล์ Linux และทำความเข้าใจความหมายของไดเร็กทอรีระดับสูงแต่ละรายการ

1. / – รูท
- ทุกไฟล์และไดเร็กทอรีเริ่มต้นจากไดเร็กทอรีราก
- เฉพาะผู้ใช้รูทเท่านั้นที่มีสิทธิ์เขียนภายใต้ไดเร็กทอรีนี้
- โปรดทราบว่า /root เป็นโฮมไดเร็กตอรี่ของผู้ใช้รูท ซึ่งไม่เหมือนกับ /.
2. /bin – ไบนารีของผู้ใช้
- ประกอบด้วยไฟล์ปฏิบัติการแบบไบนารี
- คำสั่ง linux ทั่วไปที่คุณต้องใช้ในโหมดผู้ใช้คนเดียวจะอยู่ภายใต้ไดเรกทอรีนี้
- คำสั่งที่ใช้โดยผู้ใช้ทั้งหมดของระบบอยู่ที่นี่
- ตัวอย่างเช่น:ps, ls, ping, grep, cp
3. /sbin – ไบนารีของระบบ
- เช่นเดียวกับ /bin /sbin ยังมีไฟล์ปฏิบัติการแบบไบนารี
- แต่ คำสั่ง linux ที่อยู่ภายใต้ไดเร็กทอรีนี้โดยปกติแล้วผู้ดูแลระบบจะใช้เพื่อวัตถุประสงค์ในการบำรุงรักษาระบบ
- ตัวอย่างเช่น:iptables, รีบูต, fdisk, ifconfig, swapon
4. /etc – ไฟล์การกำหนดค่า
- มีไฟล์การกำหนดค่าที่จำเป็นสำหรับทุกโปรแกรม
- นอกจากนี้ยังมีเชลล์สคริปต์เริ่มต้นและปิดที่ใช้ในการเริ่ม/หยุดแต่ละโปรแกรม
- ตัวอย่าง:/etc/resolv.conf, /etc/logrotate.conf
5. /dev – ไฟล์อุปกรณ์
- มีไฟล์อุปกรณ์
- ซึ่งรวมถึงอุปกรณ์เทอร์มินัล usb หรืออุปกรณ์ใดๆ ที่เชื่อมต่อกับระบบ
- ตัวอย่าง:/dev/tty1, /dev/usbmon0
6. /proc – ข้อมูลกระบวนการ
- มีข้อมูลเกี่ยวกับกระบวนการของระบบ
- นี่คือระบบไฟล์หลอกที่มีข้อมูลเกี่ยวกับกระบวนการที่กำลังทำงานอยู่ ตัวอย่างเช่น:/proc/{pid} ไดเร็กทอรีมีข้อมูลเกี่ยวกับกระบวนการกับ pid นั้น
- นี่คือระบบไฟล์เสมือนที่มีข้อมูลข้อความเกี่ยวกับทรัพยากรระบบ ตัวอย่างเช่น:/proc/uptime
7. /var – ไฟล์ตัวแปร
- var ย่อมาจากไฟล์ตัวแปร
- เนื้อหาของไฟล์ที่คาดว่าจะขยายสามารถพบได้ในไดเร็กทอรีนี้
- ซึ่งรวมถึง — ไฟล์บันทึกของระบบ (/var/log); แพ็คเกจและไฟล์ฐานข้อมูล (/var/lib); อีเมล (/var/mail); คิวการพิมพ์ (/var/spool); ล็อคไฟล์ (/var/lock); ไฟล์ชั่วคราวที่จำเป็นในการรีบูต (/var/tmp);
8. /tmp – ไฟล์ชั่วคราว
- ไดเร็กทอรีที่มีไฟล์ชั่วคราวที่สร้างโดยระบบและผู้ใช้
- ไฟล์ภายใต้ไดเร็กทอรีนี้จะถูกลบเมื่อระบบรีบูต
9. /usr – โปรแกรมผู้ใช้
- ประกอบด้วยไบนารี ไลบรารี เอกสาร และซอร์สโค้ดสำหรับโปรแกรมระดับที่สอง
- /usr/bin มีไฟล์ไบนารีสำหรับโปรแกรมผู้ใช้ หากคุณไม่พบไบนารีของผู้ใช้ภายใต้ /bin ให้ดูที่ /usr/bin ตัวอย่างเช่น:at, awk, cc, less, scp
- /usr/sbin มีไฟล์ไบนารีสำหรับผู้ดูแลระบบ หากคุณไม่พบไบนารีของระบบภายใต้ /sbin ให้ดูที่ /usr/sbin ตัวอย่างเช่น:atd, cron, sshd, useradd, userdel
- /usr/lib มีไลบรารีสำหรับ /usr/bin และ /usr/sbin
- /usr/local มีโปรแกรมผู้ใช้ที่คุณติดตั้งจากแหล่งที่มา ตัวอย่างเช่น เมื่อคุณติดตั้ง apache จากแหล่งที่มา มันจะอยู่ภายใต้ /usr/local/apache2
10. /home – โฮมไดเร็กตอรี่
- โฮมไดเร็กตอรี่สำหรับผู้ใช้ทุกคนในการจัดเก็บไฟล์ส่วนตัว
- ตัวอย่างเช่น:/home/john, /home/nikita
11. /boot – ไฟล์บูตโหลดเดอร์
- มีไฟล์ที่เกี่ยวข้องกับบูตโหลดเดอร์
- ไฟล์ Kernel initrd, vmlinux, grub อยู่ภายใต้ /boot
- ตัวอย่างเช่น:initrd.img-2.6.32-24-generic, vmlinuz-2.6.32-24-generic
12. /lib – ไลบรารีระบบ
- ประกอบด้วยไฟล์ไลบรารีที่รองรับไบนารีที่อยู่ภายใต้ /bin และ /sbin
- ชื่อไฟล์ไลบรารีเป็น ld* หรือ lib*.so.*
- ตัวอย่างเช่น:ld-2.11.1.so, libncurses.so.5.7
13. /opt – แอปพลิเคชันเสริมเสริม
- opt ย่อมาจาก option
- มีแอปพลิเคชันเสริมจากผู้ขายแต่ละราย
- แอปพลิเคชันเสริมควรติดตั้งภายใต้ไดเร็กทอรีย่อย /opt/ หรือ /opt/
14. /mnt – เมานต์ไดเร็กทอรี
- ไดเร็กทอรีเมาต์ชั่วคราวที่ผู้ดูแลระบบสามารถติดตั้งระบบไฟล์ได้
15. /media – อุปกรณ์สื่อแบบถอดได้
- ไดเร็กทอรีเมานท์ชั่วคราวสำหรับอุปกรณ์แบบถอดได้
- ตัวอย่างเช่น /media/cdrom สำหรับซีดีรอม; /media/ฟล็อปปี้ดิสก์สำหรับฟล็อปปี้ไดรฟ์; /media/cdrecorder สำหรับนักเขียนซีดี
16. /srv – ข้อมูลบริการ
- srv ย่อมาจาก การบริการ
- มีข้อมูลที่เกี่ยวข้องกับบริการเฉพาะเซิร์ฟเวอร์
- ตัวอย่างเช่น /srv/cvs มีข้อมูลที่เกี่ยวข้องกับ CVS