GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Was gibt der Befehl Ls -al .* zurück?

Zeigt es versteckte Dateinamen in allen Verzeichnissen an? Oder nur das aktuelle Verzeichnis (einschließlich aller darin enthaltenen Verzeichnisse)? Ich kann nicht verstehen, warum ls -ld .* unterschiedliche Ergebnisse zurückgibt (es zeigt versteckte Dateien und Verzeichnisse NUR im aktuellen Verzeichnis, keine Dateien in anderen darin enthaltenen Verzeichnissen)? Auch Was bedeutet -d allein tun (ls -d )?

Akzeptierte Antwort:

ls -al .* zeigt den Inhalt aller Verzeichnisse im aktuellen Verzeichnis, deren Namen mit . beginnen (d. h. alle, die auf den Shell-Glob .* passen )

In Bash ist das .* glob wird zu . aufgelöst und .. auch. Seit . steht für das aktuelle Verzeichnis und .. des übergeordneten Verzeichnisses, der Inhalt dieser beiden Verzeichnisse, einschließlich aller versteckten Dateien und Verzeichnisse, wird ebenfalls angezeigt.

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

Wie in Wofür steht „ls –directory“ erklärt? das -d -Flag bewirkt, dass die Verzeichnisse selbst angezeigt werden, anstelle ihres Inhalts.

das ist auch bei dash der Fall, der Shell, die symbolisch mit sh verknüpft ist bei Ubuntu. Andere Shells, einschließlich zsh und mksh, verhalten sich jedoch intuitiver und enthalten . nicht und .. beim Erweitern von .* . Es ist auch erwähnenswert, dass die meisten Befehle auf .. ausgeführt werden und . wenn sie in einem .* enthalten sind glob (einschließlich chmod und chown – damit kann man sein System richtig durcheinander bringen), der rm Der Befehl wird hilfreicherweise fehlschlagen, dies zu tun.


Ubuntu
  1. Was macht „lc_all=c“?

  2. Was macht ?

  3. Was macht . ~/.bashrc Befehl Tun??

  4. Was gibt malloc(0) zurück?

  5. Was bedeutet - in diesem Linux-Befehl?

Du-Befehl unter Linux

mv-Befehl unter Linux

Mkdir-Befehl unter Linux

Was macht sudo apt-get update?

Was bedeutet Cat-Befehl unter Linux?

Was macht der Startx-Befehl?