Pochodząc ze świata Windows, większość nazw katalogów folderów jest dość intuicyjna:
\Program Fileszawiera 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 Datazawiera dane specyficzne dla aplikacji\Users\USER\Documentszawiera dokumenty należące do użytkownika
\Windowszawiera pliki należące do samego systemu Windows\Windows\Fontsprzechowuje pliki czcionek (niespodzianka!)\Windows\Tempto 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:
/binzawiera 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ć?/mediazawiera 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?/homezawiera pliki użytkownika i ustawienia. To wszystko jest intuicyjne, ale w co zatem ma iść/usr? Jak/rootto możliwe, że wciąż jest osobny, mimo że jest to użytkownik z plikami i ustawieniami?/libzawiera 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,/proci/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.