Linux-Befehle, die man im Kopf haben muss
Vierzig Befehle, zwanzig davon als „Grundlagen“ markiert: damit kommt man überall durch.
Kopieren
cp -r für ein ganzes Verzeichnis; cp -a erhält zusätzlich Rechte und Zeitstempel.
Auf einen Rechner verbinden
ssh benutzer@rechner, mit -i für einen Schlüssel abseits des Standardpfads.
Verschieben oder umbenennen
mv kann beides: Umbenennen ist Verschieben auf einen anderen Namen.
Ein Protokoll mitlesen
tail -f datei.log schreibt jede neue Zeile mit, sobald sie ankommt.
Löschen
rm -r für ein Verzeichnis. Es gibt keinen Papierkorb: Was weg ist, bleibt weg.
Verzeichnis auflisten
ls -lh für lesbare Größen, ls -la zeigt zusätzlich die versteckten Dateien.
Dienst steuern
systemctl status, start, restart. Der Status sagt auch, woran es scheiterte.
Datei anzeigen
cat für kurze Dateien. Ab zwanzig Zeilen leistet less die besseren Dienste.
Große Datei lesen
less behält die Navigation in der Hand; der Schrägstrich sucht im Text.
In Dateien suchen
grep -rn Muster . nennt Datei und Zeile, was grep allein nicht liefert.
Datei finden
find . -name \*.log -mtime -7: nach Namen und in den letzten sieben Tagen geändert.
Handbuch lesen
man befehl; Schrägstrich plus Suchwort springt direkt zur gesuchten Option.
Als Administrator ausführen
sudo für einen Befehl, sudo -i für eine ganze Sitzung, wenn zehn davon anstehen.
Verzeichnis wechseln
cd ohne Argument führt ins eigene Home, cd - zurück ins vorherige.
Prozesse ansehen
ps aux liefert die Momentaufnahme, eine Pipe zu grep findet den eigenen darin.
Prozess beenden
kill fragt höflich, kill -9 fragt nicht mehr. Erst das Höfliche versuchen.
Wissen, wo man steht
pwd zeigt den absoluten Pfad und entschärft damit die Hälfte aller Irrtümer.
Verzeichnis anlegen
mkdir -p a/b/c legt die ganze Kette an und meckert nicht, wenn es sie schon gibt.
Einen alten Befehl wiederfinden
history | grep muster, oder Strg+R, das schon beim Tippen sucht.
Rechte ändern
chmod 644 für eine Datei, 755 für ein Verzeichnis oder eine ausführbare Datei.
Freien Platz messen
df -h je Partition. Der erste Befehl, wenn ein Schreibvorgang scheitert.
Finden, was die Platte füllt
du -sh * im Verzeichnis, dann in den größten Posten hinein, Ebene für Ebene.
Archivieren
tar -czf archiv.tar.gz ordner packt zusammen, -xzf entpackt wieder.
Anfang oder Ende einer Datei
head -n 20 und tail -n 50. Bei einer fremden Datei verrät head sofort die Form.
In einer Datei ersetzen
sed -i s/alt/neu/g datei. Ohne -i bleibt das Ergebnis nur auf dem Bildschirm.
Systemprotokolle lesen
journalctl -u dienst -f verfolgt einen Dienst statt des ganzen Systems.
Live mitschauen
htop sortiert nach Prozessor oder Speicher; Prozesse lassen sich darin gleich beenden.
Über das Netz kopieren
rsync -av quelle/ server:/ziel/ macht dort weiter, wo scp von vorn anfängt.
Eine URL abfragen
curl -i zeigt die Kopfzeilen der Antwort, was die Hälfte der Zweifel klärt.
Sehen, wer auf einem Port lauscht
ss -ltnp listet die offenen Ports samt dem Prozess dahinter.
Wissen, wer eine Datei hält
lsof datei nennt den Prozess, der das Aushängen oder Löschen verhindert.
Aufgabe planen
crontab -e bearbeitet, -l zeigt an. Fünf Felder: Minute, Stunde, Tag, Monat, Wochentag.
Symbolischen Link anlegen
ln -s ziel link. Der Pfad zum Ziel sollte besser absolut sein.
Zwei Dateien vergleichen
diff -u alt neu liefert das Format, das überall sonst gelesen wird.
Eine Spalte herausziehen
awk mit {print $2} holt das zweite Feld, egal wie viele Leerzeichen dazwischen stehen.
Eine Liste abarbeiten
find … | xargs -n1 befehl wendet denselben Befehl auf jeden Treffer an.
Sortieren und entdoppeln
sort | uniq -c zählt die Vorkommen; ohne Sortieren zählt uniq daneben.
IP-Adresse prüfen
ip a ersetzt ifconfig; ip r zeigt, über welchen Weg die Pakete hinausgehen.
Rechner testen
ping sagt, ob er antwortet, nicht ob der Dienst läuft – zwei Fragen.
Befehl wiederholen
watch -n 2 befehl startet ihn alle zwei Sekunden neu, an derselben Stelle.