โครงสร้างไดเร็กทอรี Linux อธิบาย

หากคุณมาจาก Windows โครงสร้างระบบไฟล์ Linux อาจดูเหมือนแปลกแยก C: \ drive และอักษรระบุไดรฟ์หายไปแทนที่ด้วย / และไดเร็กทอรีที่ทำให้เกิดเสียงที่เป็นความลับซึ่งส่วนใหญ่มีชื่อตัวอักษรสามตัว

Filesystem Hierarchy Standard (FHS) กำหนดโครงสร้างของระบบไฟล์บน Linux และระบบปฏิบัติการอื่น ๆ ที่คล้าย UNIX อย่างไรก็ตามระบบไฟล์ Linux ยังมีไดเร็กทอรีบางรายการที่ยังไม่ได้กำหนดโดยมาตรฐาน

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

ทุกอย่างบนระบบ Linux ของคุณอยู่ภายใต้ไดเร็กทอรี / หรือที่เรียกว่า root directory คุณสามารถคิดว่าไดเร็กทอรี / คล้ายกับไดเร็กทอรี C: \ บน Windows แต่สิ่งนี้ไม่เป็นความจริงอย่างเคร่งครัดเนื่องจาก Linux ไม่มีอักษรระบุไดรฟ์ ในขณะที่พาร์ติชันอื่นจะอยู่ที่ D: \ บน Windows พาร์ติชันอื่นนี้จะปรากฏในโฟลเดอร์อื่นภายใต้ / บน Linux

/ bin - ไบนารีผู้ใช้ที่จำเป็น

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

/ boot - ไฟล์บูตแบบคงที่

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

/ cdrom - Historical Mount Point สำหรับซีดีรอม

ไดเร็กทอรี / cdrom ไม่ได้เป็นส่วนหนึ่งของมาตรฐาน FHS แต่คุณจะยังพบได้ใน Ubuntu และระบบปฏิบัติการอื่น ๆ เป็นตำแหน่งชั่วคราวสำหรับใส่ซีดีรอมในระบบ อย่างไรก็ตามตำแหน่งมาตรฐานสำหรับสื่อชั่วคราวอยู่ในไดเร็กทอรี / media

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

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

ไดเร็กทอรีนี้ยังมีอุปกรณ์หลอกซึ่งเป็นอุปกรณ์เสมือนจริงที่ไม่ตรงกับฮาร์ดแวร์ ตัวอย่างเช่น / dev / random จะสร้างตัวเลขสุ่ม / dev / null เป็นอุปกรณ์พิเศษที่ไม่สร้างเอาต์พุตและละทิ้งอินพุตทั้งหมดโดยอัตโนมัติ - เมื่อคุณไพพ์เอาต์พุตของคำสั่งไปที่ / dev / null คุณจะทิ้งมัน

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

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

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

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

/ lib - ไลบรารีที่ใช้ร่วมกันที่จำเป็น

ไดเร็กทอรี / lib มีไลบรารีที่จำเป็นสำหรับไบนารีที่จำเป็นในโฟลเดอร์ / bin และ / sbin ไลบรารีที่ไบนารีต้องการในโฟลเดอร์ / usr / bin อยู่ใน / usr / lib

/ สูญหาย + พบ - ไฟล์ที่กู้คืน

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

/ สื่อ - สื่อที่ถอดออกได้

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

/ mnt - จุดเมาท์ชั่วคราว

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

/ opt - แพ็คเกจเสริม

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

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

ไดเร็กทอรี / proc คล้ายกับไดเร็กทอรี / dev เนื่องจากไม่มีไฟล์มาตรฐาน ประกอบด้วยไฟล์พิเศษที่แสดงถึงข้อมูลระบบและกระบวนการ

/ root - ไดเร็กทอรีโฮมรูท

ไดเร็กทอรี / root คือโฮมไดเร็กทอรีของผู้ใช้ root แทนที่จะอยู่ที่ / home / root แต่จะอยู่ที่ / root สิ่งนี้แตกต่างจาก / ซึ่งเป็นไดเร็กทอรีรากของระบบ

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

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

/ sbin - ไบนารีการดูแลระบบ

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

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

หากการแจกจ่าย Linux ของคุณใช้ SELinux เพื่อความปลอดภัย (เช่น Fedora และ Red Hat) ไดเร็กทอรี / selinux จะมีไฟล์พิเศษที่ SELinux ใช้ มันคล้ายกับ / proc Ubuntu ไม่ได้ใช้ SELinux ดังนั้นการมีอยู่ของโฟลเดอร์นี้บน Ubuntu จึงดูเหมือนจะเป็นจุดบกพร่อง

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

ไดเร็กทอรี / srv มี "ข้อมูลสำหรับบริการที่จัดเตรียมโดยระบบ" หากคุณใช้เซิร์ฟเวอร์ Apache HTTP เพื่อให้บริการเว็บไซต์คุณน่าจะเก็บไฟล์ของเว็บไซต์ไว้ในไดเร็กทอรีภายในไดเร็กทอรี / srv

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

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

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

ไดเร็กทอรี / usr มีแอพพลิเคชั่นและไฟล์ที่ผู้ใช้ใช้ซึ่งต่างจากแอพพลิเคชั่นและไฟล์ที่ระบบใช้ ตัวอย่างเช่นแอ็พพลิเคชันที่ไม่จำเป็นจะอยู่ภายในไดเร็กทอรี / usr / bin แทนที่จะเป็นไดเร็กทอรี / bin และไบนารีการดูแลระบบที่ไม่จำเป็นจะอยู่ในไดเร็กทอรี / usr / sbin แทนที่จะเป็นไดเร็กทอรี / sbin ไลบรารีสำหรับแต่ละไลบรารีอยู่ภายในไดเร็กทอรี / usr / lib ไดเร็กทอรี / usr ยังมีไดเร็กทอรีอื่น ๆ เช่นไฟล์ที่ไม่ขึ้นกับสถาปัตยกรรมเช่นกราฟิกจะอยู่ใน / usr / share

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

/ var - ไฟล์ข้อมูลตัวแปร

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

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