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

.  ..

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.


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.


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 ...


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.