
Abbildung 3: Viele Distributionen liefern bereits ein Alias für »ls«, das verschiedene Dateitypen mit Farben kennzeichnet. Über diverse Optionen kitzeln Sie noch weitere Informationen aus »ls« heraus.
Für den Hausgebrauch sind Sie damit fürs Erste schon ganz gut bedient, doch früher oder später benötigen Sie unausweichlich auch erweiterte Optionen wie -a, das auch versteckte Dateien anzeigt, -l, um die Dateiattribute anzusehen, oder <-h>, das die Dateigröße in besser lesbarer Form (“human readable”) ausgibt. In manchen Fällen erweist sich auch eine sortierte Ausgabe des Inhalts als übersichtlicher, die Sie mit Optionen wie -S (“size”), -t (“time”) oder -X (“extension”) angeben.
In umfangreichen Verzeichnissen liefert ls mehr Ausgabezeilen, als ins Terminalfenster passen. Hier hilft es weiter, die Ausgabe über ls | less durch das Programm Less zu leiten, wo Sie mit den Pfeil- und Bildlauftasten beliebig durch die Anzeige blättern, bis Sie die Ausgabe mit [Q] abbrechen. Als nützlicher Helfer für ls erweist sich file, das Ihnen den Typ einer Datei anzeigt. Mit dem Schalter -L ergänzt, zeigt es für Symlinks auch den Typ der Zieldatei an. Die Option -z identifiziert darüber hinaus den Inhalt von Archiven (dazu später mehr).
Zur Suche nach Dateien dient das Kommando find mit der Syntax find OptionenPfadName. Der Name darf Wildcards und reguläre Ausdrücke einschließen. Die wichtigsten Optionen – Find kennt noch viel mehr – fasst die Tabelle “Optionen für Find” zusammen.
Das Kommando touch dient normalerweise dazu, den Zeitstempel einer Datei auf den aktuellen Zeitpunkt zu setzen. Dazu genügt der Aufruf touch Datei. Existiert die fragliche Datei noch nicht, legt Touch sie freundlicherweise gleich als leeres File an – ein gern genutztes Feature. Daneben lässt sich Touch auch nutzen, um Dateien vor- oder zurückzudatieren. So setzen Sie mit der Option -t den Zeitstempel und mit -a das Datum des letzten Zugriffs auf den in der Form jjJJMMTThhmm.ss angegebenen Zeitpunkt. So setzt etwa das letzte Touch-Kommando in Abbildung 5 den Zeitstempel von touch.txt auf 09:08:07 Uhr am 10. November 2014. Die Angabe des Jahrhunderts (jj), des Jahrs (JJ) und der Sekunden (.ss) ist optional.
Optionen für Find
|
Option |
Bedeutung |
|---|---|
|
|
Schreibweisenunabhängige Suche |
|
|
Minuten seit dem letzten Dateizugriff |
|
|
Minuten seit der letzten Dateiänderung |
|
|
Anzahl von Tagen, vor denen zuletzt auf die Datei zugegriffen wurde |
|
|
Anzahl von Tagen, vor denen die Datei zuletzt geändert wurde |
|
|
Dateien einer bestimmten Benutzergruppe |
|
|
Dateien eines bestimmten Benutzers |
|
|
Maximale Anzahl der Verzeichnisebenen für die Suche |
|
|
Suche erst ab der angegebenen Anzahl von Unterverzeichnisebenen |
|
|
Dateien mit einer bestimmten Rechtekonstellation |
|
|
Dateien des angegebenen Typs (etwa |
Dateien komprimieren
Zwar hat Dateikomprimierung heute nicht mehr denselben Stellenwert wie zu den Zeiten von 100-MByte-Festplatten, doch spielt sie für Backups oder den Versand von Dateien per E-Mail immer noch eine Rolle [2]. Die Bash-Shell von Linux bringt nicht weniger als vier Kommandos für die Datenkompression mit: tar, gzip, bzip2 und das nur selten eingesetzte cpio.
Gzip hat sich als Quasi-Standard für die Komprimierung etabliert, da es das Programm für alle gängigen Betriebssysteme gibt und sich die komprimierten Daten gut austauschen lassen. Im einfachsten Fall komprimieren Sie eine Datei mit dem simplen Aufruf gzip Datei und können dann das Ergebnis mithilfe des Kommandos gzip -l Datei.gz begutachten, das unter anderem den Komprimierungsgrad ausgibt.
Die komprimierte Datei verschwindet im Archiv und liegt anschließend nicht mehr auf der Platte. Um das zu vermeiden, lassen Sie Gzip mittels der Option -c das Archiv auf die Standardausgabe schreiben und leiten es von dort aus in eine Datei um:
$ gzip -c Datei > Datei.gz
Den Komprimierungsgrad und damit auch die Arbeitsgeschwindigkeit von Gzip beeinflussen Sie bei Bedarf beim Aufruf mit den Schaltern --best (höchste Komprimierung) oder --fast (schnellste Verarbeitung). Das Ganze lässt sich über die Optionen -1 (entspricht --fast) bis -9 (entspricht --best) auch feintunen, wobei Gzip voreingestellt -6 verwendet. Für die Arbeit mit Gzip-Archiven gibt es eine ganze Reihe Hilfswerkzeuge:
zcatzeigt die Dateien aus einem Gzip-Archiv an.zcmpvergleicht die Dateien aus einem Gzip-Archiv byteweise mit angegebenen Files.zdiffzeigt die Unterschiede zwischen Dateien aus einem Gzip-Archiv und den angegebenen Files an.zgrep,zegrepundzfgrepsuchen in Dateien eines Gzip-Archivs nach dem angegebenen Textmuster.
Mit dem Schalter -r taucht Gzip beim Komprimieren in eventuell vorhandene Unterverzeichnisse ab und verpackt auch deren Inhalt. Um ein Gzip-Archiv wieder auszupacken, verwenden Sie Gzip mit dem Schalter -d (“deflate”) oder benutzen – noch einfacher – schlicht das Kommando gunzip Datei.gz.
Das Kommando bzip2 erstellt Archive, die um 10 bis 20 Prozent kompakter ausfallen als die mit Gzip erstellten. Die Optionen dieses Befehls gleichen weitgehend den von Gzip benutzten. Allerdings fehlt -r für das Abtauchen in Unterverzeichnisse, dafür erhält -k die Originale der komprimierten Dateien. Auch hier gibt es wieder einige unterstützende Werkzeuge:
bzipcatzeigt den Inhalt einer im Bzip2-Archiv enthaltenen Datei an.bziprecoverhilft beim Reparieren beschädigter Bzip2-Archivdateien.bunzip2dekomprimiert Bzip2-Archive.
Möchten Sie sich nicht unnötig mit den Optionen von Gzip oder Bzip2 herumschlagen und auf komfortable Weise ganze Verzeichnisbäume in Archive verpacken, dann greifen Sie einfach zu tar. Sein Name steht für seinen ursprünglichen Einsatzzweck, das Erstellen von “tape archives”, als Dateien für das Backup auf Band.
Für das Verpacken benötigen Sie die Option -c (“create”). Hinter <-f> geben Sie den Namen des zu erstellenden Archivs an, mit -z (Gzip) beziehungsweise -j die gewünschte Kompressionsmethode. Als nützlich erweist sich zudem -v, das dafür sorgt, dass Tar die Namen der bearbeiteten Dateien ausgibt. Der folgende Befehl verpackt das Verzeichnis RasPiGeek samt aller Unterverzeichnisse in ein TAR.GZ-Archiv, einen sogenannten Tarball:
$ tar czvf RasPiGeek.tar.gz RasPiGeek/
Dabei bleiben alle Originaldateien erhalten. Genauso einfach funktioniert auch das Auspacken mittels der Option -x (“extract”), wobei Tar die im Archiv verwendete Kompressionsmethode selbst erkennt – Sie müssen -z beziehungsweise -j also nicht extra angeben:
$ tar xvf RasPiGeek.tar.gz
Auch wenn es sich meist unkompliziert verwenden lässt, kennt Tar doch eine Vielzahl von Optionen – zu viele, um sie hier alle zu nennen. So können Sie beispielsweise mit --exclude Datei Dateien ausschließen und mit -p Dateirechte konservieren. Beim Auspacken verhindert -k das Überschreiben bereits vorhandener Dateien. Um zwei Tar-Archive aneinanderzuhängen, tippen Sie:







