it-swarm.com.de

Was gibt der Befehl ls -al. * Zurück?

Zeigt es versteckte Dateinamen in allen Verzeichnissen? Oder nur das aktuelle Verzeichnis (einschließlich aller darin enthaltenen Verzeichnisse)? Ich kann nicht verstehen, warum ls -ld .* unterschiedliche Ergebnisse zurückgibt (es werden NUR versteckte Dateien und Verzeichnisse im aktuellen Verzeichnis und keine Dateien in einem anderen Verzeichnis darin angezeigt). Auch was macht -d alleine (ls -d)?

5
BEWARB

ls -al .* zeigt den Inhalt aller Verzeichnisse im aktuellen Verzeichnis an, deren Namen mit . beginnen (dh alle, die mit dem Shell-Glob .* übereinstimmen)

In Bash wird der Glob .* ebenfalls in . und .. aufgelöst. Da . das aktuelle Verzeichnis und .. das übergeordnete Verzeichnis darstellt, wird auch der Inhalt dieser beiden Verzeichnisse einschließlich aller versteckten Dateien und Verzeichnisse angezeigt.1

.* fängt auch versteckte Dateien im aktuellen Verzeichnis ab, aber sie werden trotzdem als Inhalt von . aufgelistet

Wie in Wofür steht "ls --directory"? Das Flag "-d" bewirkt, dass die Verzeichnisse selbst anstelle ihres Inhalts angezeigt werden.


1dies ist auch im Bindestrich der Fall, bei dem es sich um die Shell handelt, die in Ubuntu mit sh verknüpft ist. Andere Shells, einschließlich zsh und mksh, verhalten sich jedoch intuitiver und schließen . und .. nicht ein, wenn Sie .* erweitern. Es ist auch erwähnenswert, dass die meisten Befehle für .. und . ausgeführt werden, wenn sie in einem .* Glob enthalten sind (einschließlich chmod und chown - Damit können Sie Ihr System wirklich durcheinander bringen. Der Befehl rm schlägt absichtlich fehl.

8
Zanna

Es listet alle Dateien + Verzeichnisse einschließlich versteckter Dateien/Verzeichnisse im aktuellen Verzeichnis zusammen mit den Dateien auf, deren Namen mit . beginnen.

ls bedeutet, dass die Verzeichnisse zusammen mit den Dateien im aktuellen Verzeichnis aufgelistet werden.
a bezeichnet alle versteckten und nicht versteckten Dateien im Verzeichnis.
l bezeichnet die lange Auflistung von Informationen über Dateien + Verzeichnis mit ihren Berechtigungen und der zuletzt aktualisierten Zeit.
.* bezeichnet alle versteckten Dateien im aktuellen Verzeichnis, beginnend mit . in ihrem Namen.

2
jatingoel1349

Es werden alle versteckten Dateien oder Dateien zurückgegeben, die mit . in diesem Verzeichnis beginnen. Verwenden Sie ls -al, um alle Dateien (einschließlich der ausgeblendeten) in einem Verzeichnis anzuzeigen.

2
Dan Humphreys