ระบบไฟล์ 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 เสร็จสิ้นแล้ว