Shell-Tipps

Aus EasyLinux 02/2008

Shell-Tipps

Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sich manche Aufgabe schneller bewältigen lässt als mit grafischen Programmen. Wir stellen die wichtigsten Anwendungen vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.

Know-how für die Kommandozeile

Tipp: MP3-Dateien ins WAV-Format umwandeln

Die Kommandozeilen-Player mpg123 und mpg321 bieten mit der Option -w eine elegante Möglichkeit, MP3- in WAV-Dateien zu konvertieren. Hinter dem Parameter steht zunächst der Dateiname der neuen WAV-Datei, dann folgt das Original-MP3:

mpg123 -w datei.wav datei.mp3

oder

mpg321 -w datei.wav datei.mp3

Um direkt mehrere Dateien in einem Rutsch zu konvertieren, greifen Sie zu einer kleinen for-Schleife:

for i in *.mp3; do mpg321 -w "`basename "$i" .mp3`".wav "$i"; done

Im Klartext bedeutet der Aufruf: Weise jeden Dateinamen mit der Endung .mp3 der Variablen i zu (for i in *.mp3) und rufe für diese dann jeweils mpg321 -w auf. Der Name der neuen Datei ergibt sich aus dem “Basisnamen”, bei dem der Aufruf die Endung .mp3 durch .wav ersetzt. Als letzter Parameter steht wiederum die MP3-Originaldatei ($i).

Tipp: Ogg-Vorbis-Dateien ins WAV-Format konvertieren

Den Umweg über die for-Schleife sparen Sie sich, wenn Sie OGG-Dateien in das WAV-Format konvertiert. Wählen Sie dazu das Tool oggdec, das sich unter Ubuntu 7.10 und OpenSuse 10.3 im Paket vorbis-tools befindet. Es genügt folgender Aufruf:

oggdec datei.ogg

Um direkt alle Dateien eines Ordners umzuwandeln, können Sie diese wiederum über die Wildcard * erfassen; den Dateinamen der Originaldatei ergänzt oggdec selbstständig.

$ oggdec *.ogg
OggDec 1.0.1
Decoding "01 Komm mit mir.ogg" to "01 Komm mit mir.wav"         [100.0 %]
Decoding "02 Sommerregen.ogg" to "02 Sommerregen.wav"   [100.0 %]
[… ]

Tipp: PostScript-Dokumente: Seiten zusammenfassen

Um eine längere PostScript-Datei papiersparend auszudrucken, fassen Sie mit dem Befehl psnup mehrere Seiten zu einer zusammen. Zunächst installieren Sie dazu unter Ubuntu und OpenSuse das Paket psutils. Um den Inhalt einer zweiseitigen PostScript-Datei auf einer Seite unterzubringen, hilft folgender Aufruf:

psnup -2 original.ps neu.ps

Das Kommando versteht auch andere Angaben zur Seitenzahl: Zwischen -2 und -8 sind alle geraden Zahlen möglich – ob die Dokumente dann noch lesbar sind, steht auf einem anderen Blatt. Ragen die geschrumpften Texte über den Rand der Seite hinaus, hilft die Option -m:

psnup -2 -m50 original.ps neu.ps

Sie sorgt dafür, dass psnup im Zieldokument etwas Platz für einen Rand lässt, und holt so den abgeschnittenen Text zurück in das Zentrum der Seite.

Tipp: Papiergröße einer PostScript-Datei ändern

DIN A4, DIN A5, Letter, Tabloid, Legal – Papiergrößen gibt es wie Sand am Meer. Liegt ein PostScript-Dokument in einem Format vor, das der eigene Drucker nicht versteht, bietet das Programm psresize eine schnelle Größenanpassung auf der Shell. Sie gehört ebenfalls zum Paket psutils. Das Tool erwartet beim Aufruf hinter der Option -P die Angabe des ursprünglichen Formats, und hinter -p die neue Größe, den Namen der Originaldatei und den des neuen Dokuments, zum Beispiel:

psresize -Pa4 -pa5 original.ps neu_a5.ps

Erhalten Sie ein Dokument, das im Format Letter (21,6 cm x 27,9 cm) vorliegt, bringen Sie es mit dem folgenden Kommando ins A4-Format:

psresize -Pletter -pa4 original.ps neu_a4.ps

Alternativ teilen Sie dem Programm genaue Angaben zu Höhe und Breite in Zentimetern oder Inches (Zoll) mit. Zum Einsatz kommen die Parameter -w (“width” = “Breite”) und -h (“height” = “Höhe”):

psresize -w6.0cm -h5.0cm original.ps neu.ps

Tipp: Zeilenanfang und -ende von Dateien anzeigen

Textdateien betrachten Sie mit Programmen wie less und more oder etwas umständlicher im Texteditor. Sind nur die ersten oder letzten paar Zeilen interessant, gehts schneller mit head und tail auf der Shell. Der Befehl

head datei.txt

zeigt die ersten zehn Zeilen der angegebenen Datei auf der Konsole an. Ist das zu viel oder zu wenig, bestimmen Sie mit der Option -n eine andere Zeilenanzahl, zum Beispiel:

head -n 20 datei.txt

Das Programm tail arbeitet ähnlich und gibt standardmäßig die letzten zehn Zeilen aus. Auch dieses Tool versteht zur Festlegung der Zeilenanzahl den Parameter -n. Das Kommando

tail -n 25 datei.txt

zeigt die letzten 25 Zeilen der Datei am Bildschirm an. Praktisch: Beide Programme präsentieren auf Wunsch den Anfang oder das Ende mehrerer Dateien, deren Namen Sie direkt hintereinander angeben dürfen. Wie Abbildung 1 zeigt, macht das Programm die Dateinamen deutlich kenntlich.

Abbildung 1: Hübsch formatiert: "head" zeigt deutlich, wo die nächste Datei anfängt.

Abbildung 1: Hübsch formatiert: "head" zeigt deutlich, wo die nächste Datei anfängt.

Tipp: Logfiles mit “tail” beobachten

Das Programm tail hat ein praktisches Feature im Gepäck: Über die Option -f verfolgen Sie damit Änderungen in einer Datei. Das ergibt beispielsweise Sinn, wenn Sie Logfiles beobachten. Dazu rufen Sie als Administrator

tail -f /var/log/messages

auf, wobei tail die Anzeige ständig aktualisiert. So präsentiert das Tool in einer Art Endlosschleife die neuesten Einträge der Logdatei. Um die Ausgabe zu beenden, drücken Sie [Strg]+[C].

Tipp: Ausgabe von <I>ls<I> nach Datum/Uhrzeit sortieren

Das Programm ls listet Dateien und Verzeichnisse auf und verrät dabei auch allerhand über die Dateieigenschaften. Mit der Option -t sortiert ls die Daten nach Datum und Uhrzeit der letzten Änderung. Dabei taucht die “jüngste” Datei zuerst in der Liste auf; der Parameter -l im Beispiel sorgt für eine lange Anzeige (Listing 1).

$ ls -lt easy/2008/02
insgesamt 12
drwxr-xr-x  2 huhn huhn 4096 2008-02-14 17:18 shell/
drwxr-xr-x  3 huhn huhn 4096 2008-02-07 16:00 ubuntu/
drwxr-xr-x  2 huhn huhn 4096 2008-02-08 12:19 gnome/

Um die Reihenfolge umzukehren und die älteste Datei zuerst anzuzeigen, setzen Sie zusätzlich die Option -r ein, die das Ergebnis in umgekehrter Reihenfolge sortiert:

ls -ltr easy/2008/02

Tipp: <I>ls<I>-Ausgabe nach der Größe sortieren

In der unendlichen Optionsvielfalt findet sich auch der Parameter -S, der Ihre Daten nach der Größe sortiert. Dabei zeigt ls die größte Datei als Erstes an (Listing 2).

$ ls -Sl easy/2008/02/gnome
insgesamt 1220
-rw-r--r--  1 huhn huhn 455985 2008-01-29 19:03 gnome02_2008.tar.bz2
-rw-r--r--  1 huhn huhn 255168 2008-02-07 16:08 gedit-vorschau.png
-rw-r--r--  1 huhn huhn 130576 2008-01-24 13:53 gedit_verb1.png
-rw-r--r--  1 huhn huhn 119616 2008-01-28 13:35 tomboy1.png
[…]

Die detaillierte Ausgabe mit der Option -l ist recht lang. Wer dennoch nicht auf die Informationen über die Dateigröße verzichten möchte, verwendet den Parameter -s:

$ ls -Ss easy/2008/02/gnome
insgesamt 1220
452 gnome02_2008.tar.bz2
256 gedit-vorschau.png
132 gedit_verb1.png
124 tomboy1.png
[…]

Vor den Dateinamen sehen Sie nun die Größe der Dateien in Byte. Übersichtlicher wird das Ganze, wenn Sie eine weitere Option hinzufügen: -h präsentiert die Größe in besser lesbaren Einheiten. Dabei stehen G für GByte, M für MByte und K für KByte:

$ ls -Ssh /scratch/debian/
insgesamt 3,8G
1,1G datei1    257M datei2
 81M datei3     16K datei4
[…]

Wie im vorigen Tipp gezeigt, können Sie auch hier die Ausgabe umgekehrt sortieren, wenn Sie die Option -r anwenden.

EasyLinux 02/2008 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben