Co oznaczają „.” I „..” w folderze?

34

kiedy ls -aprzeglądałem ukryte pliki w folderze, domyślnie tworzone były 2 ukryte pliki, jakie jest znaczenie tych dwóch plików .i ..?

ls -a

Produkuje

.  ..
mr_eclair
źródło
Używam ich dużo, kiedy to robię, ls -laponieważ pokaże mi uprawnienia i prawa własności do katalogu, w którym jestem, i katalogu powyżej tego, w którym jestem.
Marco Ceppi
nie mam tutaj wystarczającej liczby przedstawicieli, aby zagłosować, aby zamknąć, ale umieściłem flagę na tym pytaniu, ponieważ jest to pytanie, na które można odpowiedzieć w ciągu 3 sekund, wyszukując w Google (i ponieważ niedawno odbyła się dyskusja na temat pytań, które są zbyt łatwe na SO blogu).
zzzzBov
1
^ zzzzBov Dziękuję po hiszpańsku za hojność.
mr_eclair

Odpowiedzi:

40

. jest bieżącym folderem.

.. to folder powyżej bieżącego folderu - folder zawierający bieżący folder.

Czasami zobaczysz tę pojedynczą kropkę, gdy ktoś chce uruchomić skrypt z katalogu domowego. Na przykład: ./install-app.sh. Oznacza to, że plik „install-app.sh” znajduje się w bieżącym katalogu. Równie poprawne byłoby wykonanie /home/username/directory/install-app.sh. W ten sam sposób możesz również zrobić ../install.app, jeśli plik znajduje się w katalogu nadrzędnym. Przyczyną takiego stanu rzeczy jest nie tylko nawigacja, ale także to, że przypadkowe ukrycie aplikacji systemowych po prostu przez błędne nazwanie pliku w katalogu domowym nie powinno być możliwe.

dv3500ea
źródło
100% poprawności. Pomyśl o nich jak o hakach, które znajdują się w każdym katalogu. Służą one wyłącznie do nawigacji. Przekonasz się, że nie jest to tylko standard Linux, ale także w systemie Windows. Prawdopodobnie to samo na Unixie i Macu, ale nigdy nie bawiłem się w żadnym z ich poleceń.
Ctuchik
1
cd / ; cd ..: P
htorque,
1
Podobnie jest we FreeBSD, więc wyobrażam sobie, że tak samo jest na Macu, ponieważ Mac jest oparty na Darwin BSD.
Azendale,
htorque: może jesteś osobą religijną? :)
Jo-Erlend Schinstad
Jest na Mac OS X (który działa tak jak każdy inny Uniks, chociaż GUI ukrywa niektóre z nich). Mac OS Classic ich nie miał; ::został użyty w poprzednim katalogu. Ścieżki bez :nich były bieżącym katalogiem. W przeciwnym razie oczekiwano pełnej ścieżki (zaczynającej się od nazwy dysku), z komponentami ograniczonymi przez :. Np .:Macintosh HD:System Folder:Finder
derobert
4

Są to linki prowadzące do katalogów self (.) I macierzystych (..). Są tworzone, gdy tworzysz katalog. Nigdy nie można ich usunąć (bez usuwania wskazanego przez nich katalogu).

Jeśli utworzysz katalog:

mkdir /tmp/foo

widać, że tak naprawdę istnieją 2 hardlink do / tmp / foo:

drwxr-xr-x 2 michal michal 4096 2011-08-07 18:40 /tmp/foo
           ^---- two hardlinks

pierwszy z katalogu / tmp / wskazuje na / tmp / foo, a drugi to „.” z in / tmp / foo / wskazującym na siebie.

Michał Šrajer
źródło
2

Pamiętaj również, że możesz użyć ls -A(zamiast ls -a), aby wyświetlić listę wszystkich plików, w tym plików ukrytych, ale z wyłączeniem katalogów .i ...

Paddy Landau
źródło
0

. poprawny folder

.. folder nadrzędny

RobinJ
źródło