Benutzer-Werkzeuge

Webseiten-Werkzeuge


unix:commands

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

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

Unter macOS ist lsblk nicht verfügbar, dort eignet sich der Befehlt df:

df

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.

Quelle: Linux Commando: Show Progess During dd Copy

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

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
unix/commands.txt · Zuletzt geändert: 2019-09-02 10:43 von a.kamola