Tutorial: Die Unix-Shell (Arbeit mit Dateien und Verzeichnissen)

Shellbefehle für alle Tage...

Werbung

Dateien umbenennen

Eine Sonderform des Verschiebens einer Datei mit dem mv-Befehl ist das Umbenennen. Existiert bereits eine Datei gleichen Namens, wird diese vorher gelöscht.

mv alter-name.ext neuer-name.ext

Dateien löschen

Dateien oder ganze Verzeichnisse (einschließlich deren Inhalt) ohne Rückfrage entfernen:

rm -rf datei.ext
rm -rf datei.*
rm -rf /var/beispiel/alt/

Der Parameter -r löscht komplette Verzeichniszweige, -f verhindert weitestgehend Rückfragen zum Löschen (ignoriert also gesetzte Dateiberechtigungen).

Dateitypen bestimmen

Üblicherweise wird der Dateityp anhand der Dateiendung ermittelt. Blöd nur, wenn eine Dateiendung mehrdeutig ist (z.B. definiert .jpg als Norm viele verschiedene Verfahren zur Speicherung von Bilddaten).

Besonders bei Textdateien steht man häufig vor dem Problem, den verwendeten Zeichensatz herausfinden zu müssen. Da heißt es dann probieren, probieren, probieren – oder folgenden Befehl tippen:

file was-bin-ich.txt
file foto.jpg

Der file-Befehl versucht durch ein mehrstufiges Verfahren das exakte Format zu ermitteln.

So spezifiziert es das für diesen Beitrag verwendete Bild nicht nur als simples JPEG, sondern liefert als Ausgabe: JPEG image data, JFIF standard 1.01, resolution (DPI), density 300×300, segment length 16, baseline, precision 8, 678×381, frames 3.

Das geniale an file ist aber, dass es die Dateien selbst dann noch (meistens) richtig klassifiziert, wenn die Dateiendung fehlt oder eine ungültige ist.

Inhalt von Textdateien durchsuchen

Mit dem grep-Befehl lassen sich Dateien (oder auch der Inhalt ganzer Verzeichnisse) nach einem bestimmten Muster durchsuchen:

grep -n "datei.ext" -e "findmich"
grep -n "*.html" -e "findmich"
grep -nr "/var/quelle/" -e "findmich"

Der Parameter -n gibt die Zeilennummer des Treffers aus und der Parameter -e erlaubt die Verwendung von regulären Ausdrücken im Suchmuster. Wie üblich bei Shell-Kommandos steht -r für „rekursiv“, also für das Durchsuchen des gesamten Verzeichniszweigs.

Länge des Inhalts von Textdateien ermitteln

Mit dem wc-Befehl kann die Anzahl von Zeilen, Wörtern und Zeichen errechnet werden:

wc datei.txt

Verzeichnisse

Ein neues Verzeichnis erstellen:

mkdir neues-verzeichnis

Einen neuen Verzeichnisast erstellen (noch nicht vorhandene Ordner werden automatisch hinzugefügt):

mkdir -p hier/sind/wir/jetzt/

Anmerkung zur Arbeit mit Verzeichnissen

Unix behandelt Verzeichnisse und Dateien in technischer Hinsicht nahezu identisch.

Alle in diesem Tutorial angeführten Befehle zum Umbenennen, Kopieren, Verschieben und Löschen von Dateien können deshalb analog auch auf Verzeichnisse angewendet werden.

Das war’s…

… aber bald geht es weiter mit einem weiteren Teil. Viel Spaß beim Ausprobieren! 🙂


Stand der Informationen: Januar 2018
Wichtig: Bitte beachten Sie die Nutzungsbedingungen und rechtlichen Hinweise für diesen Beitrag!

Werbung