Dlaczego niektóre pliki i foldery są ukryte?

12

Rozumiem uzasadnienie ukrywania plików i folderów w /home/userkatalogu, aby uniemożliwić użytkownikom zamieszanie w różnych sprawach. Jednak nie widzę, w jaki sposób samo uzasadnienie można zastosować do plików w /etc, /booti /varkatalogów, które jest domeną administratorów.

Moje pytanie brzmi: dlaczego niektóre pliki i foldery są ukryte przed administratorami? Przykład:

/boot/.vmlinuz-3.11.1-200.fc20.x86_64.hmac
/etc/.pwd.lock
/etc/selinux/targeted/.policy.sha512
/etc/.java
/etc/.java/.systemPrefs
/etc/skel/.bash_profile
/root/.ssh
/root/.config
/var/cache/yum/x86_64/20/.gpgkeyschecked.yum
/var/spool/at/.SEQ
/var/lib/pear/.filemap
Przepełnienie pytania
źródło
1
spójrz na drugą odpowiedź. Powodem, dla którego wymienione pliki są albo są to pliki konfiguracyjne, których nie należy codziennie zmieniać i zawsze są obecne jako .ssh i .bash_profile, więc nie chcesz wiedzieć, że tam są. To tylko konwencja. Pliki w buforze są plikami tymczasowymi takimi samymi jak wiele innych wymienionych na liście, więc nie powinny być edytowane ręcznie, dlatego są ukryte
vfbsilva
3
.ssh i .config są zawsze tak nazywane, niezależnie od tego, czy znajdują się w katalogu osobistym zwykłego użytkownika, czy w katalogu osobistym użytkownika root. / etc / skel ma być prototypem katalogów domowych nowych użytkowników, a pliki mają tam takie same nazwy, jak w nowo utworzonych katalogach.
Mark Plotnick
2
Ale te pliki nie są ukryte . lsKomenda nie tylko lista plików rozpoczynające się kropką domyślnie (patrz info ls) - to konstrukcja tego konkretnego kawałka oprogramowania.
1
@ illuminÉ: Jak dokładnie zdefiniowałbyś „ukryty”, jeśli nie jako „domyślnie niewidoczny”? Zauważ, że nie jest to właściwość tylko ls; również rozszerzenie powłoki globów nie obejmie tych plików, chyba że wiodąca kropka zostanie wyraźnie uwzględniona we wzorcu, i zwykle menedżerowie plików nie będą ich pokazywać, chyba że wybierzesz opcję „Pokaż ukryte pliki” (tak, opcja używa tego terminu).
celtschk

Odpowiedzi:

15

Źle zinterpretowałeś podstawowe uzasadnienie „ukrytych plików”. Nie jest

aby nie dopuścić do bałaganu wśród użytkowników.

Chociaż może to mieć konsekwencje dla bardzo nowych użytkowników, dopóki nie dowiedzą się, co to jest „plik kropkowy” ( plik kropkowy i katalog kropkowy są być może bardziej odpowiednie i konkretne terminy niż „ukryty”). Samo w sobie nie przeszkadza ci to w zabawie - po to są uprawnienia. Być może pomaga to wskazać nowym użytkownikom, że nie powinni się z tym bawić, dopóki nie zrozumieją, do czego to służy.

Możesz więc pomyśleć o prefiksie kropki jako swego rodzaju sufiksie pliku - zauważ, że zwykle nie ma żadnego z nich, chociaż może. Wskazuje, że ten plik nie jest interesujący dla ogólnego przeglądania, dlatego lsprzeglądarki plików zwykle go nie wyświetlają. Ponieważ jednak jest to przedrostek zamiast przyrostka, istnieje dodatkowa premia, gdy wyświetlasz je ( ls -a) w kolejności leksykograficznej, aby zobaczyć je wszystkie razem.

Normalnym przeznaczeniem takiego pliku jest użycie przez aplikację (np. Konfigurację). Nie musisz ich używać bezpośrednio, a nawet być ich świadomym.

Tak więc to „ukrywanie” nie ma na celu dosłownie ukryć pliku przed użytkownikiem, ale ma na celu zmniejszenie bałaganu i zapewnienie pewnej organizacji pojęciowo.

Złotowłosa
źródło
Dzięki za odpowiedź. Czy to oznacza, że ​​te pliki mają mniejsze znaczenie i dlatego są ukryte, aby zmniejszyć bałagan?
Przepełnienie pytania
1
Myślę, że to zależy od twojej perspektywy. Mówi coś o tym, jakie znaczenie ma plik (prawdopodobnie). Są one używane w katalogach domowych dla konfiguracji dla poszczególnych użytkowników , ale są również używane w katalogach ogólnie do wskazania dla konfiguracji katalogu . Dwa przykłady: wykorzystają je systemy kontroli wersji, takie jak git; gdy gitskanuje dany katalog, jeśli istnieje .gitignoreplik, odczyta go; a kiedy zaczniesz gdb, odczyta $PWD/.gdbinitplik, jeśli jest obecny ( i a ~/.gdbinit; inna popularna metoda).
goldilocks
4

/etc/skelzawiera pliki do skopiowania do katalogów domowych nowego użytkownika, dlatego nazwy są oczywiście takie same jak w katalogu osobistym użytkownika. To wyjaśnia /etc/skel/.bash_profile. Katalog /rootjest również katalogiem domowym, a mianowicie katalogiem domowym użytkownika root. To wyjaśnia /root/.sshi /root/.config.

/etc/.pwd.lockwydaje się być plikiem blokady. Pliki blokady zwykle nie są zainteresowane, dlatego warto je ukryć.

W przypadku innych plików nie wiem, do czego służą, ale jestem pewien, że istnieje również dobre wytłumaczenie, dlaczego są ukryte.

I oczywiście, goldilocks ma rację, że pliki kropkowe są ukryte nie po to, aby nikt nie mógł z nimi zadzierać (podstawową ideą Uniksa jest założenie, że użytkownik wie, co robi), ale po to, by nie zagracały twoich katalogów ( chociaż dla plików konfiguracyjnych w katalogu domowym etcuważałbym podkatalog za lepsze rozwiązanie).

celtschk
źródło
+1 „pliki konfiguracyjne w katalogu domowym” było dość głupim pomysłem. Są ukryte, aby pojawiały się zawsze, gdy naprawdę nie chcesz ich widzieć.
maaartinus
3

To może być bardzo pozytywna odpowiedź, ale myślę, że głównym powodem, dla którego pliki kropkowe i katalogi kropkowe są oznaczone w ten sposób, nie jest ich ukrywanie ani zasłanianie - myślę, że to tylko po to, aby poinformować użytkownika, że ​​w tych plikach i katalogach należą do programu i użytkownika ustawienia, które mogą być zmieniane przez nich lub przez same programy.

Fakt, że pliki kropkowe i katalogi kropkowe są domyślnie pomijane w wierszu poleceń lsoraz w widokach w większości menedżerów plików, jest tylko towarem - nie chcesz pokazywać wewnętrznych / szczegółowych informacji dla wszystkiego, chyba że zażąda tego użytkownik; jeśli użytkownik chce zmienić ustawienie i nie może tego zrobić za pomocą GUI, bardzo prawdopodobne jest, że znajdzie ustawienie, którego szuka w plikach kropkowych .

np.> w środku $HOME/.vimrcznajdziesz ustawienie konfiguracji dla vim.

jimm-cl
źródło