Appearance
Kapitel 5: Dateioperationen (am häufigsten verwendet)
5.1 Dateierstellung und -löschung (touch, rm, wichtig: Gefahr von rm -rf)
touch - Datei erstellen oder Zeitstempel ändern:
bash
touch datei.txt # Leere Datei erstellen
touch file1.txt file2.txt # Mehrere Dateien gleichzeitig erstellenrm - Datei oder Verzeichnis löschen:
bash
rm datei.txt # Datei löschen (mit Bestätigung)
rm -f datei.txt # Datei gewaltsam löschen (ohne Bestätigung)
rm -r verzeichnis # Verzeichnis rekursiv löschen
rm -rf verzeichnis # Verzeichnis gewaltsam und rekursiv löschen⚠ WICHTIGE WARNHINWEISE:
rm -rf /wird ALLES auf Ihrem System löschen!- Seien Sie extrem vorsichtig mit
rm -rf - Erstellen Sie immer Backups wichtiger Dateien
- Verwenden Sie
rmmit Bedacht
5.2 Dateikopie und -verschiebung (cp, mv, über Verzeichnisgrenzen hinweg)
cp - Datei oder Verzeichnis kopieren:
bash
cp quelle.txt ziel.txt # Datei kopieren
cp -r quelle/ ziel/ # Verzeichnis rekursiv kopieren
cp -p datei.txt /tmp/ # Datei mit Berechtigungen kopierenmv - Datei verschieben oder umbenennen:
bash
mv alte_datei.txt neue_datei.txt # Datei umbenennen
mv datei.txt /tmp/ # Datei verschieben
mv verzeichnis/ /tmp/ # Verzeichnis verschiebenUnterschied zwischen cp und mv:
cp: Kopiert die Datei (Original bleibt erhalten)mv: Verschiebt/benennt um (Original wird entfernt)
5.3 Dateiansichtsbefehle (cat, more, less, head, tail, Unterschiede und Verwendung)
cat - Dateiinhalt anzeigen:
bash
cat datei.txt # Gesamte Datei anzeigen
cat file1.txt file2.txt # Mehrere Dateien nacheinander anzeigen
cat -n datei.txt # Mit Zeilennummern anzeigenmore - Datei seitenweise anzeigen:
bash
more große_datei.txt # Datei seitenweise anzeigen
# Navigation: Leertaste (nächste Seite), Enter (nächste Zeile), q (beenden)less - Erweiterter Dateibetrachter:
bash
less große_datei.txt # Datei mit erweiterten Navigationsmöglichkeiten anzeigen
# Navigation: Pfeiltasten, Page Up/Down, /suchen, q (beenden)head - Erste Zeilen einer Datei anzeigen:
bash
head datei.txt # Erste 10 Zeilen anzeigen
head -n 20 datei.txt # Erste 20 Zeilen anzeigentail - Letzte Zeilen einer Datei anzeigen:
bash
tail datei.txt # Letzte 10 Zeilen anzeigen
tail -n 20 datei.txt # Letzte 20 Zeilen anzeigen
tail -f logfile.log # Datei in Echtzeit überwachen (folgen)5.4 Dateisuchebefehle (find: suchen nach Name/Größe/Zeit)
find - Dateien suchen:
bash
find /home -name "*.txt" # Nach Dateinamen suchen
find /var -size +10M # Nach Dateigröße suchen (>10MB)
find /tmp -mtime -7 # Dateien suchen, die in den letzten 7 Tagen geändert wurden
find . -type f # Nur Dateien suchen
find . -type d # Nur Verzeichnisse suchenHäufige Optionen:
-name: Nach Namen suchen-size: Nach Größe suchen (+größer, -kleiner)-mtime: Nach Änderungszeit suchen-type: Nach Typ suchen (f=Datei, d=Verzeichnis)-exec: Befehl auf Suchergebnisse anwenden
Beispiele:
bash
find . -name "*.log" -exec rm {} \; # Alle .log-Dateien finden und löschen
find /home -user benutzer # Dateien eines bestimmten Benutzers suchen5.5 Dateiinhaltssuche (grep: Schlüsselwörter filtern, häufig von Anfängern verwendet)
grep - Text in Dateien suchen:
bash
grep "suchbegriff" datei.txt # Nach Text in Datei suchen
grep -i "suchbegriff" datei.txt # Groß-/kleinschreibung ignorieren
grep -r "suchbegriff" verzeichnis/ # Rekursiv in Verzeichnis suchen
grep -v "ausnahme" datei.txt # Zeilen ohne Suchbegriff anzeigen
grep -n "suchbegriff" datei.txt # Mit Zeilennummern anzeigenRegular Expressions mit grep:
bash
grep "^start" datei.txt # Zeilen suchen, die mit "start" beginnen
grep "ende$" datei.txt # Zeilen suchen, die mit "ende" enden
grep "[0-9]" datei.txt # Zeilen suchen, die Zahlen enthaltenKombination mit anderen Befehlen:
bash
ps aux | grep apache # Nach laufendem Prozess suchen
cat logfile | grep -i error # Nach Fehlern in Logdatei suchen5.6 Praxisübung: Dateierstellung, -anzeige und -suche kombiniert
Übungsaufgaben:
- Erstellen Sie eine Datei
test.txtmittouch - Schreiben Sie etwas Text in die Datei (verwenden Sie
echoodercat) - Zeigen Sie den Inhalt der Datei mit
catan - Suchen Sie nach einem bestimmten Wort in der Datei mit
grep - Kopieren Sie die Datei in ein neues Verzeichnis
- Löschen Sie die ursprüngliche Datei
- Suchen Sie nach allen
.txt-Dateien in Ihrem Home-Verzeichnis
Lösungen:
bash
touch test.txt
echo "Dies ist ein Test" > test.txt
cat test.txt
grep "Test" test.txt
mkdir backup
cp test.txt backup/
rm test.txt
find ~ -name "*.txt"