Berasal dari dunia Windows, saya telah menemukan sebagian besar nama direktori folder cukup intuitif:
\Program Files
berisi file yang digunakan oleh program (kejutan!)\Program Files (x86)
berisi file yang digunakan oleh program 32-bit pada OS 64-bit\Users
(sebelumnyaDocuments and Settings
) berisi file pengguna, yaitu dokumen dan pengaturan\Users\USER\Application Data
berisi data khusus aplikasi\Users\USER\Documents
berisi dokumen milik pengguna
\Windows
berisi file milik operasi Windows itu sendiri\Windows\Fonts
menyimpan file font (kejutan!)\Windows\Temp
adalah direktori sementara global
dan lain-lain. Bahkan jika saya tidak tahu apa yang dilakukan folder-folder ini, saya dapat menebak dengan akurasi yang baik dari nama mereka.
Sekarang saya mengamati Linux dengan baik, dan menjadi agak bingung tentang cara menemukan cara saya di sekitar sistem file.
Sebagai contoh:
/bin
berisi binari. Tapi begitu/sbin
,/usr/bin
,/usr/sbin
, dan mungkin lebih bahwa saya tidak tahu tentang. Yang mana ?? Apa perbedaan di antara mereka? Jika saya ingin membuat biner dan meletakkannya di suatu tempat di seluruh sistem, di mana saya meletakkannya?/media
berisi sistem file media eksternal. Tapi begitu juga/mnt
. Dan tak satu pun dari mereka mengandung apa pun di sistem saya saat ini; semuanya sepertinya ada di/dev
. Apa bedanya? Di mana partisi lain di hard disk saya, sepertiC:
danD:
yang ada di Windows?/home
berisi file dan pengaturan pengguna. Sebanyak itu intuitif, tapi kemudian, apa yang seharusnya masuk/usr
? Dan kenapa/root
masih terpisah, meskipun itu pengguna dengan file dan pengaturan?/lib
berisi pustaka bersama, seperti DLL. Tapi begitu juga/usr/lib
. Apa bedanya?Apa adalah
/etc
? Apakah itu benar-benar berarti "et cetera", atau yang lain? Apa jenis file yang harus ada di sana - global atau lokal? Apakah ini merupakan tangkapan untuk semua hal yang tidak ada yang tahu di mana harus meletakkannya, atau apakah ada kasus penggunaan khusus untuk itu?Apa
/opt
,/proc
dan/var
? Apa yang mereka perjuangkan dan untuk apa mereka digunakan? Saya belum pernah melihat yang seperti itu di Windows *, dan saya tidak tahu apa gunanya.
Jika ada yang bisa memikirkan tempat standar lain yang mungkin baik untuk diketahui, silakan menambahkannya ke pertanyaan; semoga ini bisa menjadi referensi yang baik untuk orang-orang seperti saya, yang mulai mengenal sistem * nix.
* OK, itu bohong. Saya telah melihat hal serupa di WinObj, tetapi jelas tidak secara teratur. Saya masih tidak tahu apa yang dilakukan di Linux.
sumber
C:\Program Files
,C:\ProgramData
,%HOME%\AppData\Local
,%HOME%\AppData\LocalLow
,C:\Windows\SystemApps
... Semua contoh di mana orang dapat menemukan executable pada Windows. Dan saya bahkan tidak akan berbicara tentang file konfigurasi & registri, saya tidak ingin menjadi lebih tertekan. PS: Saya bekerja terutama di Windows.Jawaban:
Distribusi Linux menggunakan FHS: http://www.pathname.com/fhs/pub/fhs-2.3.html
Anda juga dapat mencoba
man hier
.Saya akan mencoba meringkas jawaban pertanyaan Anda dari atas kepala saya, tetapi saya sangat menyarankan agar Anda membaca FHS:
Untuk mengakses sistem, Anda biasanya tidak memerlukan / var, / opt, / usr, / home; beberapa direktori berpotensi terbesar pada suatu sistem.
Salah satu favorit saya, yang tidak digunakan sebagian orang, adalah / srv. Ini untuk data yang dihosting melalui layanan seperti http / ftp / samba. Saya telah melihat / var sering digunakan untuk ini, yang sebenarnya bukan tujuannya.
sumber
/home/users/username
untuk pengguna dan/home/services/servicename
untuk apa yang Anda sebutkan/src
. Saya pikir ini berfungsi lebih baik karena lebih fleksibel untuk dipartisi. Anda dapat memilikinya di partisi itu sendiri atau menggunakan partisi yang sama dan data pengguna Anda, yang sering kali ingin saya lakukan.Saya tidak akan menjawab tentang apa artinya semua itu (yang lain miliki), tetapi berikan sedikit konteks historis.
Pertama, ingatlah bahwa UNIX semakin mendekati 40 tahun, kembali pada zaman pita kertas dan 300 terminal hard-code ke mainframe (sistem Windows XP hampir 10 tahun). Mengetik lambat dan kebutuhan akan efisiensi dalam mengetik melebihi banyak pertimbangan lainnya. Itulah alasan perintah dasar yang sangat singkat (yaitu 'ls', 'cat', 'cc', 'dd', dll.). Hal yang sama terjadi pada struktur direktori. Pikirannya adalah bahwa jika perintah lebih dari tiga atau empat karakter maka nama itu terlalu panjang.
Direktori / usr awalnya berisi direktori home pengguna karena sebagian besar perintah ada di / bin dan semua file perangkat ada di / dev. Kemudian ia dianggap membuat drive utama (sistem file root, '/') kecil untuk waktu boot yang lebih cepat. Jadi struktur lain seperti / usr / bin, / usr / include dan / usr / lib muncul, di mana / usr adalah "drive" yang terpisah. Jauh kemudian, dianggap memiliki direktori home pengguna di / home, namun drive lain. Dan lebih lama dari itu, untuk memiliki / var (kependekan dari variabel / berubah-ubah). Direktori / etc memang berarti 'dan lain-lain' karena itu adalah lokasi tangkap semua file konfigurasi sistem. / Mnt digunakan sebagai tempat sementara untuk mengakses drive (seringkali drive cadangan). Direktori seperti / opt, / proc dan / media datang jauh lebih lama.
Ada banyak yang ditinggalkan (seperti / usr / local dan / net), tetapi ini memberikan deskripsi singkat tentang mengapa nama-nama 'kurang intuitif'.
sumber
Seperti yang telah disebutkan di sini, distribusi Linux kebanyakan menggunakan FHS, lihat di sini untuk ikhtisar tutorial-seperti, khusus cocok untuk seseorang yang datang dari windows.
Sebagai catatan, direktori Windows tampaknya intuitif, dangkal. Tapi izinkan saya bertanya kepada Anda, di mana pengaturan untuk suatu program termasuk, sebagai
*.ini
file di folder program, diDocuments and Settings\User
(\Application Data
atau\Local Settings\Application Data
), atau di registri yang terkenal? tidak ada yang tahu, bahkan Microsoft. Jadi kita bisa terus dan terus.sumber