Wenn ich ls -a
versteckte Dateien im Ordner betrachtete, wurden standardmäßig 2 versteckte Dateien erstellt. Welche Bedeutung haben diese beiden Dateien .
und ..
?
ls -a
Produziert
. ..
Wenn ich ls -a
versteckte Dateien im Ordner betrachtete, wurden standardmäßig 2 versteckte Dateien erstellt. Welche Bedeutung haben diese beiden Dateien .
und ..
?
ls -a
Produziert
. ..
Antworten:
.
ist der aktuelle Ordner.
..
ist der Ordner über dem aktuellen Ordner - der Ordner, der den aktuellen Ordner enthält.
Manchmal wird dieser einzelne Punkt verwendet, wenn jemand ein Skript in seinem Ausgangsverzeichnis ausführen möchte. Zum Beispiel: ./install-app.sh. Das heißt, die Datei "install-app.sh" befindet sich im aktuellen Verzeichnis. Es wäre genauso gültig, /home/username/directory/install-app.sh auszuführen. Auf die gleiche Weise können Sie auch ../install.app ausführen, wenn sich die Datei im übergeordneten Verzeichnis befindet. Der Grund, warum dies so ist, ist nicht nur für die Navigation, sondern auch, dass es nicht möglich sein sollte, Systemanwendungen versehentlich auszublenden, indem einfach eine Datei in Ihrem Home-Verzeichnis falsch benannt wird.
cd / ; cd ..
: P
::
wurde für das vorherige Verzeichnis verwendet. Pfade ohne :
in ihnen waren aktuelles Verzeichnis. Andernfalls wurde ein vollständiger Pfad (beginnend mit dem Datenträgernamen) erwartet, wobei die Komponenten durch begrenzt sind :
. Ex:Macintosh HD:System Folder:Finder
Dies sind Hardlinks zu den Verzeichnissen self (.) Und parent (..). Sie werden erstellt, wenn Sie ein Verzeichnis erstellen. Sie können niemals gelöscht werden (ohne das Verzeichnis zu löschen, auf das sie zeigen).
Wenn Sie ein Verzeichnis erstellen:
mkdir /tmp/foo
Sie können sehen, dass es tatsächlich 2 Hardlink zu / tmp / foo gibt:
drwxr-xr-x 2 michal michal 4096 2011-08-07 18:40 /tmp/foo
^---- two hardlinks
Das erste ist aus dem Verzeichnis / tmp /, das auf / tmp / foo verweist, und das zweite ist das '.' mit in / tmp / foo / auf sich selbst zeigen.
Beachten Sie auch, dass Sie ls -A
(anstelle von ls -a
) alle Dateien einschließlich versteckter Dateien auflisten können, jedoch die Verzeichnisse .
und ausschließen ..
.
ls -la
da es mir die Berechtigungen und den Besitz des Verzeichnisses anzeigt, in dem ich mich