init at home
This commit is contained in:
@@ -0,0 +1,390 @@
|
||||
# ls - Dateien und Verzeichnisse auflisten
|
||||
|
||||
Der `ls`-Befehl listet Dateien und Verzeichnisse auf und zeigt deren Eigenschaften.
|
||||
|
||||
## Grundsyntax
|
||||
|
||||
```bash
|
||||
ls [OPTIONEN] [PFAD...]
|
||||
```
|
||||
|
||||
## Grundlegende Verwendung
|
||||
|
||||
### Einfache Auflistung
|
||||
|
||||
```bash
|
||||
ls # Aktuelles Verzeichnis
|
||||
ls /pfad/zum/ordner # Bestimmtes Verzeichnis
|
||||
ls datei.txt # Einzelne Datei
|
||||
```
|
||||
|
||||
### Versteckte Dateien anzeigen
|
||||
|
||||
```bash
|
||||
ls -a # Alle Dateien (inkl. .dotfiles)
|
||||
ls -A # Alle außer . und ..
|
||||
```
|
||||
|
||||
## Detaillierte Ausgabe
|
||||
|
||||
### Long Format (-l)
|
||||
|
||||
```bash
|
||||
ls -l
|
||||
```
|
||||
|
||||
Beispielausgabe:
|
||||
```
|
||||
-rw-r--r-- 1 alice developers 1234 Nov 7 10:00 datei.txt
|
||||
drwxr-xr-x 2 alice developers 4096 Nov 7 09:30 ordner
|
||||
lrwxrwxrwx 1 alice developers 15 Nov 7 08:00 link -> /pfad/zu/ziel
|
||||
```
|
||||
|
||||
Spalten:
|
||||
- **1. Zeichen**: Typ (`-` = Datei, `d` = Verzeichnis, `l` = Link)
|
||||
- **2-10**: Rechte (rwx für User, Group, Others)
|
||||
- **Zahl**: Anzahl Hardlinks
|
||||
- **User**: Eigentümer
|
||||
- **Group**: Gruppe
|
||||
- **Größe**: in Bytes
|
||||
- **Datum/Zeit**: letzte Änderung
|
||||
- **Name**: Dateiname
|
||||
|
||||
### Menschenlesbare Größen (-h)
|
||||
|
||||
```bash
|
||||
ls -lh
|
||||
```
|
||||
|
||||
Beispielausgabe:
|
||||
```
|
||||
-rw-r--r-- 1 user staff 12K Nov 7 10:00 file.txt
|
||||
-rw-r--r-- 1 user staff 1.2M Nov 7 09:30 big.dat
|
||||
drwxr-xr-x 2 user staff 4.0K Nov 7 08:00 ordner
|
||||
```
|
||||
|
||||
Größen werden in KB, MB, GB statt Bytes angezeigt.
|
||||
|
||||
## Sortierung
|
||||
|
||||
### Nach Name (Standard)
|
||||
|
||||
```bash
|
||||
ls # Alphabetisch
|
||||
ls -r # Umgekehrt
|
||||
```
|
||||
|
||||
### Nach Änderungsdatum
|
||||
|
||||
```bash
|
||||
ls -lt # Neueste zuerst
|
||||
ls -ltr # Älteste zuerst
|
||||
```
|
||||
|
||||
### Nach Größe
|
||||
|
||||
```bash
|
||||
ls -lS # Größte zuerst
|
||||
ls -lSr # Kleinste zuerst
|
||||
```
|
||||
|
||||
### Nach Erweiterung
|
||||
|
||||
```bash
|
||||
ls -lX # Gruppiert nach Dateityp
|
||||
```
|
||||
|
||||
## Rekursive Auflistung
|
||||
|
||||
```bash
|
||||
ls -R # Alle Unterverzeichnisse
|
||||
ls -R /pfad # Ab bestimmtem Pfad
|
||||
```
|
||||
|
||||
## Nur bestimmte Dateien
|
||||
|
||||
### Mit Wildcards
|
||||
|
||||
```bash
|
||||
ls *.txt # Alle .txt Dateien
|
||||
ls *.{jpg,png} # Alle .jpg und .png
|
||||
ls file[0-9]* # file0, file1, file2, ...
|
||||
```
|
||||
|
||||
### Nur Verzeichnisse
|
||||
|
||||
```bash
|
||||
ls -d */ # Nur Verzeichnisse
|
||||
ls -ld */ # Mit Details
|
||||
```
|
||||
|
||||
### Nur Dateien (keine Verzeichnisse)
|
||||
|
||||
```bash
|
||||
ls -p | grep -v /
|
||||
```
|
||||
|
||||
## Farben
|
||||
|
||||
```bash
|
||||
ls --color=auto # Farbige Ausgabe
|
||||
ls --color=never # Ohne Farben
|
||||
ls --color=always # Immer Farben (auch in Pipes)
|
||||
```
|
||||
|
||||
Typische Farben:
|
||||
- **Blau**: Verzeichnisse
|
||||
- **Grün**: Ausführbare Dateien
|
||||
- **Cyan**: Symbolische Links
|
||||
- **Rot**: Archive
|
||||
- **Gelb**: Devices
|
||||
|
||||
## Spezielle Formate
|
||||
|
||||
### Einzelne Spalte
|
||||
|
||||
```bash
|
||||
ls -1 # Eine Datei pro Zeile
|
||||
```
|
||||
|
||||
### Komma-getrennt
|
||||
|
||||
```bash
|
||||
ls -m # Komma-getrennte Liste
|
||||
```
|
||||
|
||||
### Mit Inode-Nummern
|
||||
|
||||
```bash
|
||||
ls -i # Zeigt Inode-Nummern
|
||||
```
|
||||
|
||||
### Numerische UIDs/GIDs
|
||||
|
||||
```bash
|
||||
ls -n # User/Group als Zahlen statt Namen
|
||||
```
|
||||
|
||||
## Dateigrößen analysieren
|
||||
|
||||
### Größe einzelner Dateien
|
||||
|
||||
```bash
|
||||
ls -lh datei.txt
|
||||
```
|
||||
|
||||
Ausgabe:
|
||||
```
|
||||
-rw-r--r-- 1 user staff 12K Nov 7 10:00 datei.txt
|
||||
```
|
||||
|
||||
### Größe mit stat
|
||||
|
||||
Nur die Größe in Bytes:
|
||||
|
||||
```bash
|
||||
stat -c%s datei.txt
|
||||
```
|
||||
|
||||
Mit Dateiname:
|
||||
|
||||
```bash
|
||||
stat -c "%s %n" *
|
||||
```
|
||||
|
||||
### Größe von Verzeichnissen
|
||||
|
||||
`ls` zeigt nur die Größe des Verzeichniseintrags (meist 4K), nicht den Inhalt!
|
||||
|
||||
Für echte Verzeichnisgröße nutze `du`:
|
||||
|
||||
```bash
|
||||
du -sh ordner/ # Gesamtgröße
|
||||
du -h --max-depth=1 # Größen aller Unterordner
|
||||
```
|
||||
|
||||
Beispielausgabe:
|
||||
```
|
||||
200M ./Bilder
|
||||
1.3G ./Videos
|
||||
50K ./Dokumente
|
||||
1.5G .
|
||||
```
|
||||
|
||||
Mit 1000er-Schritten statt 1024er:
|
||||
|
||||
```bash
|
||||
du -h --si --max-depth=1
|
||||
```
|
||||
|
||||
### Nach Größe sortiert
|
||||
|
||||
```bash
|
||||
du -sh * | sort -h # Alle Dateien/Ordner sortiert
|
||||
ls -lhS # Nur Dateien, größte zuerst
|
||||
```
|
||||
|
||||
### Größte Dateien finden
|
||||
|
||||
Top 10 größte Dateien:
|
||||
|
||||
```bash
|
||||
du -ah . | sort -rh | head -n 10
|
||||
```
|
||||
|
||||
Mit [[find]]:
|
||||
|
||||
```bash
|
||||
find . -type f -exec du -h {} + | sort -rh | head -n 10
|
||||
```
|
||||
|
||||
### Speicherplatznutzung überwachen
|
||||
|
||||
Gesamter Speicherplatz:
|
||||
|
||||
```bash
|
||||
df -h # Dateisysteme
|
||||
df -h /home # Bestimmter Mountpoint
|
||||
```
|
||||
|
||||
## Zeitstempel
|
||||
|
||||
### Änderungszeit (Standard)
|
||||
|
||||
```bash
|
||||
ls -l # Zeigt mtime (modification time)
|
||||
```
|
||||
|
||||
### Zugriffszeit
|
||||
|
||||
```bash
|
||||
ls -lu # Zeigt atime (access time)
|
||||
```
|
||||
|
||||
### Statusänderungszeit
|
||||
|
||||
```bash
|
||||
ls -lc # Zeigt ctime (change time)
|
||||
```
|
||||
|
||||
### Mit vollständigem Zeitstempel
|
||||
|
||||
```bash
|
||||
ls -l --time-style=full-iso
|
||||
ls -l --time-style=long-iso
|
||||
ls -l --time-style=iso
|
||||
```
|
||||
|
||||
## Praktische Kombinationen
|
||||
|
||||
### Übersichtliche Dateiliste
|
||||
|
||||
```bash
|
||||
ls -lhA # Details, lesbar, alle außer . und ..
|
||||
ls -lhAtr # Dazu sortiert nach Datum, älteste zuerst
|
||||
```
|
||||
|
||||
### Schnelle Dateisuche
|
||||
|
||||
```bash
|
||||
ls -la | grep datei # Suche in aktueller Liste
|
||||
```
|
||||
|
||||
### Nur Größen von Verzeichnissen
|
||||
|
||||
```bash
|
||||
du -sh */ # Alle Unterverzeichnisse
|
||||
```
|
||||
|
||||
### Dateien nach Änderung heute
|
||||
|
||||
```bash
|
||||
ls -lt | head # Neueste Dateien
|
||||
```
|
||||
|
||||
### Ausführbare Dateien finden
|
||||
|
||||
```bash
|
||||
ls -l | grep '^-..x'
|
||||
```
|
||||
|
||||
### Große Dateien finden
|
||||
|
||||
```bash
|
||||
ls -lhS | head -n 10 # Top 10 größte Dateien
|
||||
```
|
||||
|
||||
### Versteckte Dateien zählen
|
||||
|
||||
```bash
|
||||
ls -A | wc -l
|
||||
```
|
||||
|
||||
## Nützliche Aliases
|
||||
|
||||
Setze in `~/.bashrc`:
|
||||
|
||||
```bash
|
||||
alias ll='ls -lhA'
|
||||
alias la='ls -A'
|
||||
alias l='ls -CF'
|
||||
alias lt='ls -lhAtr'
|
||||
alias lsize='ls -lhS'
|
||||
```
|
||||
|
||||
## Zusammen mit anderen Befehlen
|
||||
|
||||
### Mit find
|
||||
|
||||
```bash
|
||||
find . -name "*.log" -exec ls -lh {} \;
|
||||
```
|
||||
|
||||
### Mit grep
|
||||
|
||||
```bash
|
||||
ls -la | grep "Nov 7" # Dateien von heute
|
||||
ls -la | grep "^d" # Nur Verzeichnisse
|
||||
```
|
||||
|
||||
### Mit awk
|
||||
|
||||
```bash
|
||||
ls -l | awk '{print $9, $5}' # Name und Größe
|
||||
```
|
||||
|
||||
### Mit xargs
|
||||
|
||||
```bash
|
||||
ls *.txt | xargs rm # VORSICHT: Löscht alle .txt
|
||||
```
|
||||
|
||||
## Fehler vermeiden
|
||||
|
||||
### Dateien mit Leerzeichen
|
||||
|
||||
```bash
|
||||
# FALSCH
|
||||
ls *.txt | xargs rm
|
||||
|
||||
# RICHTIG
|
||||
find . -name "*.txt" -print0 | xargs -0 rm
|
||||
```
|
||||
|
||||
### Alias-Konflikte
|
||||
|
||||
Viele Systeme haben `ls` als Alias mit `--color=auto` definiert. Um den echten Befehl zu nutzen:
|
||||
|
||||
```bash
|
||||
\ls # Umgeht Alias
|
||||
command ls # Umgeht Alias
|
||||
/bin/ls # Direkter Pfad
|
||||
```
|
||||
|
||||
## Siehe auch
|
||||
|
||||
- [[find]] - Erweiterte Dateisuche mit Kriterien
|
||||
- [[grep]] - Ausgabe filtern
|
||||
- [[Dateiberechtigungen]] - Bedeutung der Rechtespalten
|
||||
- [[lsblk]] - Block-Geräte statt Dateien
|
||||
- [[du]] - Detaillierte Größenanalyse
|
||||
Reference in New Issue
Block a user