Die Befehle aus Dateien und Verzeichnisse zum Nachschlagen. Die Beispiele beziehen sich auf die Beispieldateien von dort, laufen aber genauso mit deinen eigenen Dateien. Zu fast jedem Befehl zeigt man befehl alle Optionen.
1. Sich zurechtfinden
Wo bin ich, was liegt hier?
Befehl
Was er tut
pwd
zeigt das aktuelle Verzeichnis (»print working directory«)
ls
listet das aktuelle Verzeichnis auf
ls -l
mit Rechten, Besitzer, Größe in Bytes und Datum; ein d vorne heißt Verzeichnis
ls -lh
Größen lesbar: 9.8M statt 10180401
ls -la
auch versteckte Dateien, deren Name mit . beginnt
tree
alle Unterverzeichnisse als Baum; tree sandbox nur einen Teil
file *
den Typ jeder Datei, nach ihrem Inhalt, nicht nach der Endung
Das Verzeichnis wechseln
Befehl
Wohin
cd working-with-files
in ein Unterverzeichnis
cd ..
eine Ebene nach oben
cd ~ oder nur cd
ins Home-Verzeichnis, im Workspace /workspace
cd ~/working-with-files
von überall aus an diese Stelle
cd -
zurück ins vorige Verzeichnis
Pfade mit Leerzeichen brauchen Anführungszeichen oder einen Backslash vor jedem Leerzeichen: cd "United States" oder cd United\ States. Die Tab-Taste setzt die Backslashes von selbst.
2. Dateien ansehen
Inhalt anzeigen
Befehl
Was er tut
cat alice.txt
gibt die ganze Datei aus; bei langen Dateien bleibt nur das Ende stehen
die letzten 10 Zeilen; tail -f log.txt zeigt neue Zeilen, sobald sie dazukommen
hd alice.txt | less
die einzelnen Bytes in hexadezimaler Schreibweise
less zeigt bei Bildern und Archiven, was darin steckt (Bildgröße, Dateiliste). Bei anderen Dateien fragt es, ob es sie trotzdem zeigen soll: Mit Y siehst du die Bytes als Zeichen, lesbar ist das nicht.
3. Dateien bearbeiten
Editoren im Terminal
Editor
Öffnen
Speichern
Beenden
nano
nano hello.txt
StrgO, dann Enter
StrgX
vim
vim hello.txt, schreiben nach I
Esc, dann :w und Enter
Esc, dann :q und Enter; :q! ohne Speichern
emacs
emacs hello.txt
StrgX, dann StrgS
StrgX, dann StrgC
touch hello.txt legt eine leere Datei an oder setzt bei einer vorhandenen das Datum auf jetzt. vimtutor übt vim in etwa 30 Minuten.
4. Suchen, zählen, sortieren
Suchen mit grep
Befehl
Findet
grep everybody alice.txt
die Zeilen, in denen everybody steht
grep -i everybody alice.txt
auch Everybody und EVERYBODY
grep -n …
mit Zeilennummern
grep -c …
nur die Zahl der Zeilen
grep -ri welcome .
in allen Dateien hier und in allen Unterverzeichnissen
grep -o -E "[A-Za-z]+" alice.txt
nur die Treffer selbst, hier jedes Wort einzeln; -E für reguläre Ausdrücke
Pipelines und Umleitungen
Mit | wird die Ausgabe eines Befehls zur Eingabe des nächsten, mit > landet sie in einer Datei.
Baustein
Was er tut
wc alice.txt
zählt Zeilen, Wörter und Bytes; wc -l nur Zeilen
sort
sortiert Zeilen alphabetisch
uniq
fasst gleiche Zeilen zusammen, die direkt untereinander stehen (deshalb vorher sort); -i ohne Groß- und Kleinschreibung
… | less
eine lange Ausgabe seitenweise
… > words.txt
Ausgabe in eine Datei, die dabei überschrieben wird