Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Unix-Kommandos
Diese Kommandos sollten auf allen Unix-basierenden Betriebssystemen (MacOS X, Linux, etc.) funktionieren. Sofern Abweichungen bekannt sind, sind diese an den entsprechenden Stellen dokumentiert.
Dateien
Auflisten
Alle nicht-versteckten Dateien vom Typ Text (MIME text/plain
) des aktuellen Verzeichnis anzeigen:
file -i0 * | grep -a text/plain | cut -d '' -f1
Größe von Verzeichnissen
Die Größe von Verzeichnissen lässt sich mit folgendem Befehl berechnen:
du -hs /foobar
Verschieben/Kopieren
Dateien/Verzeichnisse kopieren und deren Eigenschaften (Besitzer, Erstellungsdatum, etc.) beibehalten:
cp -a [source] [target]
Dateien vergleichen
Zwei Dateien vergleichen, ob sie identisch sind (byte-weise):
cmp -l [file1] [file2]
Rechte rekursiv setzen
Rechte rekursiv für alle Dateien/Unterordner in einem Ordner setzten, um bspw. Lese- oder Schreibrechte für viele Ordner und Dateien zu setzen oder zu entziehen. Pfade und Rechte müssen für den Einzellfall angepasst werden.
Dateien (-rwxr--r--
):
find ./ -type f -print -exec chmod 644 {} \;
Ordner (drwxr-xr-x
):
find ./ -type d -print -exec chmod 755 {} \;
Archive
tar-Archive erstellen
tar -zcvf foobar.tar.gz foobar/
Quelle: Zyxware Technologies: How to create and extract a .tar.gz archive using command line
Dateien und Ordner als ZIP-Datei verpacken
Einzelne Datei in eine ZIP-Datei verpacken und komprimieren:
zip -9 [zip-file] [filename]
Einen gesamten Ordner in einer ZIP-Datei verpacken und komprimieren:
zip -9 -r [zip-file] [folder]
Das Attribut -9
steht dabei für die maximale Komprimierung.
Inhalte eines ZIP-Archives entpacken
Zum entpacken eines ZIP-Archives gibt es den Befehl unzip
:
unzip [zip-file]
Inhalte eines tar-Archives auflisten
Inhalt einer tar-Datei ausgeben:
tar -tvf example.tar
Das Attribut t
listet den Inhalt der Datei auf.
Das Attribut v
(für „verbose“) gibt die Ausgabe von tar
auf der Konsole aus.
Das Attribut f
weist tar
an, die angegebene Datei (hier: example.tar
) zu verwenden.
Inhalt einer tar.gz- oder tgz-Datei ausgeben:
tar -ztvf example.tar.gz
Das zusätzliche Attribut z
weist tar
an, die Datei mit gzip
für die Auflistung zu dekomprimieren.
Inhalt einer tar.bz2-Datei ausgeben:
tar -jtvf example.tar.bz2
Das zusätzliche Attribut j
weist tar
an, die Datei mit bzip2
für die Auflistung zu dekomprimieren.
Inhalte eines tar-Archives entpacken
Eine tar.gz- oder tgz-Datei entpacken:
tar zxvf example.tgz
Das Attribut z
weißt tar
an, die Datei mithilfe von gzip
zu entpacken.
Das Attribut x
entpackt die tar
-Datei.
Das Attribut v
gibt während des Entpackens Meldungen auf der Konsole aus.
Das Attribut f
weißt tar
an, die angegebene Datei (hier: example.tgz
) zu verwenden.
Um ein tar
-Archiv in ein anderes Verzeichnis zu entpacken, muss nach dem Dateinamen das Attribut -C
(Achtung: großes C!) mit dem Ziel-Verzeichnis angegeben werden:
tar zxvf example.tgz -C ~/tmp/example
Dateisysteme
Festplatten und Partitionen auflisten
Alle ans System angeschlossene Festplatten mit Partitionen, Größe und Mount-Punkt lassen sich mit lsblk
ausgeben:
lsblk
Status von dd anzeigen
Um während eines Kopier-Vorgangs von dd
zu sehen, wie weit fortgeschritten der Vorgang ist, muss eine zweites, virtuelles Terminal geöffnet werden, indem dann der Fortschritt abgefragt werden kann. Im zweiten Terminal muss zunächst die Prozess-ID (PID) von dd
ermittelt werden:
pgrep -l '^dd$'
Die Rückgabe sieht in etwas wie folgt aus (Prozess-ID, Prozess):
2342 dd
Nun kann man mit dem Befehl kill
ein USR1
-Signal an den dd
-Prozess (PID: 2342
) schicken und dieser gibt dann den aktuellen Status auf sein STDERR
(hier: das erste Terminal in dem dd
läuft) aus:
kill -USR1 2342
Die Ausgabe sieht dann z.B. so aus:
$ dd if=/dev/random of=/dev/null bs=1K count=100 0+14 records in 0+14 records out 204 bytes (204 B) copied, 24.92 seconds, 0.0 kB/s
Dieser Befehl zeigt allerdings nur einmalig den Status von dd
an, er kann aber beliebig oft wiederholt werden. Um den Status automatisch wiederholt ausgeben zu lassen, kann der Befehl watch
zur Hilfe genommen werden:
watch -n 10 kill -USR1 2342
Über das Attribut -n
von watch
wird ein Intervall (in Sekunden) definiert, wie oft der nachfolgende Befehl (hier: kill -USR1 2342
) ausgeführt werden soll.
Sicherheit
Passwörter erzeugen
Wenn OpenSSL installiert ist, lassen sich darüber sehr einfach Passwörter erzeugen:
openssl rand -base64 12
Text
Einen base64-String dekodieren
echo QWxhZGRpbjpvcGVuIHNlc2FtZQ== | base64 --decode
Quelle: Ask Ubuntu: How can I decode a base64 string from the command line?
Internet
IP einer Domain abfragen
Die IP einer Domain lässt sich mit dem Befehl dig
erfragen:
dig example.com A +short
Der Befehl dig
ohne die Paramter A +short
ergibt eine ausführliche Auflistung inklusive abgefragtem DNS-Server.
Dateien mit wget laden
Mit dem Programm wget können Dateien und Seiten aus dem Internet geladen werden.
Einzelne Datei laden
Um mit wget
eine einzelne Datei herunterzuladen reicht folgender Befehl:
wget http://example.org/downloads/example.zip
E-Mail mit Datei-Anhang verschicken
Die E-Mails werden mit dem E-Mail-Programm mutt verschickt:
mutt -s "Betreff" -a /tmp/foobar.tar.gz foo@example.com < /tmp/message.txt