sammlung:cd_pwd_cp_mv_rm
Inhaltsverzeichnis
Grundlegende Dateiverwaltung: cd, pwd, cp, mv, rm
Diese fünf Kommandos gehören zu den wichtigsten und meistgenutzten Befehlen in Linux. Sie ermöglichen Navigation im Dateisystem sowie das Kopieren, Verschieben und Löschen von Dateien und Verzeichnissen.
Voraussetzungen
- Zugriff auf die Linux-Kommandozeile
- Grundkenntnisse in Bash-Kommandos
- Verständnis der Verzeichnisstruktur
Übersicht
| Kommando | Bedeutung | Funktion |
|---|---|---|
| cd | Change Directory | Verzeichnis wechseln |
| pwd | Print Working Directory | Aktuellen Pfad anzeigen |
| cp | Copy | Dateien/Verzeichnisse kopieren |
| mv | Move | Dateien/Verzeichnisse verschieben oder umbenennen |
| rm | Remove | Dateien/Verzeichnisse löschen |
cd - Change Directory
cd wechselt das aktuelle Arbeitsverzeichnis.
Grundlegende Syntax
cd [VERZEICHNIS]
Häufige Anwendungen
# Ins Home-Verzeichnis wechseln cd cd ~ cd $HOME # In ein bestimmtes Verzeichnis cd /var/log cd Documents cd /home/user/projects # Ein Verzeichnis nach oben cd .. # Zwei Verzeichnisse nach oben cd ../.. # Zum vorherigen Verzeichnis zurück cd - # In Unterverzeichnis cd ./unterordner
Relative und absolute Pfade
# Absoluter Pfad (beginnt mit /) cd /usr/local/bin # Relativer Pfad (von aktuellem Verzeichnis) cd documents/projekt1 # Mit Tilde (~) für Home cd ~/Downloads cd ~user/public # Aktuelles Verzeichnis (.) cd . cd ./scripts
Spezielle Verzeichnisse
# Root-Verzeichnis cd / # Home-Verzeichnis cd ~ # Vorheriges Verzeichnis cd - # Beispiel: Hin und Her wechseln cd /var/log cd /etc cd - # Zurück zu /var/log cd - # Zurück zu /etc
Praktische Beispiele
# Schnell zwischen Verzeichnissen wechseln cd ~/projects/website cd - # Zurück zum vorherigen Ort cd - # Wieder zum Website-Projekt # Mehrere Ebenen navigieren cd ../../bin # Mit Leerzeichen im Pfad (Maskieren) cd "Meine Dokumente" cd Meine\ Dokumente # Wenn Verzeichnis nicht existiert cd /nicht/vorhanden # bash: cd: /nicht/vorhanden: Datei oder Verzeichnis nicht gefunden
Tipps
# Auto-Completion nutzen (Tab-Taste) cd /var/lo[TAB] # Vervollständigt zu /var/log # CDPATH für häufig genutzte Verzeichnisse export CDPATH=.:~:~/projects cd website # Sucht in ~/projects/website
pwd - Print Working Directory
pwd zeigt den vollständigen Pfad des aktuellen Verzeichnisses an.
Grundlegende Syntax
pwd [OPTIONEN]
Häufige Anwendungen
# Aktuelles Verzeichnis anzeigen pwd # Ausgabe: /home/user/documents # Physischen Pfad anzeigen (symlinks auflösen) pwd -P # Logischen Pfad anzeigen (mit symlinks) pwd -L
Praktische Beispiele
# Orientierung beim Navigieren cd /var/log pwd # /var/log cd .. pwd # /var # In Skripten verwenden CURRENT_DIR=$(pwd) echo "Arbeite in: $CURRENT_DIR" # Prompt mit Pfad PS1='\u@\h:$(pwd)\$ ' # Kombination mit anderen Befehlen echo "Ich bin hier: $(pwd)" ls $(pwd) # Expliziter Pfad
Unterschied -P und -L
# Beispiel mit Symlink ln -s /var/log /home/user/logs cd /home/user/logs pwd -L # /home/user/logs (logischer Pfad) pwd -P # /var/log (physischer Pfad)
cp - Copy
cp kopiert Dateien und Verzeichnisse.
Grundlegende Syntax
cp [OPTIONEN] QUELLE ZIEL cp [OPTIONEN] QUELLE... VERZEICHNIS
Häufige Anwendungen
# Datei kopieren cp datei.txt kopie.txt # In anderes Verzeichnis kopieren cp datei.txt /tmp/ # Mehrere Dateien kopieren cp datei1.txt datei2.txt datei3.txt /backup/ # Mit neuem Namen kopieren cp alt.txt /tmp/neu.txt # Verzeichnis rekursiv kopieren cp -r verzeichnis/ kopie_verzeichnis/ # Mit Wildcards cp *.txt /backup/ cp dokument?.pdf archiv/
Wichtige Optionen
# Rekursiv (für Verzeichnisse) cp -r ordner/ backup_ordner/ # Interaktiv (vor Überschreiben fragen) cp -i datei.txt ziel.txt # Verbose (zeigt was kopiert wird) cp -v datei.txt backup/ # Attribute beibehalten cp -p datei.txt backup/ # Zeitstempel, Rechte, etc. # Nur wenn Quelle neuer ist cp -u datei.txt backup/ # Verzeichnis komplett kopieren cp -a ordner/ backup/ # Entspricht -dpr --preserve=all
Praktische Beispiele
# Backup erstellen cp wichtig.txt wichtig.txt.backup cp config.ini config.ini.$(date +%Y%m%d) # Komplettes Verzeichnis sichern cp -a /home/user/documents /backup/ # Nur PDF-Dateien kopieren cp *.pdf /archiv/ # Mit Bestätigung cp -i *.conf /etc/ # Struktur erhalten cp --parents /var/log/app/error.log /backup/ # Erstellt /backup/var/log/app/error.log # Symlinks kopieren (nicht auflösen) cp -d symlink ziel/ # Sparse Files korrekt kopieren cp --sparse=always große-datei.img backup/
Fehlerbehandlung
# Fehler ignorieren und fortfahren cp -r ordner/ backup/ 2>/dev/null # Mit Fortschrittsanzeige (für große Dateien) rsync -ah --progress datei.img backup/ # Nur neue/geänderte Dateien rsync -av --update quelle/ ziel/
mv - Move
mv verschiebt Dateien/Verzeichnisse oder benennt sie um.
Grundlegende Syntax
mv [OPTIONEN] QUELLE ZIEL mv [OPTIONEN] QUELLE... VERZEICHNIS
Häufige Anwendungen
# Datei umbenennen mv alt.txt neu.txt # Datei verschieben mv datei.txt /tmp/ # Verzeichnis umbenennen mv alter_name neuer_name # Verzeichnis verschieben mv ordner/ /opt/ # Mehrere Dateien verschieben mv datei1.txt datei2.txt datei3.txt /ziel/ # Mit Wildcards mv *.log /var/log/archiv/
Wichtige Optionen
# Interaktiv (vor Überschreiben fragen) mv -i datei.txt ziel.txt # Verbose (zeigt was verschoben wird) mv -v *.txt dokumente/ # Kein Überschreiben mv -n datei.txt ziel.txt # Backup bei Überschreiben mv -b datei.txt ziel.txt # Erstellt ziel.txt~ # Nur wenn Quelle neuer mv -u datei.txt backup/
Praktische Beispiele
# Datei umbenennen mv report.txt report_final.txt mv 'datei mit leerzeichen.txt' datei-ohne-leerzeichen.txt # Ordner umbenennen mv projekt_alt projekt_neu # In anderes Verzeichnis verschieben mv *.mp3 ~/Musik/ mv dokument.pdf ~/Dokumente/2024/ # Dateien sortieren mv *.jpg bilder/ mv *.mp4 videos/ mv *.pdf dokumente/ # Batch-Umbenennung mit Schleife for file in *.JPG; do mv "$file" "${file%.JPG}.jpg" done # Groß-/Kleinschreibung ändern mv DATEI.TXT temp_file mv temp_file datei.txt # Mit Zeitstempel mv log.txt log.txt.$(date +%Y%m%d_%H%M%S)
Wichtige Hinweise
# ACHTUNG: mv überschreibt ohne Warnung! mv wichtig.txt dokumente/wichtig.txt # Überschreibt ohne Nachfrage # Besser: Mit -i mv -i wichtig.txt dokumente/wichtig.txt # mv über Dateisystem-Grenzen = kopieren + löschen mv /home/user/datei.txt /mnt/usb/ # Kann länger dauern
rm - Remove
rm löscht Dateien und Verzeichnisse unwiederbringlich.
Grundlegende Syntax
rm [OPTIONEN] DATEI...
WARNUNG: rm löscht Dateien permanent! Es gibt keinen Papierkorb in der Kommandozeile. Gelöschte Dateien sind meist unwiederbringlich verloren.
Häufige Anwendungen
# Datei löschen rm datei.txt # Mehrere Dateien löschen rm datei1.txt datei2.txt datei3.txt # Mit Wildcards rm *.tmp rm backup_* # Leeres Verzeichnis löschen rmdir leerer_ordner/ # Verzeichnis mit Inhalt löschen rm -r ordner/ # Interaktiv (nachfragen) rm -i datei.txt
Wichtige Optionen
# Rekursiv (Verzeichnisse) rm -r verzeichnis/ # Force (keine Rückfragen) rm -f datei.txt # Interaktiv (vor jedem Löschen fragen) rm -i *.txt # Verbose (zeigt was gelöscht wird) rm -v datei.txt # Kombination: rekursiv + force rm -rf ordner/ # VORSICHT! # Verzeichnis nur wenn leer rmdir ordner/
Praktische Beispiele
# Temporäre Dateien löschen rm *.tmp rm *~ rm *.bak # Alte Log-Dateien rm /var/log/app.log.* # Cache leeren rm -rf ~/.cache/* # Build-Artefakte rm -rf build/ dist/ *.o # Mit Bestätigung bei wichtigen Dateien rm -i wichtig.txt # Nur Dateien, keine Verzeichnisse find . -type f -name "*.log" -delete # Dateien älter als 7 Tage find /tmp -type f -mtime +7 -delete
Sicherheits-Tipps
# NIEMALS als root ausführen: # rm -rf / # Löscht ALLES! # rm -rf /* # Löscht ALLES! # Alias für Sicherheit (in ~/.bashrc) alias rm='rm -i' alias rm-force='/bin/rm' # Für echtes rm ohne -i # Vor dem Löschen prüfen ls *.tmp # Was würde gelöscht? rm *.tmp # Dann löschen # Papierkorb-Funktion simulieren trash() { mkdir -p ~/.trash mv "$@" ~/.trash/ } # Alternativen zu rm trash-put datei.txt # Nutzt trash-cli Paket gio trash datei.txt # GNOME trash # Wichtige Verzeichnisse schützen chmod -w wichtiger_ordner/
Typische Fehler vermeiden
# FALSCH: Leerzeichen vergessen rm -rf /wichtiges verzeichnis # Löscht: /wichtiges und ./verzeichnis # RICHTIG: Anführungszeichen rm -rf "/wichtiges verzeichnis" # FALSCH: Glob expandiert zu früh rm *.txt > /dev/null # Kann Probleme verursachen # RICHTIG: rm *.txt 2>/dev/null # Vor dem Löschen testen echo rm -rf ordner/ # Zeigt nur an # rm -rf ordner/ # Erst danach ausführen
Kombination der Befehle
Typische Workflows
# Navigieren, prüfen, kopieren cd ~/documents pwd ls -la cp wichtig.txt backup/ # Dateien organisieren cd ~/Downloads ls *.pdf mkdir pdfs mv *.pdf pdfs/ cd pdfs pwd # Backup-Workflow cd /var/www cp -a html/ html.backup.$(date +%Y%m%d) ls -la # Aufräumen cd /tmp ls -la rm -rf temp_* ls -la # Projekt-Setup mkdir -p ~/projects/neues-projekt cd ~/projects/neues-projekt pwd cp ~/templates/template.html . ls -la
Skript-Beispiele
#!/bin/bash # Dateien organisieren # Aktuelles Verzeichnis merken ORIG_DIR=$(pwd) # Zu Zielordner wechseln cd ~/Downloads || exit # Dateien sortieren mkdir -p Bilder Videos Dokumente mv *.jpg *.png Bilder/ 2>/dev/null mv *.mp4 *.avi Videos/ 2>/dev/null mv *.pdf *.doc Dokumente/ 2>/dev/null # Temporäre Dateien löschen rm -f *.tmp *~ # Zurück zum Original-Verzeichnis cd "$ORIG_DIR" || exit echo "Dateien wurden organisiert!"
Siehe auch
sammlung/cd_pwd_cp_mv_rm.txt · Zuletzt geändert: von 127.0.0.1
