Perbedaan besar antara Linux dan Windows, setidaknya ketika datang ke sistem file dan direktori pohon mereka adalah bahwa di Linux "semuanya adalah file", dan semuanya turun dari satu root. Ini juga berlaku untuk hampir semua OS yang diturunkan Unix seperti BSD, OS X, Solaris, dll. Tapi saya akan mengatakan "Linux" sebagai generik (jika tidak sepenuhnya akurat).
Tetapi apa artinya itu dalam praktik?
Windows memungkinkan beberapa root untuk sistem file mereka. Anda memahami ini sebagai huruf drive: C: D: E:
dan seterusnya. Masing-masing memiliki root ( \
), dan pohon yang turun darinya. Versi terbaru Windows memungkinkan untuk hal-hal seperti volume mountpoints, di mana volume (apa yang Anda anggap sebagai partisi) dapat di-mount ke folder kosong yang ada. Jadi alih-alih D:
\ mewakili akar, katakanlah, drive optik (CD / DVD / BR) Anda, Anda bisa memasangnya di C:\Optical
gantinya. Ini lebih mirip dengan apa yang Linux lakukan. Ada juga namespace objek yang mendasari, berakar tunggal, untuk semua yang ada di Windows mirip dengan apa yang digunakan Linux dan dikelola oleh Object Manager , tetapi sebagian besar pengguna jarang melihatnya direferensikan karena ini terutama untuk penggunaan kernel.
Linux memiliki akar tunggal: /
. Semuanya turun darinya, dan itu tidak perlu mewakili hard drive Anda. Hard Drive, Drive Optik, Kartu Memori, Pembagian Jaringan, Printer, Pemindai, CPU, RAM, Proses, ... semuanya diwakili di suatu tempat di dalam namespace tunggal ini, dan dapat diakses oleh proses apa pun dengan API manajemen file standar, dengan anggapan Anda memiliki tingkat akses yang cukup tinggi. Hanya karena Anda dapat membaca atau menulis darinya, itu tidak berarti itu adalah file di hard drive Anda di Linux. Misalnya, perangkat biasanya dipasang ke dalam /dev
, jadi mengakses hal-hal di sana sering berarti Anda berbicara dengan perangkat - mungkin itu kartu suara, atau pemindai, atau kamera, dll. Ini dikenal sebagai file perangkat . Procfsadalah "filesystem" khusus yang biasanya di-mount ke /proc
dan memiliki "direktori" untuk setiap proses yang berjalan, dengan file di setiap direktori yang berkaitan dengan hal-hal seperti baris perintah yang digunakan untuk menjalankan proses itu, peta memori, membuka file, dll. Sysfs adalah sistem file khusus (terpasang pada /sys
) digunakan untuk mengekspos banyak informasi tentang objek kernel yang sedang berjalan dan juga dapat digunakan untuk menyempurnakan kernel yang sedang berjalan dengan hanya menulis ke file tertentu.