ระบบรูทลินุกซ์ ระบบไฟล์ Linux และโครงสร้างไดเร็กทอรี ดูเนื้อหาไดเร็กทอรี

ระบบไฟล์ Linux มีโครงสร้างไดเร็กทอรีและไฟล์ที่ชัดเจน ในบทความนี้เราจะดูที่ งานสั้น ๆแต่ละไดเร็กทอรี

ระบบไฟล์ Linux มีหลายไดเร็กทอรี ซึ่งส่วนใหญ่ถูกกำหนดโดย FHS (Filesystem Hierarchy Standard)

ชื่อของบทความประกอบด้วยคำว่า "ไดเรกทอรี" "ไดเรกทอรี" และ "โฟลเดอร์" มาดูพวกเขากันดีกว่า

ไดเร็กทอรีหรือไดเร็กทอรีคืออ็อบเจ็กต์ในระบบไฟล์ที่ทำให้การจัดไฟล์ง่ายขึ้น

โฟลเดอร์เป็นคำที่ใช้แทนไดเร็กทอรีในส่วนติดต่อผู้ใช้แบบกราฟิก

ดังนั้นคำทั้งหมดนี้จึงมีความหมายเหมือนกัน เพื่อความสะดวกเราจะใช้คำว่าแค็ตตาล็อกในบทความนี้เพราะว่า ฉันคิดว่ามันเหมาะสมที่สุด (ความเห็นส่วนตัวของฉัน)

โครงสร้างทั่วไปของระบบไฟล์ Linux OS

ขึ้นอยู่กับการใช้งาน การกระจายลินุกซ์แคตตาล็อกที่นำเสนอบางส่วนอาจไม่มีอยู่ หรือในทางกลับกัน อาจมีแคตตาล็อกอื่น ๆ ที่ไม่ได้นำเสนอที่นี่ ฉันพยายามรวบรวมและอธิบายเฉพาะไดเร็กทอรีที่พบบ่อยที่สุดใน Linux OS

/ - ไดเรกทอรีราก

ไดเร็กทอรีหลักคือที่เก็บทุกอย่างบน Linux OS ของคุณ ทั้งหมด พาร์ติชันลินุกซ์จะถูกจัดเก็บเป็นไดเร็กทอรีย่อยอื่นภายใต้ไดเร็กทอรีราก /

/bin - ไฟล์ไบนารีหลัก (โปรแกรม)

ประกอบด้วยไบนารีพื้นฐาน (ไบนารี) โปรแกรมระบบ(โมดูล) ยูทิลิตี้ (ls, cp ฯลฯ) และ เปลือกหอย(ทุบตี ฯลฯ ) ซึ่งควรให้ประสิทธิภาพระบบขั้นต่ำในโหมดผู้ใช้คนเดียว การวางไฟล์เหล่านี้ในไดเร็กทอรี /bin ทำให้แน่ใจได้ว่าระบบจะมียูทิลิตีที่สำคัญเหล่านี้ แม้ว่าระบบไฟล์อื่นไม่ได้ถูกเมาท์ก็ตาม

/boot - ไฟล์สำหรับโหลดระบบปฏิบัติการ

อิมเมจเคอร์เนล Linux และไฟล์ตัวจัดการการบูต (ด้วง, ไลโล ฯลฯ ) จะถูกจัดเก็บ

/cdrom - จุดเมานต์สำหรับซีดี

ไดเร็กทอรีนี้ไม่ได้เป็นส่วนหนึ่งของมาตรฐาน FHS แต่มีอยู่ใน Ubuntu และการแจกแจง ใช้เป็นที่สำหรับเมานต์ไดรฟ์ซีดีรอม

/dev - ไฟล์อุปกรณ์

ใน Linux อุปกรณ์ทั้งหมดจะถูกจัดเตรียมเป็นไฟล์เฉพาะที่อยู่ในไดเร็กทอรีนี้ ตัวอย่างเช่น ไฟล์ /dev/sda เป็นตัวแทน ไดรฟ์ซาต้า- นอกจากนี้ ไฟล์อุปกรณ์หลอก (เสมือน) จะถูกจัดเก็บไว้ในไดเร็กทอรีนี้ ซึ่งไม่มีไฟล์ที่เกี่ยวข้องกัน อุปกรณ์จริง- ตัวอย่างเช่น ไฟล์ /dev/random สร้างขึ้น ตัวเลขสุ่มและไฟล์ /dev/null คือ อุปกรณ์พิเศษเพื่อลบข้อมูลที่ป้อนทั้งหมด

/etc - ไฟล์คอนฟิกูเรชัน

ประกอบด้วยไฟล์การกำหนดค่าหลัก ระบบปฏิบัติการและ โปรแกรมต่างๆ.

/home - โฮมไดเร็กตอรี่ของผู้ใช้

มีโฮมไดเร็กทอรีของผู้ใช้ ตามอุดมการณ์ UNIX เพื่อรับรองความปลอดภัยของระบบปฏิบัติการ ขอแนะนำให้จัดเก็บข้อมูลผู้ใช้ไว้ในไดเร็กทอรีนี้ ตัวอย่างเช่น หากชื่อผู้ใช้ของคุณคือ mara คุณจะมีโฮมไดเร็กทอรีซึ่งก็คือ /home/mara และมีไฟล์การกำหนดค่าผู้ใช้และ ข้อมูลส่วนบุคคล- ผู้ใช้แต่ละรายมีสิทธิ์ในการเขียนไปยังโฮมไดเร็กตอรี่ของตนเท่านั้น

/lib - ไลบรารีหลัก

ไดเร็กทอรีนี้มีไว้สำหรับจัดเก็บไลบรารีระบบและส่วนประกอบคอมไพเลอร์ C ที่จำเป็นสำหรับการทำงานของโปรแกรมจากไดเร็กทอรี /bin และ /sbin และระบบปฏิบัติการโดยรวม

/lib64 - ไลบรารีหลัก 64 บิต

ไดเร็กทอรีนี้ส่วนใหญ่อยู่บนระบบ 64 บิต และมีชุดของไลบรารีและส่วนประกอบคอมไพเลอร์ C สำหรับโปรแกรม 64 บิต

/lost+found - ไฟล์ที่กู้คืน

นำเสนอบนระบบปฏิบัติการ Linux ทั้งหมด ในกรณีที่เกิดความผิดปกติ ระบบไฟล์และตรวจสอบระบบไฟล์เพิ่มเติม (เมื่อโหลด OS) ทั้งหมดที่พบ ไฟล์ที่เสียหายจะถูกวางไว้ในไดเร็กทอรี Lost+found คุณสามารถลองกู้คืนได้

/media - จุดสำหรับการติดตั้งอัตโนมัติ

ใช้สำหรับ ติดตั้งอัตโนมัติ อุปกรณ์ต่างๆซีดีรอม ไดรฟ์ USB ฯลฯ

/mnt - จุดสำหรับการติดตั้งแบบแมนนวล

ใช้สำหรับการติดตั้งแบบแมนนวลชั่วคราว (โดยใช้ คำสั่งเมานต์) อุปกรณ์ต่างๆ เช่น ซีดีรอม ไดรฟ์ USB เป็นต้น

/opt - แพ็คเกจซอฟต์แวร์เสริม

มีไดเร็กทอรีย่อยสำหรับ แพ็คเกจเพิ่มเติมซอฟต์แวร์. ไดเร็กทอรีนี้ถูกใช้อย่างกว้างขวางโดยกรรมสิทธิ์ ซอฟต์แวร์ซึ่งไม่เป็นไปตามลำดับชั้นของระบบไฟล์มาตรฐาน

/proc – ไฟล์เคอร์เนลและกระบวนการ

ระบบไฟล์เสมือน procfs ถูกเมาท์ในไดเร็กทอรีนี้ ประกอบด้วย ไฟล์พิเศษซึ่งให้ข้อมูลเกี่ยวกับระบบและกระบวนการที่ทำงานอยู่ ตัวอย่างเช่น ไฟล์ /proc/cpuinfo เก็บข้อมูลเกี่ยวกับโปรเซสเซอร์

/root - โฮมไดเร็กทอรีของผู้ใช้รูท

โฮมไดเร็กตอรี่ ผู้ใช้รูท- แทนที่จะอยู่ใน /home/root ไฟล์จะถูกวางไว้ใน /root เพื่อให้ระบบมีความน่าเชื่อถือมากขึ้น

/run – ไฟล์สถานะแอปพลิเคชัน

เป็นไดเร็กทอรีที่ค่อนข้างใหม่ที่ช่วยให้แอปพลิเคชันจัดเก็บไฟล์สนับสนุนที่ต้องการ เช่น ซ็อกเก็ตและรหัสกระบวนการ ในลักษณะมาตรฐาน ไฟล์เหล่านี้ไม่ควรถูกเก็บไว้ในไดเร็กทอรี /tmp เนื่องจากไฟล์เหล่านี้อาจถูกลบไปที่นั่น

/sbin - ไฟล์ไบนารี (โปรแกรม) สำหรับการดูแลระบบ

ไดเร็กทอรี /sbin คล้ายกับไดเร็กทอรี /bin ประกอบด้วยไฟล์ไบนารีที่สำคัญซึ่งโดยทั่วไปตั้งใจให้ผู้ใช้รันเมื่อดูแลระบบ

/selinux – ระบบไฟล์เสมือน SELinux

ในการแจกแจงบางส่วน ( หมวกแดง, Fedora ฯลฯ) เพื่อรับรองความปลอดภัย มีการใช้แพ็คเกจ SELinux (Security-Enhanced Linux) และสร้างไดเร็กทอรีที่มีไฟล์ /selinux

/srv – ข้อมูลบริการ

ไดเร็กทอรีนี้ไม่ปรากฏในการแจกแจงทั้งหมด มี "ข้อมูลสำหรับบริการที่จัดทำโดยระบบ" (เช่น เซิร์ฟเวอร์อาปาเช่สามารถเก็บไฟล์เว็บไซต์ของคุณไว้ในไดเร็กทอรีนี้ได้) ในกรณีส่วนใหญ่ไดเร็กทอรีจะว่างเปล่า

/sys - ระบบไฟล์เสมือน sysfs

ไดเร็กทอรีนี้ปรากฏขึ้นพร้อมการเปิดตัวเคอร์เนลเวอร์ชัน 2.6 และระบบไฟล์เสมือน sysfs พร้อมข้อมูลเกี่ยวกับอุปกรณ์ ไดรเวอร์ เคอร์เนลระบบปฏิบัติการ ฯลฯ ติดตั้งอยู่ในนั้น

คำอธิบายของไดเรกทอรีย่อย:

/sys/block - มีไดเร็กทอรีของอุปกรณ์บล็อกทั้งหมดที่มีอยู่ใน ในขณะนี้ในระบบ

/sys/bus - มีรายการรถบัสที่กำหนดไว้ เคอร์เนลลินุกซ์(eisa, pci ฯลฯ)

/sys/class - ประกอบด้วยรายการอุปกรณ์ที่จัดกลุ่มตามคลาส (เครื่องพิมพ์ อุปกรณ์ scsi ฯลฯ)

/tmp - ไฟล์ชั่วคราว

ไฟล์ชั่วคราวมักจะถูกลบเมื่อรีบูตระบบ มันคล้ายคลึงกับ C:/Windows/Temp ใน Windows OS ผู้ใช้ทุกคนมีสิทธิ์ในการอ่านและเขียนในไดเร็กทอรีนี้

/usr - ไบนารีแบบอ่านอย่างเดียวของผู้ใช้

ไดเร็กทอรีนี้มีแอปพลิเคชันและไฟล์ที่ใช้โดยผู้ใช้เท่านั้น ไม่ใช่โดยระบบเอง

คำอธิบายของไดเรกทอรีย่อย:

/usr/bin - ไฟล์ปฏิบัติการสำหรับทุกบัญชี

/usr/games - ไดเรกทอรีสำหรับ เกมคอมพิวเตอร์ในระบบ

/usr/include - ไฟล์ส่วนหัวสำหรับคอมไพล์โปรแกรม C

/usr/lib - ไลบรารีระบบและไฟล์เสริมที่อยู่ในไดเร็กทอรี /usr

/usr/local - แอปพลิเคชันที่คอมไพล์ในเครื่องได้รับการติดตั้งในไดเร็กทอรีนี้ ซึ่งช่วยให้แอปพลิเคชันไม่ปะปนกับส่วนที่เหลือของระบบ

/usr/local/bin - ไฟล์ปฏิบัติการในเครื่อง

/usr/local/etc - ท้องถิ่น คำสั่งของระบบและไฟล์คอนฟิกูเรชัน

/usr/local/lib - ไฟล์เสริมในเครื่อง

/usr/local/sbin - คำสั่งระบบบริการโลคัล

/usr/local/src - ซอร์สโค้ดสำหรับโปรแกรมในไดเร็กทอรี /usr/local/*

/usr/man - หน้าเอกสารเชิงโต้ตอบ

/usr/sbin - คำสั่งที่สำคัญน้อยกว่า การบริหารระบบ.

/usr/share - ข้อมูลทั่วไป โปรแกรมที่ติดตั้ง(อ่านอย่างเดียว)

/usr/share/man - หน้าเอกสารเชิงโต้ตอบ

/usr/share/icons - ไอคอนระบบ

/usr/share/doc - เอกสารอ้างอิง

/usr/src - ซอร์สโค้ดที่ไม่ใช่โลคัล แพคเกจซอฟต์แวร์(เช่น ที่นี่จะตั้งอยู่ ซอร์สโค้ดเมล็ดพืช)

/var - ไดเร็กทอรีสำหรับข้อมูลที่เปลี่ยนแปลงบ่อยครั้ง

ไดเร็กทอรีนี้มีบันทึกระบบปฏิบัติการ ไฟล์บันทึกของระบบ, ไฟล์แคช ฯลฯ

/var/adm - ไฟล์บันทึก บันทึกการติดตั้งระบบ ส่วนประกอบการดูแลระบบ

/var/cache - แคชทั้งหมดสำหรับโปรแกรมต่างๆ

/var/games - ไฟล์ที่มีความสำเร็จของเกม

/var/log - ไฟล์บันทึกของระบบ (ไฟล์บันทึก)

/var/lock - มีไฟล์ล็อคที่ระบุว่าทรัพยากรบางส่วนไม่ว่าง

/var/lib - ปรับเปลี่ยนโปรแกรมได้ในกระบวนการทำงาน (เช่น ฐานข้อมูล เมตาดาต้า เป็นต้น)

/var/spool - ไดเร็กทอรีสปูล (เช่น คิวการพิมพ์ ข้อความที่ยังไม่ได้อ่านหรือยังไม่ได้ส่ง งานครอนฯลฯ)

/var/tmp - ไดเร็กทอรีสำหรับจัดเก็บไฟล์ชั่วคราว

/var/www - โฮสต์เว็บเพจสำหรับเซิร์ฟเวอร์ Apache

คุณสามารถดูโครงสร้างระบบไฟล์ได้โดยใช้คำสั่ง ls -la ด้านล่างนี้เป็นตัวอย่างของเอาต์พุตคำสั่งสำหรับการแจกจ่าย OpenSUSE

# ls -la รวม 260 drwxr-xr-x 24 รูตรูต 4096 30 ส.ค. 2556 drwxr-xr-x 24 รูท 4096 30 ส.ค. 2556 .. drwxr-xr-x 2 รูท 4096 8 ส.ค. 2555 .config -rw-r--r-- 1 รูทรูท 149519 30 ส.ค. 2556 .readahead drwxr-xr- x 2 รูต รูท 4096 8 ส.ค. 2555 bin drwxr-xr-x 3 รูต รูต 4096 8 ส.ค. 2555 บูต drwxr-xr-x 18 รูต รูท 3340 16 พฤษภาคม 16:29 dev drwxr-xr-x 122 รูต รูท 12288 27 มิ.ย. 2556 เป็นต้น drwxr-xr-x 4 รูต รูท 4096 21 ก.ย. 2555 หน้าแรก drwxr-xr-x 16 รูท รูท 4096 23 ส.ค. 2555 lib drwxr-xr-x 10 รูต รูต 12288 23 ส.ค. 2555 lib64 drwx------ 2 รูทรูต 16384 8 ส.ค. 2555 สูญหาย + พบ drwxr-xr-x 2 รูทรูท 40 11 ธ.ค. 2556 สื่อ drwxr-xr-x 2 รูทรูท 4096 25 ต.ค. 2554 mnt drwxr-xr-x 3 รูทรูท 4096 23 ส.ค. 2555 เลือก dr-xr-xr -x 194 root root 0 11 ธันวาคม 2013 proc drwx------ 31 root root 4096 10 มิถุนายน 14:38 root drwxr-xr-x 23 root root 780 9 กรกฎาคม 17:39 รัน drwxr-xr-x 3 root root 12288 8 ส.ค. 2555 sbin drwxr-xr-x 2 รูต 4096 25 ต.ค. 2554 selinux drwxr-xr-x 6 ผู้ใช้ 1,004 คน 4096 21 ก.ย. 2555 srv drwxr-xr-x 12 รูทรูต 0 11 ธ.ค. 2556 sys drwxrwxrwt 95 รูต 4096 ก.ค 9 17:39 tmp drwxr-xr-x 13 รูตรูท 4096 10 พ.ย. 2554 usr drwxr-xr-x 16 รูทรูท 4096 9 ส.ค. 2555 var

แค่นั้นแหละ. การพิจารณาวัตถุประสงค์ของไดเร็กทอรีหลักที่พบในระบบไฟล์ Linux เสร็จสิ้นแล้ว

ใน "ระบบปฏิบัติการ" ลินุกซ์ระบบไฟล์ทั้งหมดมีโครงสร้างที่เป็นระเบียบและเฉพาะเจาะจง ผู้ใช้มือใหม่ที่เพิ่งย้ายจาก หน้าต่างตามกฎแล้วจะประสบปัญหาบางอย่างเนื่องจากขาดความคิดที่ชัดเจนเกี่ยวกับความเป็นเจ้าของแต่ละไดเร็กทอรี เนื้อหาทั้งหมดที่นำเสนอด้านล่างควรเติมเต็มช่องว่างนี้

โครงสร้างไดเร็กทอรี ลินุกซ์.

(หากต้องการย้ายจากตารางไปยังคำอธิบายไดเร็กทอรี คุณต้องคลิกที่ชื่อไดเร็กทอรี หากต้องการให้เพจกลับไปด้านบน คุณต้องคลิกที่สี่เหลี่ยมที่มีลูกศรอยู่ที่มุมขวาล่างของหน้าจอ)

คำอธิบายสั้น ๆ

/พาร์ติชันราก

พาร์ทิชันราก

ไดเร็กทอรีนี้ประกอบด้วยชุดคำสั่ง OS หลัก ซึ่งรวมถึงคำสั่งเชลล์และระบบไฟล์: แอลซีพีฯลฯ...

นี่คือที่เก็บเคอร์เนลอิมเมจ รวมถึงโปรแกรมโหลดบูต: ด้วงหรือ ลิโล่ฯลฯ...

ไฟล์ที่เกี่ยวข้องกับ อุปกรณ์บางอย่างเชื่อมต่อกับ "OS" ความจริงก็คือว่าในระบบปฏิบัติการ ลินุกซ์อุปกรณ์ใดๆ ที่เกี่ยวข้องกับไฟล์เฉพาะ เช่น ไม่ว่าจะเป็นเครื่องพิมพ์ สแกนเนอร์ ฮาร์ดไดรฟ์ฯลฯ ทุกสิ่งก็ควรมีในตัวเอง ไฟล์ของตัวเองที่จะได้รับ การเข้าถึงที่จำเป็นไปยังอุปกรณ์เครื่องใดเครื่องหนึ่ง

นี่คือตำแหน่งที่เก็บข้อมูลสำหรับไฟล์การกำหนดค่าระบบปฏิบัติการ เช่น การตั้งค่าเครือข่าย ผู้ใช้ กลุ่ม และแอปพลิเคชัน เช่น Apache, Samba เป็นต้น ฯลฯ

ไดเร็กทอรีนี้สามารถเก็บ "ข้อมูล" ส่วนบุคคลทั้งหมดของผู้ใช้ได้ด้วย โดยทั่วไปคุณในฐานะเจ้าของเครื่องนั้นมีสิทธิ์ที่จะเก็บ "ข้อมูล" ของคุณไว้ทุกที่ที่คุณต้องการ แต่เพื่อความปลอดภัยของระบบควรเก็บไว้ที่นี่จะดีกว่าและขอแนะนำให้สร้างไดเร็กทอรี ตัวเองไปสู่ความเป็นอิสระ ส่วนที่ยากดิสก์.

/home/ชื่อผู้ใช้

นี้ด้วย โฮมโฟลเดอร์แต่เฉพาะผู้ใช้ "ชื่อผู้ใช้" เท่านั้น ไฟล์การกำหนดค่าสำหรับการตั้งค่าแอปพลิเคชันและข้อมูลส่วนบุคคลจะถูกเก็บไว้ที่นี่ หากมีผู้ใช้จำนวนมาก ทุกคนก็จะมีไดเร็กทอรีส่วนตัวสำหรับไฟล์ดังกล่าว นอกจากนี้ยังมีโฟลเดอร์ superuser "root" ซึ่งอยู่ที่รูทของระบบไฟล์ การแบ่งไดเร็กทอรีนี้จาก ไฟล์ระบบเพิ่มความน่าเชื่อถืออย่างมากและทำให้กระบวนการสำรองข้อมูลง่ายขึ้นอย่างมาก

ไฟล์ที่ไม่มีลิงก์จากไดเร็กทอรีอื่นทั้งหมดจะถูกทิ้งที่นี่ แม้ว่า "inod" จะไม่มีป้ายกำกับ "unused" ก็ตาม ตัวอย่างเช่น คุณลบไฟล์ และในขณะนั้นแหล่งจ่ายไฟก็เกิดขึ้น ด้วยเหตุนี้ จึงเกิด "inod" ที่หายไปในระบบ ซึ่งมีเส้นทางไปยังไฟล์ แต่ไฟล์หายไป ถัดไปใน ext2 (ไม่ได้บันทึก) "fsck" ค้นหา "inod" สร้างลิงก์ใน Lost+found หลังจากนั้นคุณสามารถดูไฟล์และทำให้ทุกอย่างเป็นมาตรฐาน ใน ext3 (บันทึก) "fsck" จะตรวจสอบบันทึกและพิจารณาว่าการดำเนินการไม่สมบูรณ์ จากนั้นจึงย้อนกลับ ดังนั้นใน "FS" ที่บันทึกไว้จึงมี inod ที่สูญหายน้อยกว่ามาก

พื้นที่นี้มีไลบรารีระบบที่รับรองการทำงานของแอปพลิเคชันที่อยู่ใน /bin, /sbin และ “OS” ทั่วโลก

ออกแบบมาสำหรับอุปกรณ์ติดตั้งอัตโนมัติ: USB, CD-ROM ฯลฯ เมื่อเปิดใช้งานอุปกรณ์ใดๆ อุปกรณ์จะเชื่อมต่อกับไดเร็กทอรีที่เกี่ยวข้องในไดเร็กทอรีนี้โดยอัตโนมัติ

จริงๆ แล้วไดเร็กทอรีนี้เหมือนกับไดเร็กทอรี /media ก่อนหน้า ข้อแตกต่างเพียงอย่างเดียวคือไดเร็กทอรีนี้ถูกใช้ ประเภทคู่มือการเชื่อมต่อคือเมื่อมีการดำเนินการคำสั่ง "mount"

พวกเขากำลังหยั่งรากลึกในบริเวณนี้ แอปพลิเคชันที่ติดตั้งกับ ขนาดใหญ่หรือแพ็คเกจเพิ่มเติม เช่น /opt/libreoffice.org

“procfs” ติดตั้งอยู่ที่นี่ ซึ่งเป็น “FS” เสมือนที่สามารถรับข้อมูลได้หลากหลาย สมมติว่าคุณต้องค้นหาว่าโมดูลเคอร์เนลใดถูกโหลด ซึ่งจะเป็นไฟล์ - /proc/modules หรือรับข้อมูลเกี่ยวกับโปรเซสเซอร์ - /proc/cpuinfo

นี่คือโฮมไดเร็กตอรี่ของผู้ใช้ระดับสูง ไดเรกทอรีนี้เหมือนกับไดเร็กทอรีของผู้ใช้และอยู่ที่รูทของระบบไฟล์ หากคุณประสบปัญหาในการเข้าถึง /home โดยกะทันหัน ให้เข้าสู่ระบบด้วยสิทธิ์ superuser
คุณสามารถแก้ไขปัญหานี้ได้เสมอ

ระบบก็มี โปรแกรมพิเศษสำหรับ การตั้งค่าต่างๆและฝ่ายบริหารก็จำเป็นต้อง "อยู่" ที่ไหนสักแห่งเช่นกัน

พารามิเตอร์ระบบเฉพาะ ในกรณีส่วนใหญ่จะว่างเปล่า

ไดเร็กทอรีนี้ถูกใช้ตั้งแต่เคอร์เนล v_2.6 และ “sysfs” ถูกเมาท์เข้ากับไดเร็กทอรีนี้ พร้อมด้วยข้อมูลเกี่ยวกับเคอร์เนล อุปกรณ์ และไดรเวอร์

นี่คือไดเร็กทอรีของอุปกรณ์บล็อกที่มีอยู่ในระบบแบบเรียลไทม์

รายชื่อรถบัสหลัก: eisa, pci ฯลฯ ฯลฯ

รายการอุปกรณ์ที่จัดกลุ่มตามหมวดหมู่: เครื่องพิมพ์ อุปกรณ์ SCSI ฯลฯ ฯลฯ

นี่เป็นน้องชายของโฟลเดอร์ "Temp" ใน Windows สำหรับจัดเก็บไฟล์ชั่วคราว ผู้ใช้ทุกคนสามารถอ่านและเขียนได้

สถานที่ แพ็คเกจที่ติดตั้งโปรแกรม เอกสารประกอบ รหัสเคอร์เนล X Window เข้าถึง "รูท" ได้อย่างเต็มที่ ห้ามมิให้ผู้อื่นยกเว้นการอ่าน สามารถนำไปใช้กับไดเร็กทอรีได้ การติดตั้งเครือข่ายและสถานะทั่วไปของคอมพิวเตอร์หลายเครื่อง

/usr/bin bin2

ที่ตั้ง แอปพลิเคชันเพิ่มเติมสำหรับทุกบัญชี

แหล่งรวมของ "ความบันเทิง" หรืออีกนัยหนึ่งคือเกม

ไฟล์ส่วนหัว C++

/usr/lib lib2

ไลบรารีระบบสำหรับแอปพลิเคชันใน /usr

ตามหลักการแล้ว /usr ควรมีสถานะ "แชร์" และติดตั้งผ่านเครือข่าย - /usr/local ควรมีแพ็คเกจแอปพลิเคชันบนอุปกรณ์ท้องถิ่น ตัวอย่างเช่น: /usr - งบประมาณครอบครัว, /usr/local - รายได้ส่วนบุคคล

ตามกฎแล้วในแพ็คเกจ Ubuntu แพ็คเกจ "ที่เกี่ยวข้อง" จะอยู่ใน /usr ซึ่งเป็นแพ็คเกจของตัวเอง และใน /usr/local แพ็คเกจเหล่านั้นจะถูกรวบรวมจากแหล่งที่มา ซึ่งไม่เกี่ยวข้องกับการแจกจ่ายใด ๆ โดยเฉพาะ

แอปพลิเคชันระบบเพิ่มเติม

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

ตัวอย่างเช่น โปรแกรม less จะอยู่ในไดเร็กทอรี /usr/bin แต่ทำไมไม่อยู่ใน /sbin หรือ /usr/sbin และโปรแกรมต่างๆ เช่น ifconfig หรือ fdisk จะอยู่ในไดเร็กทอรี /sbin และไม่มีที่อื่นอีก

บทความนี้จะครอบคลุมถึงโครงสร้างของระบบไฟล์ Linux โดยสมบูรณ์ หลังจากอ่านแล้ว คุณจะสามารถเข้าใจวัตถุประสงค์ของการใช้โฟลเดอร์ส่วนใหญ่ในไดเร็กทอรีรากของ Linux ได้

/ - รูต

นี่คือไดเร็กทอรีหลักบนระบบ Linux โดยพื้นฐานแล้วนี่คือระบบไฟล์ Linux ไม่มีดิสก์หรืออะไรทำนองนั้นใน Windows ที่อยู่ไฟล์ทั้งหมดจะเริ่มต้นที่รากและ ส่วนเพิ่มเติม, แฟลชไดรฟ์ หรือ แผ่นดิสก์แสงเชื่อมต่อกับโฟลเดอร์ของไดเร็กทอรีราก

โปรดทราบว่าผู้ใช้รูทมีโฮมไดเร็กตอรี่เป็น /root แต่ไม่ใช่ / ตัวเอง

/bin - (ไบนารี) ไฟล์ไบนารีของผู้ใช้

ไดเร็กทอรีนี้มีไฟล์ปฏิบัติการ ต่อไปนี้เป็นโปรแกรมที่สามารถใช้ได้ในโหมดผู้ใช้คนเดียวหรือโหมดการกู้คืน กล่าวอีกนัยหนึ่ง ยูทิลิตี้เหล่านั้นที่สามารถใช้ได้ยังไม่ได้เชื่อมต่อกับไดเร็กทอรี /usr/ สิ่งเหล่านี้เป็นเช่นนี้ คำสั่งทั่วไปเช่น cat, ls, tail, ps เป็นต้น

/sbin - (ไบนารีระบบ) ไฟล์ปฏิบัติการของระบบ

เช่นเดียวกับ /bin มันมีไฟล์ปฏิบัติการแบบไบนารีที่พร้อมใช้งานในช่วงเริ่มต้นของการบูต เมื่อไดเร็กทอรี /usr ไม่ได้ถูกเมาท์ แต่มีโปรแกรมที่นี่ที่สามารถดำเนินการได้ด้วยสิทธิ์ superuser เท่านั้น นี้ สาธารณูปโภคต่างๆเพื่อการบำรุงรักษาระบบ ตัวอย่างเช่น iptables, รีบูต, fdisk, ifconfig, swapon ฯลฯ

/etc - (etcetera) ไฟล์คอนฟิกูเรชัน

โฟลเดอร์นี้ประกอบด้วยไฟล์การกำหนดค่าของโปรแกรมทั้งหมดที่ติดตั้งบนระบบ

นอกเหนือจากไฟล์คอนฟิกูเรชันแล้ว ระบบการเริ่มต้นสคริปต์ Init ยังมีสคริปต์สำหรับการเริ่มต้นและสิ้นสุด daemons ระบบ การเมาท์ระบบไฟล์ และการสตาร์ทโปรแกรม โครงสร้าง ไดเรกทอรีลินุกซ์โฟลเดอร์นี้อาจสร้างความสับสนเล็กน้อย แต่จุดประสงค์ทั้งหมดคือการตั้งค่าและการกำหนดค่า

/dev - (อุปกรณ์) ไฟล์อุปกรณ์

ทุกอย่างใน Linux รวมถึง อุปกรณ์ภายนอกเป็นไฟล์. ดังนั้นแฟลชไดรฟ์ คีย์บอร์ด ไมโครโฟน กล้องที่เชื่อมต่อทั้งหมดจึงเป็นเพียงไฟล์ในไดเร็กทอรี /dev/ ไดเร็กทอรีนี้มีระบบไฟล์ที่ผิดปกติ โครงสร้างระบบไฟล์ Linux และไฟล์ที่อยู่ในโฟลเดอร์ /dev จะถูกเตรียมใช้งานเมื่อระบบบูทโดยบริการ udev อุปกรณ์ที่เชื่อมต่อทั้งหมดจะถูกสแกนและสร้างไฟล์พิเศษสำหรับอุปกรณ์เหล่านั้น อุปกรณ์เหล่านี้ได้แก่: /dev/sda, /dev/sr0, /dev/tty1, /dev/usbmon0 เป็นต้น

/proc - (กระบวนการ) ข้อมูลเกี่ยวกับกระบวนการ

นี่เป็นระบบไฟล์ที่ผิดปกติเช่นกัน แต่เป็นระบบย่อยที่สร้างขึ้นโดยเคอร์เนลแบบไดนามิก ที่นี่คุณจะพบข้อมูลทั้งหมดเกี่ยวกับ กระบวนการทำงานอยู่แบบเรียลไทม์ โดยพื้นฐานแล้วมันเป็นระบบไฟล์หลอกที่มี ข้อมูลรายละเอียดเกี่ยวกับแต่ละกระบวนการ, Pid, ​​ชื่อของไฟล์ปฏิบัติการ, พารามิเตอร์เรียกใช้, การเข้าถึง แรมและอื่น ๆ คุณยังสามารถค้นหาข้อมูลเกี่ยวกับวิธีการใช้งานได้ที่นี่ ทรัพยากรระบบตัวอย่างเช่น /proc/cpuinfo, /proc/meminfo หรือ /proc/uptime นอกจากไฟล์ในไดเร็กทอรีนี้ยังมี โครงสร้างขนาดใหญ่โฟลเดอร์ Linux ซึ่งคุณสามารถค้นหาข้อมูลมากมายเกี่ยวกับระบบได้

/var (ตัวแปร) - ไฟล์ตัวแปร

ชื่อของไดเร็กทอรี /var อธิบายได้ในตัว ควรมีไฟล์ที่เปลี่ยนแปลงบ่อยครั้ง ขนาดของไฟล์เหล่านี้เพิ่มขึ้นอย่างต่อเนื่อง ไฟล์ต่างๆ อยู่ที่นี่ บันทึกของระบบ, แคช, ฐานข้อมูลต่างๆ และอื่นๆ ต่อไปเราจะมาดูวัตถุประสงค์ของไดเร็กทอรี Linux ในโฟลเดอร์ /var/

/var/log - ไฟล์บันทึก

/var/lib - ฐานข้อมูล

อีกประเภทหนึ่ง ไฟล์ที่ถูกแก้ไข- นี่คือไฟล์ฐานข้อมูล แพ็คเกจที่บันทึกไว้ ผู้จัดการแพ็คเกจฯลฯ

/var/mail - เมล

ไปที่โฟลเดอร์นี้ เมลเซิร์ฟเวอร์รวมการรับหรือส่งทั้งหมด อีเมลบันทึกและไฟล์การกำหนดค่าอาจอยู่ที่นี่ด้วย

/var/spool - เครื่องพิมพ์

เริ่มแรก โฟลเดอร์นี้รับผิดชอบคิวการพิมพ์บนเครื่องพิมพ์และการทำงานของชุดโปรแกรม cpus

/var/lock - ล็อคไฟล์

นี่คือที่ตั้งของไฟล์ล็อค ไฟล์เหล่านี้หมายความว่า ทรัพยากรเฉพาะไฟล์หรืออุปกรณ์ไม่ว่างและไม่สามารถใช้งานได้โดยกระบวนการอื่น ตัวอย่างเช่น Apt-get จะล็อกฐานข้อมูลเพื่อให้โปรแกรมอื่นไม่สามารถใช้งานได้ในขณะที่โปรแกรมกำลังทำงานอยู่

/var/run - PID ของกระบวนการ

ประกอบด้วยไฟล์ ประมวลผล PIDซึ่งสามารถนำไปใช้โต้ตอบระหว่างโปรแกรมได้ ไม่เหมือนกับไดเร็กทอรี /run ข้อมูลจะถูกบันทึกหลังจากรีบูต

/tmp (temp) - ไฟล์ชั่วคราว

ไดเร็กทอรีนี้ประกอบด้วย ไฟล์ชั่วคราวที่สร้างขึ้นโดยระบบ โปรแกรม หรือผู้ใช้ใดๆ ผู้ใช้ทุกคนมีสิทธิ์ในการเขียนไปยังไดเร็กทอรีนี้

ไฟล์จะถูกลบทุกครั้งที่คุณรีบูต คล้ายกับวินโดวส์เป็นโฟลเดอร์ Windows\Temp ไฟล์ชั่วคราวทั้งหมดจะถูกเก็บไว้ที่นี่เช่นกัน

/usr - (แอปพลิเคชันผู้ใช้) โปรแกรมผู้ใช้

นี่คือแคตตาล็อกที่ใหญ่ที่สุดด้วย จำนวนมากฟังก์ชั่น นี่คือโครงสร้างไดเร็กทอรี Linux ที่ใหญ่ที่สุด ที่นี่คุณจะพบไฟล์ปฏิบัติการ แหล่งที่มาของโปรแกรม ทรัพยากรแอปพลิเคชันต่างๆ รูปภาพ เพลง และเอกสารประกอบ

/usr/bin/ - ไฟล์ปฏิบัติการ

ประกอบด้วยไฟล์ปฏิบัติการของโปรแกรมต่างๆ ที่ไม่จำเป็นในระหว่างขั้นตอนแรกของการบูตระบบ เช่น เครื่องเล่นเพลง, บรรณาธิการกราฟิก, เบราว์เซอร์ และอื่นๆ

/usr/sbin/

ประกอบด้วยไบนารีของโปรแกรมการดูแลระบบที่ต้องรันด้วยสิทธิ์ผู้ใช้ระดับสูง ตัวอย่างเช่น เช่น Gparted, sshd, useradd, userdel เป็นต้น

/usr/lib/ - ไลบรารี

มีไลบรารีสำหรับโปรแกรมจาก /usr/bin หรือ /usr/sbin

/usr/local - ไฟล์ผู้ใช้

ประกอบด้วยไฟล์ของโปรแกรม ไลบรารี และการตั้งค่าที่สร้างโดยผู้ใช้ ตัวอย่างเช่น โปรแกรมที่คอมไพล์และติดตั้งจากแหล่งที่มาและสคริปต์ที่เขียนด้วยตนเองสามารถจัดเก็บได้ที่นี่

/home - โฟลเดอร์โฮม

โฟลเดอร์นี้จัดเก็บไดเร็กทอรีโฮมของผู้ใช้ทั้งหมด พวกเขาสามารถเก็บของได้ ไฟล์ส่วนบุคคลการตั้งค่าโปรแกรม ฯลฯ ตัวอย่างเช่น /home/sergiy เป็นต้น เมื่อเปรียบเทียบกับ Windows นี่คือโฟลเดอร์ผู้ใช้ของคุณบนไดรฟ์ C แต่ไม่เหมือนกับ WIndows ตรงที่ home มักจะอยู่ในพาร์ติชันแยกต่างหาก ดังนั้นเมื่อคุณติดตั้งระบบใหม่ ทุกอย่างจะต่างจาก WIndows ข้อมูลและการตั้งค่าโปรแกรมของคุณจะถูกบันทึกไว้

/boot - ไฟล์ Bootloader

ประกอบด้วยไฟล์ทั้งหมดที่เกี่ยวข้องกับบูตระบบ นี่คือเคอร์เนล vmlinuz อิมเมจเริ่มต้น รวมถึงไฟล์ bootloader ที่อยู่ในไดเร็กทอรี /boot/grub

/lib (ไลบรารี) - ไลบรารีระบบ

มีไฟล์ไลบรารีระบบที่ใช้โดยไฟล์ปฏิบัติการในไดเร็กทอรี /bin และ /sbin

ไลบรารีมีชื่อไฟล์ที่มีนามสกุล *.so และขึ้นต้นด้วยคำนำหน้า lib* ตัวอย่างเช่น libncurses.so.5.7 โฟลเดอร์ /lib64 บนระบบ 64 บิตประกอบด้วยไลบรารีเวอร์ชัน 64 บิตจาก /lib โฟลเดอร์นี้สามารถเปรียบเทียบได้กับ WIndows\system32 ไลบรารีระบบทั้งหมดก็ถูกดาวน์โหลดที่นั่นเช่นกัน มีเพียงไฟล์เหล่านั้นผสมกับไฟล์ปฏิบัติการ แต่ที่นี่ทุกอย่างแยกจากกัน

/opt (แอปพลิเคชันเสริม) - โปรแกรมเพิ่มเติม

มีการติดตั้งโปรแกรม เกม หรือไดรเวอร์ที่เป็นกรรมสิทธิ์ในโฟลเดอร์นี้ โปรแกรมเหล่านี้เป็นโปรแกรมที่สร้างเป็นไฟล์ปฏิบัติการแยกต่างหากโดยผู้ผลิตเอง โปรแกรมดังกล่าวได้รับการติดตั้งในไดเร็กทอรีย่อย /opt/ ซึ่งคล้ายกันมาก โปรแกรมวินโดวส์ไฟล์ปฏิบัติการ ไลบรารี และไฟล์คอนฟิกูเรชันทั้งหมดอยู่ในโฟลเดอร์เดียว

/mnt (เมานต์) - การติดตั้ง

ไปที่แค็ตตาล็อกนี้ ผู้ดูแลระบบสามารถติดตั้งระบบไฟล์ภายนอกหรือเพิ่มเติมได้

/media - สื่อแบบถอดได้

ระบบเมานท์ที่เชื่อมต่อทั้งหมด ไดรฟ์ภายนอก - แฟลชไดรฟ์ USB, ออปติคัลดิสก์ และสื่อบันทึกข้อมูลอื่นๆ

/srv (เซิร์ฟเวอร์) - เซิร์ฟเวอร์

ไดเร็กทอรีนี้มีไฟล์เซิร์ฟเวอร์และบริการ ตัวอย่างเช่น อาจมีไฟล์จากเว็บเซิร์ฟเวอร์ apache

/รัน - กระบวนการ

ไดเร็กทอรีอื่นที่มีไฟล์กระบวนการ PID คล้ายกับ /var/run แต่ต่างจากไดเร็กทอรีนี้ เนื่องจากอยู่ใน TMPFS ดังนั้นไฟล์ทั้งหมดจึงสูญหายหลังจากรีบูต

/sys (ระบบ) - ข้อมูลระบบ

วัตถุประสงค์ของไดเร็กทอรี Linux จากโฟลเดอร์นี้คือเพื่อรับข้อมูลเกี่ยวกับระบบโดยตรงจากเคอร์เนล นี่คือระบบไฟล์อื่นที่จัดระเบียบโดยเคอร์เนล และช่วยให้คุณสามารถดูและเปลี่ยนแปลงพารามิเตอร์การทำงานของระบบได้หลายอย่าง เช่น การสลับการทำงาน การควบคุมพัดลม และอื่นๆ อีกมากมาย

ใครก็ตามที่เริ่มใช้ Linux มักจะประสบปัญหาเสมอ คำถามเชิงตรรกะ: โฟลเดอร์หมายถึงอะไรใน Linux- ท้ายที่สุดแล้วมันแตกต่างจากไฟล์มาก โครงสร้างหน้าต่าง- เห็นได้ชัดว่าไม่จำเป็นต้องผ่านโฟลเดอร์ทั้งหมด แต่การมีสูตรโกงเมื่อจำเป็นก็มีประโยชน์

ดังนั้นฉันจึงพบว่ามีประโยชน์สำหรับตัวฉันเองและผู้อื่นในการทำสูตรโกง - โฟลเดอร์ลินุกซ์ - แน่นอนว่าคุณสามารถค้นหาข้อมูลนี้และข้อมูลอื่น ๆ ได้ แต่ควรมีบันทึกของคุณเองจะดีกว่าเพราะบางครั้งคุณไม่สามารถหาได้ ข้อมูลที่จำเป็นมันไม่ง่ายเลยออนไลน์ นี่คือสิ่งที่พวกเขาหมายถึง โฟลเดอร์ต่างๆ ใน ​​Linux:

  • / - โฟลเดอร์รูทใน linux ซึ่งเป็นฐานของระบบไฟล์ ไฟล์และไดเร็กทอรี linux ทั้งหมดมีอยู่ในไดเร็กทอรีรากตามตรรกะ โดยไม่คำนึงถึงตำแหน่งทางกายภาพของไฟล์เหล่านั้น
  • /bin- โฟลเดอร์ linux ซึ่งมี โปรแกรมปฏิบัติการซึ่งเป็นส่วนหนึ่งของระบบปฏิบัติการลีนุกซ์
  • /บูต- โฟลเดอร์ linux ซึ่งจัดเก็บเคอร์เนล Linux และไฟล์อื่น ๆ ที่จำเป็นโดยตัวจัดการการบูต LILO และ GRUB
  • /ผู้พัฒนา- โฟลเดอร์ linux ซึ่งมีไฟล์อุปกรณ์ทั้งหมด Linux ถือว่าแต่ละอุปกรณ์เป็นไฟล์พิเศษ ไฟล์ทั้งหมดนี้อยู่ใน /ผู้พัฒนา/ฯลฯ- มีไฟล์การกำหนดค่าระบบและสคริปต์การเริ่มต้นในไดเร็กทอรีย่อย /etc/rc.d
    • /dev/nullเป็นไดเร็กทอรีพิเศษที่จะละทิ้งข้อมูลทั้งหมดที่เขียนลงไป (แต่รายงานว่าการดำเนินการเขียนสำเร็จ)และไม่ให้ข้อมูลแก่กระบวนการใด ๆ ที่อ่านจากมัน
  • /บ้าน- โฮมไดเร็กตอรี่เป็นพาเรนต์ของโฮมไดเร็กตอรี่ของผู้ใช้
  • /lib- จัดเก็บไลบรารีของไฟล์ รวมถึงโมดูลไดรเวอร์ที่สามารถโหลดได้ซึ่งจำเป็นในการบูตระบบ
  • /สูญหาย+พบ- ไดเร็กทอรีสำหรับไฟล์ที่สูญหาย
  • /สื่อ- หนังสืออ้างอิงสำหรับการติดตั้งระบบไฟล์ สื่อที่ถอดออกได้เช่น แผ่นซีดีรอม
  • /เดือน- ไดเร็กทอรีสำหรับระบบไฟล์ที่เมาท์ชั่วคราว
  • /เลือก- คัดลอกแพ็คเกจซอฟต์แวร์เพิ่มเติม
  • /proc- ไดเร็กทอรีพิเศษในระบบไฟล์เสมือน เป็นการเก็บข้อมูลเกี่ยวกับ ด้านต่างๆระบบลินุกซ์
  • /ราก- โฮมไดเร็กทอรีของ superuser
  • /sbin- โฟลเดอร์ linux ที่เก็บไบนารีของผู้ดูแลระบบ
  • /srv- โฟลเดอร์ linux ซึ่งมีข้อมูลสำหรับบริการ (HTTP, FTP ฯลฯ ) ที่ระบบเสนอ
  • /ระบบ- ไดเร็กทอรีพิเศษที่เก็บข้อมูลเกี่ยวกับอุปกรณ์ต่างๆ ดังที่เห็นในเคอร์เนล Linux
  • /tmp- ไดเร็กทอรีชั่วคราวที่สามารถใช้เป็นไดเร็กทอรีชั่วคราวได้ (สำหรับจัดเก็บไฟล์ชั่วคราว)- เนื้อหาของไดเร็กทอรีนี้จะถูกลบทุกครั้งที่บูตระบบ
  • /usr- โฟลเดอร์ linux ซึ่งมีไดเร็กทอรีย่อยสำหรับหลายโปรแกรม เช่น X Window System
    • /usr/bin- เก็บไฟล์ปฏิบัติการได้สำหรับหลาย ๆ คน คำสั่งลินุกซ์- มันไม่ได้เป็นส่วนหนึ่งของระบบปฏิบัติการ
    • /usr/รวม- โฟลเดอร์ linux ซึ่งมีไฟล์ส่วนหัวสำหรับภาษาการเขียนโปรแกรม C และ C++
    • /usr/lib- โฟลเดอร์ linux ซึ่งจัดเก็บไลบรารีสำหรับภาษาการเขียนโปรแกรม C และ C++
    • /usr/local- โฟลเดอร์ linux ซึ่งมีไฟล์ในเครื่อง
    • /usr/sbin- โฟลเดอร์ linux ที่เก็บคำสั่งการดูแลระบบ
    • /usr/share- โฟลเดอร์ linux ซึ่งมีไฟล์ทั่วไป เช่น การกำหนดค่าเริ่มต้น ไฟล์ รูปภาพ เอกสาร ฯลฯ
    • /usr/src- เก็บซอร์สโค้ดสำหรับเคอร์เนล Linux
  • /var- ประกอบด้วย ไฟล์ต่างๆระบบต่างๆ เช่น วารสาร แค็ตตาล็อกจดหมาย คิวการพิมพ์ ฯลฯ ซึ่งมีแนวโน้มว่าจะเปลี่ยนแปลงจำนวนและขนาดเมื่อเวลาผ่านไป
    • /var/cache- พื้นที่เก็บข้อมูลสำหรับข้อมูลที่แคชไว้สำหรับแอปพลิเคชัน
    • /var/lib- โฟลเดอร์ linux ที่เก็บข้อมูลเกี่ยวกับ สถานะปัจจุบันการใช้งาน
    • /var/lock- โฟลเดอร์ linux ซึ่งมีการล็อกไฟล์ที่แอปพลิเคชันสแกนเพื่อให้ทรัพยากรสามารถใช้งานได้โดยแอปพลิเคชันเดียวเท่านั้น
    • /var/log- โฟลเดอร์ linux ซึ่งเก็บไฟล์บันทึกสำหรับแอปพลิเคชันต่างๆ
    • /var/mail- โฟลเดอร์ linux ซึ่งมีผู้ใช้อีเมล
    • /var/เลือก- เก็บข้อมูลตัวแปรสำหรับแพ็คเกจ
    • /var/run- มีข้อมูลที่อธิบายระบบขณะโหลด
    • /var/spool- เก็บข้อมูลที่รอการประมวลผลบางประเภท
    • /var/tmp- มีไฟล์ชั่วคราวที่บันทึกไว้ระหว่างการรีบูตระบบ

นี่เป็นการแปลจากภาษาอังกฤษ ภาษาจึงดูงุ่มง่ามเล็กน้อยแต่เข้าใจดี นั่นคือวิธีการทำงานของพวกเขา โฟลเดอร์ต่างๆ ใน ​​Linuxและเพื่อให้ถูกต้องมากขึ้น - โครงสร้างไฟล์ลินุกซ์.

ระบบไฟล์ Linux มีโครงสร้างไดเร็กทอรีและไฟล์ที่ชัดเจน ในบทความนี้ เราจะดูวัตถุประสงค์โดยย่อของแต่ละไดเร็กทอรี

ระบบไฟล์ Linux มีหลายไดเร็กทอรี ซึ่งส่วนใหญ่ถูกกำหนดโดย FHS (Filesystem Hierarchy Standard)

ชื่อของบทความประกอบด้วยคำว่า "ไดเรกทอรี" "ไดเรกทอรี" และ "โฟลเดอร์" มาดูพวกเขากันดีกว่า

ไดเร็กทอรีหรือไดเร็กทอรีคืออ็อบเจ็กต์ในระบบไฟล์ที่ทำให้การจัดไฟล์ง่ายขึ้น

โฟลเดอร์เป็นคำที่ใช้แทนไดเร็กทอรีในส่วนติดต่อผู้ใช้แบบกราฟิก

ดังนั้นคำทั้งหมดนี้จึงมีความหมายเหมือนกัน เพื่อความสะดวกเราจะใช้คำว่าแค็ตตาล็อกในบทความนี้เพราะว่า ฉันคิดว่ามันเหมาะสมที่สุด (ความเห็นส่วนตัวของฉัน)

โครงสร้างทั่วไปของระบบไฟล์ Linux OS

ขึ้นอยู่กับการกระจาย Linux ที่คุณใช้ ไดเร็กทอรีบางรายการอาจไม่มีอยู่ หรือในทางกลับกัน ไดเร็กทอรีอื่น ๆ ที่ไม่ได้แสดงที่นี่อาจมีอยู่ ฉันพยายามรวบรวมและอธิบายเฉพาะไดเร็กทอรีที่พบบ่อยที่สุดใน Linux OS

/ - ไดเรกทอรีราก

ไดเร็กทอรีหลักคือที่เก็บทุกอย่างบน Linux OS ของคุณ พาร์ติชัน Linux ทั้งหมดจะถูกจัดเก็บเป็นไดเร็กทอรีย่อยอื่นภายใต้ไดเร็กทอรีราก /

/bin - ไฟล์ไบนารีหลัก (โปรแกรม)

ประกอบด้วยโปรแกรมระบบไบนารีหลัก (โมดูล) ยูทิลิตี้ (ls, cp ฯลฯ ) และเชลล์คำสั่ง (bash ฯลฯ ) ซึ่งควรให้ประสิทธิภาพของระบบในระดับขั้นต่ำในโหมดผู้ใช้คนเดียว การวางไฟล์เหล่านี้ในไดเร็กทอรี /bin ทำให้แน่ใจได้ว่าระบบจะมียูทิลิตีที่สำคัญเหล่านี้ แม้ว่าระบบไฟล์อื่นไม่ได้ถูกเมาท์ก็ตาม

/boot - ไฟล์สำหรับโหลดระบบปฏิบัติการ

อิมเมจเคอร์เนล Linux และไฟล์ตัวจัดการการบูต (ด้วง, ไลโล ฯลฯ ) จะถูกจัดเก็บ

/cdrom - จุดเมานต์สำหรับซีดี

ไดเร็กทอรีนี้ไม่ได้เป็นส่วนหนึ่งของมาตรฐาน FHS แต่มีอยู่ใน Ubuntu และการแจกแจง ใช้เป็นที่สำหรับเมานต์ไดรฟ์ซีดีรอม

/dev - ไฟล์อุปกรณ์

ใน Linux อุปกรณ์ทั้งหมดจะถูกจัดเตรียมเป็นไฟล์เฉพาะที่อยู่ในไดเร็กทอรีนี้ ตัวอย่างเช่น ไฟล์ /dev/sda แสดงถึงไดรฟ์ SATA ไดเร็กทอรีนี้ยังเก็บไฟล์อุปกรณ์หลอก (เสมือน) ไฟล์เหล่านี้ไม่มีอุปกรณ์จริงที่เกี่ยวข้อง ตัวอย่างเช่น ไฟล์ /dev/random จะสร้างตัวเลขสุ่ม และไฟล์ /dev/null เป็นอุปกรณ์พิเศษสำหรับการลบข้อมูลอินพุตทั้งหมด

/etc - ไฟล์คอนฟิกูเรชัน

ประกอบด้วยไฟล์การกำหนดค่าหลักของระบบปฏิบัติการและโปรแกรมต่างๆ

/home - โฮมไดเร็กตอรี่ของผู้ใช้

มีโฮมไดเร็กทอรีของผู้ใช้ ตามอุดมการณ์ UNIX เพื่อรับรองความปลอดภัยของระบบปฏิบัติการ ขอแนะนำให้จัดเก็บข้อมูลผู้ใช้ไว้ในไดเร็กทอรีนี้ ตัวอย่างเช่น หากชื่อผู้ใช้ของคุณคือ mara คุณจะมีโฮมไดเร็กตอรี่อยู่ที่ /home/mara และมีไฟล์การกำหนดค่าผู้ใช้และข้อมูลส่วนบุคคล ผู้ใช้แต่ละรายมีสิทธิ์ในการเขียนไปยังโฮมไดเร็กตอรี่ของตนเท่านั้น

/lib - ไลบรารีหลัก

ไดเร็กทอรีนี้มีไว้สำหรับจัดเก็บไลบรารีระบบและส่วนประกอบคอมไพเลอร์ C ที่จำเป็นสำหรับการทำงานของโปรแกรมจากไดเร็กทอรี /bin และ /sbin และระบบปฏิบัติการโดยรวม

/lib64 - ไลบรารีหลัก 64 บิต

ไดเร็กทอรีนี้ส่วนใหญ่อยู่บนระบบ 64 บิต และมีชุดของไลบรารีและส่วนประกอบคอมไพเลอร์ C สำหรับโปรแกรม 64 บิต

/lost+found - ไฟล์ที่กู้คืน

นำเสนอบนระบบปฏิบัติการ Linux ทั้งหมด หากระบบไฟล์ล้มเหลวและระบบไฟล์ได้รับการตรวจสอบเพิ่มเติม (เมื่อโหลด OS) ไฟล์ที่เสียหายทั้งหมดที่พบจะถูกวางไว้ในไดเร็กทอรี Lost+found และคุณสามารถลองกู้คืนได้

/media - จุดสำหรับการติดตั้งอัตโนมัติ

ใช้สำหรับการติดตั้งอุปกรณ์ซีดีรอม ไดรฟ์ USB ฯลฯ โดยอัตโนมัติ

/mnt - จุดสำหรับการติดตั้งแบบแมนนวล

ใช้เพื่อเมานต์ด้วยตนเองชั่วคราว (โดยใช้คำสั่งเมานต์) อุปกรณ์ต่าง ๆ เช่นซีดีรอม ไดรฟ์ USB ฯลฯ

/opt - แพ็คเกจซอฟต์แวร์เสริม

มีไดเร็กทอรีย่อยสำหรับแพ็คเกจซอฟต์แวร์เพิ่มเติม ไดเร็กทอรีนี้ถูกใช้อย่างกว้างขวางโดยซอฟต์แวร์ที่เป็นกรรมสิทธิ์ซึ่งไม่เป็นไปตามลำดับชั้นของระบบไฟล์มาตรฐาน

/proc – ไฟล์เคอร์เนลและกระบวนการ

ระบบไฟล์เสมือน procfs ถูกเมาท์ในไดเร็กทอรีนี้ ประกอบด้วยไฟล์พิเศษที่ให้ข้อมูลเกี่ยวกับระบบและกระบวนการที่ทำงานอยู่ ตัวอย่างเช่น ไฟล์ /proc/cpuinfo เก็บข้อมูลเกี่ยวกับโปรเซสเซอร์

/root - โฮมไดเร็กทอรีของผู้ใช้รูท

โฮมไดเร็กทอรีของผู้ใช้รูท แทนที่จะอยู่ใน /home/root ไฟล์จะถูกวางไว้ใน /root เพื่อให้ระบบมีความน่าเชื่อถือมากขึ้น

/run – ไฟล์สถานะแอปพลิเคชัน

เป็นไดเร็กทอรีที่ค่อนข้างใหม่ที่ช่วยให้แอปพลิเคชันจัดเก็บไฟล์สนับสนุนที่ต้องการ เช่น ซ็อกเก็ตและรหัสกระบวนการ ในลักษณะมาตรฐาน ไฟล์เหล่านี้ไม่ควรถูกเก็บไว้ในไดเร็กทอรี /tmp เนื่องจากไฟล์เหล่านี้อาจถูกลบไปที่นั่น

/sbin - ไฟล์ไบนารี (โปรแกรม) สำหรับการดูแลระบบ

ไดเร็กทอรี /sbin คล้ายกับไดเร็กทอรี /bin ประกอบด้วยไฟล์ไบนารีที่สำคัญซึ่งโดยทั่วไปตั้งใจให้ผู้ใช้รันเมื่อดูแลระบบ

/selinux – ระบบไฟล์เสมือน SELinux

ดิสทริบิวชั่นบางตัว (Red Hat, Fedora ฯลฯ) ใช้แพ็คเกจ SELinux (Security-Enhanced Linux) เพื่อรักษาความปลอดภัย โดยสร้างไดเร็กทอรีด้วยไฟล์ /selinux

/srv – ข้อมูลบริการ

ไดเร็กทอรีนี้ไม่มีอยู่ในไดเร็กทอรีทั้งหมด มี "ข้อมูลสำหรับบริการที่ระบบให้ไว้" (เช่น เซิร์ฟเวอร์ Apache สามารถจัดเก็บไฟล์ของไซต์ของคุณในไดเร็กทอรีนี้) ในกรณีส่วนใหญ่ไดเร็กทอรีจะว่างเปล่า

/sys - ระบบไฟล์เสมือน sysfs

ไดเร็กทอรีนี้ปรากฏขึ้นพร้อมการเปิดตัวเคอร์เนลเวอร์ชัน 2.6 และระบบไฟล์เสมือน sysfs พร้อมข้อมูลเกี่ยวกับอุปกรณ์ ไดรเวอร์ เคอร์เนลระบบปฏิบัติการ ฯลฯ ติดตั้งอยู่ในนั้น

คำอธิบายของไดเรกทอรีย่อย:

/sys/block - มีไดเร็กทอรีของอุปกรณ์บล็อกทั้งหมดที่มีอยู่ในระบบ

/sys/bus - ประกอบด้วยรายการบัสที่กำหนดในเคอร์เนล Linux (eisa, pci ฯลฯ)

/sys/class - ประกอบด้วยรายการอุปกรณ์ที่จัดกลุ่มตามคลาส (เครื่องพิมพ์ อุปกรณ์ scsi ฯลฯ)

/tmp - ไฟล์ชั่วคราว

ไฟล์ชั่วคราวมักจะถูกลบเมื่อรีบูตระบบ มันคล้ายคลึงกับ C:/Windows/Temp ใน Windows OS ผู้ใช้ทุกคนมีสิทธิ์ในการอ่านและเขียนในไดเร็กทอรีนี้

/usr - ไบนารีแบบอ่านอย่างเดียวของผู้ใช้

ไดเร็กทอรีนี้มีแอปพลิเคชันและไฟล์ที่ใช้โดยผู้ใช้เท่านั้น ไม่ใช่โดยระบบเอง

คำอธิบายของไดเรกทอรีย่อย:

/usr/bin - ไฟล์ปฏิบัติการสำหรับทุกบัญชี

/usr/games - ไดเร็กทอรีสำหรับเกมคอมพิวเตอร์ในระบบ

/usr/include - ไฟล์ส่วนหัวสำหรับคอมไพล์โปรแกรม C

/usr/lib - ไลบรารีระบบและไฟล์เสริมที่อยู่ในไดเร็กทอรี /usr

/usr/local - แอปพลิเคชันที่คอมไพล์ในเครื่องได้รับการติดตั้งในไดเร็กทอรีนี้ ซึ่งช่วยให้แอปพลิเคชันไม่ปะปนกับส่วนที่เหลือของระบบ

/usr/local/bin - ไฟล์ปฏิบัติการในเครื่อง

/usr/local/etc - คำสั่งระบบโลคัลและไฟล์การกำหนดค่า

/usr/local/lib - ไฟล์เสริมในเครื่อง

/usr/local/sbin - คำสั่งระบบบริการโลคัล

/usr/local/src - ซอร์สโค้ดสำหรับโปรแกรมในไดเร็กทอรี /usr/local/*

/usr/man - หน้าเอกสารเชิงโต้ตอบ

/usr/sbin - คำสั่งการดูแลระบบที่สำคัญน้อยกว่า

/usr/share - ข้อมูลทั่วไปของโปรแกรมที่ติดตั้ง (อ่านอย่างเดียว)

/usr/share/man - หน้าเอกสารเชิงโต้ตอบ

/usr/share/icons - ไอคอนระบบ

/usr/share/doc - เอกสารอ้างอิง

/usr/src - ซอร์สโค้ดของแพ็คเกจซอฟต์แวร์ที่ไม่ใช่ภายในเครื่อง (เช่น ซอร์สโค้ดเคอร์เนลอยู่ที่นี่)

/var - ไดเร็กทอรีสำหรับข้อมูลที่เปลี่ยนแปลงบ่อยครั้ง

ไดเร็กทอรีนี้ประกอบด้วยบันทึกระบบปฏิบัติการ ไฟล์บันทึกระบบ ไฟล์แคช ฯลฯ

/var/adm - ไฟล์บันทึก บันทึกการติดตั้งระบบ ส่วนประกอบการดูแลระบบ

/var/cache - แคชทั้งหมดสำหรับโปรแกรมต่างๆ

/var/games - ไฟล์ที่มีความสำเร็จของเกม

/var/log - ไฟล์บันทึกของระบบ (ไฟล์บันทึก)

/var/lock - มีไฟล์ล็อคที่ระบุว่าทรัพยากรบางส่วนไม่ว่าง

/var/lib - แก้ไขโดยโปรแกรมระหว่างการทำงาน (เช่น ฐานข้อมูล เมตาดาต้า ฯลฯ)

/var/spool - ไดเร็กทอรีสปูล (เช่น คิวการพิมพ์ อีเมลที่ยังไม่ได้อ่านหรือยังไม่ได้ส่ง งาน cron ฯลฯ)

/var/tmp - ไดเร็กทอรีสำหรับจัดเก็บไฟล์ชั่วคราว

/var/www - โฮสต์เว็บเพจสำหรับเซิร์ฟเวอร์ Apache

คุณสามารถดูโครงสร้างระบบไฟล์ได้โดยใช้คำสั่ง ls -la ด้านล่างนี้เป็นตัวอย่างของเอาต์พุตคำสั่งสำหรับการแจกจ่าย OpenSUSE

# ls -la รวม 260 drwxr-xr-x 24 รูตรูต 4096 30 ส.ค. 2556 drwxr-xr-x 24 รูท 4096 30 ส.ค. 2556 .. drwxr-xr-x 2 รูท 4096 8 ส.ค. 2555 .config -rw-r--r-- 1 รูทรูท 149519 30 ส.ค. 2556 .readahead drwxr-xr- x 2 รูต รูท 4096 8 ส.ค. 2555 bin drwxr-xr-x 3 รูต รูต 4096 8 ส.ค. 2555 บูต drwxr-xr-x 18 รูต รูท 3340 16 พฤษภาคม 16:29 dev drwxr-xr-x 122 รูต รูท 12288 27 มิ.ย. 2556 เป็นต้น drwxr-xr-x 4 รูต รูท 4096 21 ก.ย. 2555 หน้าแรก drwxr-xr-x 16 รูท รูท 4096 23 ส.ค. 2555 lib drwxr-xr-x 10 รูต รูต 12288 23 ส.ค. 2555 lib64 drwx------ 2 รูทรูต 16384 8 ส.ค. 2555 สูญหาย + พบ drwxr-xr-x 2 รูทรูท 40 11 ธ.ค. 2556 สื่อ drwxr-xr-x 2 รูทรูท 4096 25 ต.ค. 2554 mnt drwxr-xr-x 3 รูทรูท 4096 23 ส.ค. 2555 เลือก dr-xr-xr -x 194 root root 0 11 ธันวาคม 2013 proc drwx------ 31 root root 4096 10 มิถุนายน 14:38 root drwxr-xr-x 23 root root 780 9 กรกฎาคม 17:39 รัน drwxr-xr-x 3 root root 12288 8 ส.ค. 2555 sbin drwxr-xr-x 2 รูต 4096 25 ต.ค. 2554 selinux drwxr-xr-x 6 ผู้ใช้ 1,004 คน 4096 21 ก.ย. 2555 srv drwxr-xr-x 12 รูทรูต 0 11 ธ.ค. 2556 sys drwxrwxrwt 95 รูต 4096 ก.ค 9 17:39 tmp drwxr-xr-x 13 รูตรูท 4096 10 พ.ย. 2554 usr drwxr-xr-x 16 รูทรูท 4096 9 ส.ค. 2555 var

แค่นั้นแหละ. การพิจารณาวัตถุประสงค์ของไดเร็กทอรีหลักที่พบในระบบไฟล์ Linux เสร็จสิ้นแล้ว