====== Erste Schritte mit der Kommandozeile ====== * Befehle und Optionen werden durch Leerzeichen getrennt. Dateinamen mit Lerrzeichen sind (u.a.) auch aus diesem Grund keine gute Idee. * Viele Befehle haben einen "Hilfe"-Schaltter: ''befehl %%--%%help'' liefert oft weitere Infos. * Auf vielen System sin die "Man-Pages" installiert, man kann mit ''man befehl'' eine häufig sehr ausführtliche Handbuchseite erhalten. * Die Tab-Taste ist mächtig: Wenn man einen Befehl oder einen Dateinamen nach einem Befehl teilweise eingegeben hat, kann man die Tab-Taste drücken, dann versucht die Bash den Befehl oder den Dateinamen zu bestimmen. Wenn dieser nicht eindeutiog ist nochmal Tab drücken, dann siehtr man die gefundenen Möglichkeiten. * Pfeil nach oben holt die letzten Befehle, bevor man sie erneut abschickt, kann man sie auch noch bearbeiten. Zum Abschicken muss man nicht zum Zeilenende. * ''STRG-R'' sucht rekursiv in der History. ===== Die wichtigsten Befehle ===== 1. **''ls''** – **Verzeichnisse und Dateien auflisten** * Der Befehl ''ls'' listet den Inhalt eines Verzeichnisses auf. Optionen wie ''ls -l'' (für Details zu Größe, Erstellungsdatum usw.) und ''ls -a'' (um versteckte Dateien anzuzeigen) sind besonders nützlich. * **Beispiel:** ''ls -la'' zeigt alle Dateien, inklusive versteckter, in Langform mit Details an. 2. **''cd''** – **Verzeichnis wechseln** * Mit ''cd'' wechselt man zwischen Verzeichnissen. Einfache Pfade (''cd Documents'') oder absolute Pfade (''cd /home/user/Documents'') können verwendet werden. ''cd ..'' wechselt ins übergeordnete Verzeichnis, und ''cd'' allein bringt einen ins Home-Verzeichnis. * **Beispiel:** ''cd /etc'' wechselt ins ''/etc''-Verzeichnis. 3. **''pwd''** – **Aktuellen Verzeichnis-Pfad anzeigen** * ''pwd'' (Print Working Directory) gibt den absoluten Pfad des aktuellen Verzeichnisses aus. Nützlich, um sich zu orientieren, besonders in verschachtelten Ordnerstrukturen. * **Beispiel:** ''pwd'' gibt den aktuellen Verzeichnispfad wie ''/home/user/'' aus. 4. **''mkdir''** – **Neues Verzeichnis erstellen** * Mit ''mkdir'' werden neue Verzeichnisse angelegt. Mit ''-p'' können ganze Verzeichnisstrukturen erstellt werden, auch wenn Zwischenordner fehlen. * **Beispiel:** ''mkdir -p Projekte/2024/Berichte'' erstellt die Verzeichnisse "Projekte", "2024" und "Berichte" falls noch nicht vorhanden. 5. **''rm''** – **Dateien und Verzeichnisse löschen** * ''rm'' löscht Dateien. Zum Löschen von Verzeichnissen wird die Option ''-r'' (rekursiv) benötigt. Der Befehl ''rm -rf'' (force) sollte vorsichtig verwendet werden, da er auch schreibgeschützte Dateien entfernt. * **Beispiel:** ''rm -r AltesProjekt'' löscht das Verzeichnis "AltesProjekt" inklusive aller Unterdateien und -verzeichnisse. 6. **''cp''** – **Dateien und Verzeichnisse kopieren** * ''cp'' kopiert Dateien oder Verzeichnisse. Mit ''-r'' kopiert man Verzeichnisse rekursiv. * **Beispiel:** ''cp -r Projekt_Original Projekt_Kopie'' kopiert das Verzeichnis "Projekt_Original" samt Inhalt in "Projekt_Kopie". 7. **''mv''** – **Dateien und Verzeichnisse verschieben oder umbenennen** * ''mv'' verschiebt Dateien oder Verzeichnisse. Es dient auch zum Umbenennen, indem nur das Ziel umbenannt wird. * **Beispiel:** ''mv alterName.txt neuerName.txt'' benennt die Datei "alterName.txt" in "neuerName.txt" um. 8. **''cat''** – **Dateiinhalt anzeigen** * ''cat'' zeigt den Inhalt einer Datei an, kann Dateien kombinieren und den kombinierten Inhalt in eine neue Datei schreiben. * **Beispiel:** ''cat datei1.txt datei2.txt > kombiniert.txt'' fasst beide Dateien in "kombiniert.txt" zusammen. 9. **''echo''** – **Text ausgeben und/oder in Dateien schreiben** * ''echo'' gibt Text in der Konsole aus oder schreibt ihn in eine Datei. Oft in Skripten verwendet. * **Beispiel:** ''echo "Hallo Welt" > hello.txt'' erstellt eine Datei "hello.txt" mit dem Inhalt "Hallo Welt". 10. **''man''** – **Hilfe und Handbuchseiten zu Befehlen anzeigen** * ''man'' (Manual) zeigt detaillierte Informationen und Optionen zu Bash-Befehlen an. * **Beispiel:** ''man ls'' zeigt alle Optionen und Details zum ''ls''-Befehl an.