Bash
Dateien auflisten
Suche…
Syntax
- ls [OPTION] ... [DATEI] ...
Parameter
Möglichkeit | Beschreibung |
---|---|
-a , --all | Listen Sie alle Einträge auf, einschließlich derjenigen, die mit einem Punkt beginnen |
-A , - --almost-all | Listet alle Einträge außer auf . und .. |
-c | Dateien nach Änderungszeit sortieren |
-d , --directory | Verzeichniseinträge auflisten |
-h , --human-readable | Größen in einem für Menschen lesbaren Format anzeigen (z. B. K , M ) |
-H | Wie oben nur bei Potenzen von 1000 statt 1024 |
-l | Inhalte im Format für lange Auflistung anzeigen |
-o | Long-Listing-Format ohne Gruppeninformationen |
-r , --reverse | Inhalt in umgekehrter Reihenfolge anzeigen |
-s , --size | Druckgröße jeder Datei in Blöcken |
-S | Sortieren nach Dateigröße |
--sort=WORD | Inhalte nach einem Wort sortieren (dh Größe, Version, Status) |
-t | Nach Änderungszeit sortieren |
-u | Sortieren nach letzter Zugriffszeit |
-v | Nach Version sortieren |
-1 | Listen Sie eine Datei pro Zeile auf |
Dateien auflisten
Der Befehl ls
listet den Inhalt eines angegebenen Verzeichnisses mit Ausnahme von dotfiles auf. Wenn kein Verzeichnis angegeben ist, werden standardmäßig die Inhalte des aktuellen Verzeichnisses aufgelistet.
Aufgelistete Dateien werden standardmäßig alphabetisch sortiert und in Spalten ausgerichtet, wenn sie nicht in eine Zeile passen.
$ ls
apt configs Documents Fonts Music Programming Templates workspace
bin Desktop eclipse git Pictures Public Videos
Dateien in einem langen Auflistungsformat auflisten
Die Option -l
ls
druckt den Inhalt eines angegebenen Verzeichnisses in einem langen Auflistungsformat. Wenn kein Verzeichnis angegeben ist, werden standardmäßig die Inhalte des aktuellen Verzeichnisses aufgelistet.
ls -l /etc
Beispielausgabe:
total 1204
drwxr-xr-x 3 root root 4096 Apr 21 03:44 acpi
-rw-r--r-- 1 root root 3028 Apr 21 03:38 adduser.conf
drwxr-xr-x 2 root root 4096 Jun 11 20:42 alternatives
...
Die Ausgabe zeigt zuerst die total
, die die Gesamtgröße aller Dateien in dem aufgelisteten Verzeichnis in Blöcken angibt. Es zeigt dann acht Informationsspalten für jede Datei im aufgelisteten Verzeichnis an. Nachfolgend sind die Details für jede Spalte in der Ausgabe aufgeführt:
Spalte Nr. | Beispiel | Beschreibung |
---|---|---|
1.1 | d | Dateityp (siehe Tabelle unten) |
1.2 | rwxr-xr-x | Berechtigungszeichenfolge |
2 | 3 | Anzahl der Hardlinks |
3 | root | Besitzername |
4 | root | Eigentümergruppe |
5 | 4096 | Dateigröße in Bytes |
6 | Apr 21 03:44 | Änderungszeit |
7 | acpi | Dateiname |
Dateityp
Der Dateityp kann eines der folgenden Zeichen sein.
Charakter | Dateityp |
---|---|
- | Reguläre Datei |
b | Spezielle Datei blockieren |
c | Zeichendatei |
C | Hochleistungsdatei ("zusammenhängende Daten") |
d | Verzeichnis |
D | Tür (nur spezielle IPC-Datei in Solaris 2.5+) |
l | Symbolischer Link |
M | Offline-Datei ("migriert") (Cray DMF) |
n | Netzwerk-Spezialdatei (HP-UX) |
p | FIFO (Named Pipe) |
P | Port (spezielle Systemdatei nur in Solaris 10+) |
s | Steckdose |
? | Ein anderer Dateityp |
Listendateien nach Größe sortiert
Mit der Option -S
ls
die Dateien in absteigender Reihenfolge der Dateigröße sortiert.
$ ls -l -S ./Fruits
total 444
-rw-rw-rw- 1 root root 295303 Jul 28 19:19 apples.jpg
-rw-rw-rw- 1 root root 102283 Jul 28 19:19 kiwis.jpg
-rw-rw-rw- 1 root root 50197 Jul 28 19:19 bananas.jpg
Bei Verwendung der Option -r
die Sortierreihenfolge umgekehrt.
$ ls -l -S -r /Fruits
total 444
-rw-rw-rw- 1 root root 50197 Jul 28 19:19 bananas.jpg
-rw-rw-rw- 1 root root 102283 Jul 28 19:19 kiwis.jpg
-rw-rw-rw- 1 root root 295303 Jul 28 19:19 apples.jpg
Listendateien ohne 'ls'
Verwenden Sie die Dateinamenerweiterung der Bash-Shell und die Erweiterungsfunktionen für geschweifte Klammern , um die Dateinamen zu erhalten:
# display the files and directories that are in the current directory
printf "%s\n" *
# display only the directories in the current directory
printf "%s\n" */
# display only (some) image files
printf "%s\n" *.{gif,jpg,png}
Um eine Liste von Dateien in einer Variablen für die Verarbeitung zu erfassen, ist es normalerweise ratsam, ein Bash-Array zu verwenden :
files=( * )
# iterate over them
for file in "${files[@]}"; do
echo "$file"
done
Listen Sie die zehn zuletzt geänderten Dateien auf
Im Folgenden werden bis zu zehn der zuletzt geänderten Dateien im aktuellen Verzeichnis mit einem langen Auflistungsformat ( -l
) und nach Zeit ( -t
) sortiert aufgeführt.
ls -lt | head
Alle Dateien auflisten, einschließlich Dotfiles
Eine Punktdatei ist eine Datei, deren Namen mit a beginnen .
. Diese werden normalerweise von ls
ausgeblendet und nicht aufgeführt, sofern dies nicht verlangt wird.
Zum Beispiel folgende Ausgabe von ls
:
$ ls
bin pki
Die Option -a
oder --all
listet alle Dateien auf, einschließlich Dotfiles.
$ ls -a
. .ansible .bash_logout .bashrc .lesshst .puppetlabs .viminfo
.. .bash_history .bash_profile bin pki .ssh
Mit der Option -A
oder - --almost-all
werden alle Dateien einschließlich der Punktdateien aufgelistet, jedoch nicht impliziert .
und ..
Beachten Sie das .
ist das aktuelle Verzeichnis und ..
ist das übergeordnete Verzeichnis.
$ ls -A
.ansible .bash_logout .bashrc .lesshst .puppetlabs .viminfo
.bash_history .bash_profile bin pki .ssh
Dateien in einem baumähnlichen Format auflisten
Der tree
listet den Inhalt eines angegebenen Verzeichnisses in einem baumartigen Format auf. Wenn kein Verzeichnis angegeben ist, werden standardmäßig die Inhalte des aktuellen Verzeichnisses aufgelistet.
Beispielausgabe:
$ tree /tmp
/tmp
├── 5037
├── adb.log
└── evince-20965
└── image.FPWTJY.png
Verwenden Sie die Option -L
des tree
Befehls, um die Anzeigetiefe zu begrenzen, und die Option -d
um nur Verzeichnisse anzuzeigen.
Beispielausgabe:
$ tree -L 1 -d /tmp
/tmp
└── evince-20965