Skip to content

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 erstellen

rm - 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 rm mit 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 kopieren

mv - Datei verschieben oder umbenennen:

bash
mv alte_datei.txt neue_datei.txt    # Datei umbenennen
mv datei.txt /tmp/                  # Datei verschieben
mv verzeichnis/ /tmp/               # Verzeichnis verschieben

Unterschied 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 anzeigen

more - 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 anzeigen

tail - 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 suchen

Hä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 suchen

5.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 anzeigen

Regular 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 enthalten

Kombination mit anderen Befehlen:

bash
ps aux | grep apache                      # Nach laufendem Prozess suchen
cat logfile | grep -i error               # Nach Fehlern in Logdatei suchen

5.6 Praxisübung: Dateierstellung, -anzeige und -suche kombiniert

Übungsaufgaben:

  1. Erstellen Sie eine Datei test.txt mit touch
  2. Schreiben Sie etwas Text in die Datei (verwenden Sie echo oder cat)
  3. Zeigen Sie den Inhalt der Datei mit cat an
  4. Suchen Sie nach einem bestimmten Wort in der Datei mit grep
  5. Kopieren Sie die Datei in ein neues Verzeichnis
  6. Löschen Sie die ursprüngliche Datei
  7. 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"

Frei für alle Anfänger