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

     โครงสร้างของระบบแฟ้มข้อมูลในลินุกซ์เป็นโครงสร้างแบบต้นไม้กลับหัวเริ่มต้นจากไดเร็คทอรี่ root ซึ่งเขียนแทนด้วย  /  ภายใต้ไดเร็คทอรี่ก็จะมีไดเร็คทอรี่หรือไฟล์โดยคั่นด้วย  /  เช่นเดียวกัน เช่น /use/bin/emacs  ลินุกซ์ใช้อักขระ / (forward slash) ในการคั่นระหว่างพาธ ในขณะที่ระบบปฏิบัติการวินโดวส์ใช้  \ 

ภาพแสดงโครงสร้างแฟ้มข้อมูล

     ระบบปฏิบัติการลินุกซ์สามารถรองรับระบบแฟ้มข้อมูลที่หลากหลาย เช่น ระบบแฟ้มสำหรับฮาร์ดิสก์ – ext3, ext4, squashfs, btrfs, FAT (ระบบแฟ้มข้อมูลของ Windows), NTFS (ระบบแฟ้มข้อมูลของ Windows), vfat (ระบบแฟ้มข้อมูลของ Windows),  XFS (ระบบแฟ้มข้อมูลของ SGI), JFS (ระบบแฟ้มข้อมูลของ IBM), hfs (ระบบแฟ้มข้อมูลของ MacOS), hfs+ (ระบบแฟ้มข้อมูลของ MacOS) ระบบแฟ้มสำหรับแฟลชไดรว์ – ubifs, JFFS2, YAFFS ระบบแฟ้มสำหรับฐานข้อมูล และระบบแฟ้มแบบพิเศษต่างๆ เช่น procfs, sysfs, tmpfs, debugfs บ่อยครั้งที่เราอาจใช้ระบบแฟ้มข้อมูลมากกว่า 1 แบบในเครื่องเดียวกันขึ้นอยู่กับเหตุผลในการใช้งาน เช่น ขนาดของไฟล์ มีการแก้ไขไฟล์บ่อยแค่ไหน ชนิดของฮาร์ดแวร์ หรือ ความเร็วในการเข้าถึงข้อมูล 

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

คำสั่ง mount 

     คำสั่ง mount เป็นคำสั่งที่ใช้ในการเชื่อต่อระบบแฟ้มข้อมูล (filesystem) เข้ากับโครงสร้างระบบแฟ้มข้อมูล (filesystem tree) โดยระบบแฟ้มข้อมูลที่ต้องการเชื่อมต่ออาจจะอยู่ในเครื่องเดียวกันหรืออยู่ต่างเครื่องและใช้การเชื่อมต่อผ่านทางเครือข่าย (network) ก็ได้ ตัวแปรที่ใช้ในคำสั่งประกอบด้วย device node และ mount point (ไดเร็คทอรี่ว่างที่ถูกสร้างไว้รอการเชื่อมต่อ) ตัวอย่างเช่น “ mount /dev/sda5  /home ” โดย /dev/sda5 คือพาร์ทิชั่นที่ลินุกซ์มองเห็น และ /home คือ moint point นอกจากการระบุพาร์ทิชั่นด้วย device node แล้วยังมีการระบุพาร์ทิชั่นด้วยวิธีอื่นได้อีก เช่น ระบุด้วย disk label หรือ UUID ถ้าเรียกคำสั่ง mount โดยไม่ระบุตัวแปรใดๆ จะแสดงระบบแฟ้มข้อมูลที่ถูก mount อยู่ในปัจจุบัน

ตัวอย่างการเรียกใช้คำสั่ง mount โดยไม่ระบุตัวแปรใดๆ

คำสั่ง unmount

     คำสั่ง unmount เป็นคำสั่งที่ใช้ในการยกเลิกการเชื่อมต่อระบบแฟ้มข้อมูล (filesystem) กับโครงสร้างระบบแฟ้มข้อมูล (filesystem tree) ตัวอย่างการใช้เช่น unmount /home

     คำสั่ง mount หรือ unmount ต้องทำงานโดยใช้สิทธิ root หรือโดยใช้คำสั่ง sudo เท่านั้น และถ้าเราต้องการ mount พาร์ทิชั่นโดยอัติโนมัติทุกครั้งที่เปิดเครื่องเราจะต้องตั้งค่าที่ไฟล์ /etc/fstab (fstab = filesystem table) รายละเอียดการใช้งาน fstab สามรารถดูได้จากคำสั่ง  man fstab

ภาพตัวอย่างข้อมูลในไฟล์ fstab

คำสั่ง df

     คำสั่ง df (disk free) จะแสดงข้อมูลของระบบแฟ้มข้อมูล เราสามารถใช้คำสั่ง “ df -Th “ เพื่อดูสถิติการใช้งานและพื้นที่ว่างที่มีอยู่ได้

ภาพตัวอย่างการใช้คำสั่ง df -Th

     ระบบแฟ้มข้อมูลของระบบปฏิบัติการลินุกซ์จะเก็บไฟล์สำคัญๆเป็นโครงสร้างตามมาตรฐาน Filesystem Hierarchy Standard (FHS) ซึ่งดูแลโดย LInux Foundation ทำให้การเปลี่ยนไปใช้ดิสโทรต่างๆสามารถทำได้ง่ายเพราะแต่ละดิสโทรใช้มาตรฐานเดียวกัน ผู้ใช้งานจึงไม่ต้องเสียเวลาไปเรียนรู้ระบบแฟ้มข้อมูลใหม่เมื่อต้องการเปลี่ยนไปใช้ดิสโทรอื่น เราสามารถดูรายละเอียดของมาตรฐานได้จาก https://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf 

     ในการใช้งานวินโดวส์เราใช้ตัวอักษรในการอ้างอิงถึงแต่ละพาร์ทิชั่น เช่น เรามีฮาร์ดดิสก์ 1 ลูก แบ่งออกเป็น 3 พาร์ทิชั่น แต่ละพาร์ทิชั่นถูกอ้างอิงด้วยตัวอักษร C, D, E ตามลำดับ แต่ในลินุกซ์ไม่มีการกำหนดตัวอักษรประจำพาร์ทิชั่น แต่ละพาร์ทิชั่นจะถูกเชื่อมต่อเป็นส่วนหนึ่งของโครงสร้างระบบแฟ้มข้อมูลโดยจะถูกมองเห็นเป็นไดเร็คทอรี่หนึ่งในโครงสร้างระบบแฟ้มข้อมูล สำหรับอุปกรณ์ USB หรือ CD/DVD ก็จะถูก เชื่อมต่อเป็นส่วนหนึ่งของโครงสร้างระบบแฟ้มข้อมูลด้วยเช่นกันโดยเราจะเห็นเป็นพาธ เช่น /run/madia/yourusername/disklabel

ภาพเปรียบเทียบการเรียกพาร์ทิชั่นของวินโดวส์และลินุกซ์

     ในระบบแฟ้มข้อมูลของลินุกซ์ตัวอักษรเล็กหรือตัวอักษรใหญ่มีความสำคัญ เช่น /boot, /Boot, /BOOT ถือว่าเป็นคนละไดเร็คทอรี่กัน หลายๆดิสทริบิวชั่นจะแยกที่เก็บโปรแกรมสำหรับการใช้งานของระบบและโปรแกรมสำหรับการใช้งานของผู้ใช้งานแยกออกจากกันโดยเก็บโปรแกรมสำหรับผู้ใช้งานไว้ที่ /usr 

ภาพแสดงโครงสร้างระบบแฟ้มข้อมูลของลินุกซ์

หากเราติดตั้งลินุกซ์แล้วเราสามารถทดลองดูพาธของแต่ละไดเร็คทอรี่ได้ดังนี้

1. เลือกที่ตัวจัดการไฟล์ซึ่งโดยปรกติระบบจะพาเราไปที่ Home ของเรา

2. เลือกไปที่ Computer เพื่อไป root ของระบบแฟ้มข้อมูล

3. เลือกที่ไดเร็คทอรี่ usr และเลือกไดเร็คทอรี่ย่อย games จากนั้นกดปุ่ม Ctrl+L จะเห็นพาธที่ด้านบนของหน้าต่าง

การควบคุมการเข้าถึงอุปกรณ์ (Hardware Device Access)

     ลินุกซ์มองทุกอย่างเป็นไฟล์รวมถึงอุปกรณ์ฮาร์ดแวร์ที่เชื่อมต่ออยู่กับเครื่องคอมพิวเตอร์ก็จะถูกมองเห็นผ่านทางโครงสร้างของระบบแฟ้มข้อมูล โดยจะมีไฟล์พิเศษเรียกว่า device node อยู่ภายใต้ไดเร็คทอรี่ /dev เป็นจุดเชื่อมต่อกับอุปกรณ์ต่างๆ ตัวอย่างเช่น ฮาร์ดดิสกก์จะถูกมองเห็นผ่านไฟล์ /dev/sd1 เป็นต้น สำหรับการอนุญาติในการใช้งานจะใช้วิธีการเดียวกันกับไฟล์ทั่วไปคือมีการอนุญาติในระดับผู้ใช้งาน ระดับกลุ่มและผู้ใช้งานทั้งหมดd แอพลิเคชั่นสามารถเข้าถึงข้อมูลและใช้งานอุปกรณ์ต่างๆผ่านโครงสร้างของระบบแฟ้มข้อมูลและจะไม่สามารถเข้าถึงอุปกรณ์ได้โดยตรง

ภาพแสดงตัวอย่าง mount point