อธิบายมาตรฐานลำดับชั้นของระบบไฟล์



ลองใช้เครื่องมือของเราเพื่อกำจัดปัญหา

Filesystem Hierarchy Standard หรือ FHS กำหนดวิธีการทำงานของโครงสร้างไดเร็กทอรีใน Linux และเป็นสิ่งที่บทความสำหรับผู้เริ่มต้นจำนวนมากได้เขียนไว้แล้ว ดังที่กล่าวมาก็ยังคงเป็นหนึ่งในสิ่งที่สร้างความสับสนให้กับผู้เริ่มต้นมากที่สุดดังนั้นคำถามเกี่ยวกับเรื่องนี้จึงยังคงถูกถามอยู่ตลอดเวลา หากคุณลองดูที่ระดับบนสุดของการติดตั้ง Linux คุณจะเห็นไดเร็กทอรีมากมายที่กำหนดโดยมาตรฐานเฉพาะนี้



เราใช้เวลาในการพิจารณาอีกครั้งและกำหนด usr ฯลฯ และอื่น ๆ ทั้งหมดที่สร้างความสับสนแม้แต่โปรแกรมเมอร์ที่มีประสบการณ์ ดังที่กล่าวมาคุณอาจเห็นไดเรกทอรีหรือโฟลเดอร์เพิ่มเติมที่คุณไม่พบในที่นี้ คุณเคยเห็น / สูญหาย + พบที่รากของโครงสร้างไฟล์ของคุณหรือไม่? FHS ไม่ได้กำหนดไว้โดยเฉพาะ แต่ถูกสร้างขึ้นโดย ext4 และระบบไฟล์อื่น ๆ เพื่อให้แน่ใจว่ามีสถานที่ที่จะนำไฟล์ที่สูญหายไปถูกจับได้ในระหว่างการตรวจสอบความสอดคล้อง หากคุณเคยมีโอกาสสำรวจโครงสร้างของโทรศัพท์ Android คุณอาจเคยเห็นมันที่เรียกว่า LOST.DIR เช่นกัน



การสะกดโฟลเดอร์ FHS



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

/ bin มีโปรแกรมสำคัญส่วนใหญ่ที่คุณต้องใช้ในการเรียกใช้อินเทอร์เฟซพื้นฐานของ Linux คุณจะพบ cat, ls, mv, touch และ nano ที่นี่ ชื่อนี้ย่อมาจากไบนารี

/ boot มีไฟล์ที่จำเป็นในการบูตระบบของคุณเช่นเคอร์เนลและไฟล์ initrd



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

/ etc มีไฟล์คอนฟิกูเรชันทั้งระบบมากมาย หลายคนถามว่า ฯลฯ หมายถึงอะไรและอย่างที่คุณอาจจะยกเว้นว่าหมายถึง et cetera ในภาษาละตินจริงๆ แม้ว่าเดิมทีจะมีสิ่งที่ไม่เหมาะกับที่อื่น แต่ Linux FHS ที่ทันสมัยจะสั่งให้โปรแกรมเมอร์ใส่ไฟล์การกำหนดค่าไว้ที่นี่เท่านั้นและห้ามโยนลงในโปรแกรม

/ home มีโฮมไดเร็กทอรีของคุณและอาจเป็นโฮมไดเร็กทอรีของผู้ใช้รายอื่นหากคุณมี คุณสามารถใช้ ~ / เป็นชวเลขสำหรับโฮมไดเร็กทอรีของคุณเองซึ่งต้องไปแทนไดเร็กทอรี root / home ตัวอย่างเช่นหากคุณเป็นผู้ใช้ชื่อ manny ให้พิมพ์ ~ / Documents จะแสดงถึง / home / user / manny / Documents และได้รับการแปลดังกล่าว ผู้ใช้รูทมีโฮมไดเร็กทอรีของตนซ่อนอยู่ที่ / root แทนที่จะเป็น / home / root แม้ว่าคุณจะใช้ Ubuntu และแฮชออกไปแล้วก็ตาม

/ lib เก็บไลบรารีต่างๆที่โปรแกรมต้องทำงานภายใต้เคอร์เนล Linux คุณอาจมีไดเร็กทอรี / lib64 สำหรับไลบรารี 64 บิตหากคุณกำลังรันบนการแจกจ่ายที่ใช้ amd64

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

/ mnt ใช้เพื่อเก็บสื่อแบบถอดได้ทั้งหมดของคุณก่อนที่การติดตั้งอัตโนมัติจะเป็นที่นิยมใน Linux ตอนนี้ใช้สำหรับทุกสิ่งที่คุณติดตั้งด้วยคำสั่ง sudo ในพรอมต์คำสั่ง คุณอาจต้องการใช้สำหรับติดตั้งดิสก์อิมเมจหรือไฟล์ ISO หากคุณเคยใช้คำสั่ง mount -o loop iso

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

/ proc เป็นสิ่งที่สร้างความสับสนสำหรับผู้มาใหม่เนื่องจากเป็นจุดเชื่อมต่อสำหรับระบบไฟล์เสมือนที่จัดเตรียมที่สำหรับไฟล์ที่แสดงถึงวิธีที่เคอร์เนลมองเห็นอุปกรณ์ทั้งหมดที่เชื่อมต่อกับเครื่องของคุณ การได้สัมผัสโดยตรงจะดีกว่าการพยายามอธิบาย ลองวิ่ง cat / proc / cpuinfo | มากกว่า ที่พรอมต์คำสั่งเพื่อดูว่า CPU ของคุณเป็นอย่างไรสำหรับเคอร์เนล โปรดสังเกตว่าความเร็วของ CPU ของคุณเป็น MHz ไม่จำเป็นต้องตรงกับความเร็วจริงของโปรเซสเซอร์ เรารันสิ่งนี้บนเน็ตบุ๊กขนาดเล็ก 32 บิตที่มีโปรเซสเซอร์ซิงเกิ้ลคอร์ 1.6 GHz รุ่นเก่าที่ทำงานที่ 800 MHz ความคลาดเคลื่อนนี้เป็นสิ่งที่ทำให้ / proc ไฟล์มีประโยชน์มาก สิ่งนี้แสดงให้เห็นว่าการกระจาย Lubuntu นั้นมีทรัพยากรน้อยมากจน CPU ทำงานในโหมดที่ช้าลงจนกว่าจะต้องใช้พลังงานอย่างเต็มที่จากฮาร์ดแวร์พื้นฐาน นั่นเป็นเหตุผลที่สภาพแวดล้อมเดสก์ท็อป LXDE จึงได้รับความนิยมในหมู่ผู้ที่สร้างเครื่องรุ่นเก่าขึ้นมาใหม่

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

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

/ srv เก็บข้อมูลเฉพาะไซต์สำหรับเซิร์ฟเวอร์และระบบควบคุมเวอร์ชันและคุณอาจพบว่าข้อมูลนั้นว่างเปล่าในการติดตั้งของคุณ

/ sys เก็บไฟล์ที่อธิบายไดรเวอร์และกำหนดอุปกรณ์ที่ส่วนอื่น ๆ ของการอ้างอิง FHS

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

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

/ var เป็นที่สำหรับบันทึกและไฟล์ตัวแปรอื่น ๆ ที่เปลี่ยนแปลงตลอดเวลา

อ่าน 4 นาที