Pochodząc ze świata Windows, większość nazw katalogów folderów jest dość intuicyjna:
\Program Files
zawiera pliki używane przez programy (niespodzianka!)\Program Files (x86)
zawiera pliki używane przez programy 32-bitowe w 64-bitowych systemach operacyjnych\Users
(poprzednioDocuments and Settings
) zawiera pliki użytkowników, tj. dokumenty i ustawienia\Users\USER\Application Data
zawiera dane specyficzne dla aplikacji\Users\USER\Documents
zawiera dokumenty należące do użytkownika
\Windows
zawiera pliki należące do samego systemu Windows\Windows\Fonts
przechowuje pliki czcionek (niespodzianka!)\Windows\Temp
to globalny katalog tymczasowy
i tak dalej. Nawet gdybym nie miał pojęcia, co zrobiły te foldery, potrafiłem z dużą dokładnością odgadnąć ich nazwy.
Teraz przyglądam się Linuxowi i jestem dość zdezorientowany, jak znaleźć sposób na obejście systemu plików.
Na przykład:
/bin
zawiera pliki binarne. Ale tak zrobić/sbin
,/usr/bin
,/usr/sbin
, i prawdopodobnie bardziej, że nie wiem o. Który jest który?? Jaka jest różnica między nimi? Jeśli chcę zrobić plik binarny i umieścić go w systemie, gdzie go umieścić?/media
zawiera zewnętrzne systemy plików multimedialnych. Ale tak też jest/mnt
. I żadne z nich obecnie nie zawiera niczego w moim systemie; wszystko wydaje się być w środku/dev
. Co za różnica? Gdzie są inne partycje na moim dysku twardym, takie jakC:
iD:
te, które były w systemie Windows?/home
zawiera pliki użytkownika i ustawienia. To wszystko jest intuicyjne, ale w co zatem ma iść/usr
? Jak/root
to możliwe, że wciąż jest osobny, mimo że jest to użytkownik z plikami i ustawieniami?/lib
zawiera współdzielone biblioteki, takie jak biblioteki DLL. Ale tak też jest/usr/lib
. Co za różnica?Co jest
/etc
? Czy to naprawdę oznacza „et cetera”, czy coś innego? Jakie pliki powinny tam być - globalne czy lokalne? Czy jest to wszystko dla rzeczy, o których nikt nie wiedział, gdzie je umieścić, czy też istnieje konkretny przypadek użycia tego?Jakie są
/opt
,/proc
i/var
? Co oznaczają i do czego służą? Nie widziałem czegoś takiego w Windows * i po prostu nie mogę pojąć, do czego mogą być.
Jeśli ktoś może wymyślić inne standardowe miejsca, o których warto wiedzieć, dodaj je do pytania; mam nadzieję, że może to być dobre odniesienie dla osób takich jak ja, które zaczynają się zapoznawać z systemami * nix.
* OK, to kłamstwo. Widziałem podobne rzeczy w WinObj, ale oczywiście nie regularnie. Nadal jednak nie wiem, co one robią w systemie Linux.
C:\Program Files
, C:\ProgramData
, %HOME%\AppData\Local
, %HOME%\AppData\LocalLow
, C:\Windows\SystemApps
... Wszystkie przykłady, gdzie można znaleźć pliki wykonywalne w systemie Windows. I nawet nie będę mówił o plikach konfiguracyjnych i rejestrze, nie chcę być jeszcze bardziej przygnębiony. PS: Pracuję głównie w systemie Windows.