24.02.2013 Aufrufe

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

70 2 <strong>UNIX</strong><br />

compress textfile1<br />

gzip textfile2<br />

ll textfile*<br />

uncompress textfile1.Z<br />

gunzip textfile2.gz<br />

ll textfile*<br />

cmp textfile textfile1<br />

cmp textfile textfile2<br />

gzip(1) kennt e<strong>in</strong>e Option, mit der man zwischen m<strong>in</strong>imaler Rechenzeit<br />

oder maximaler Verdichtung wählen kann. Es lohnt sich jedoch kaum,<br />

vom Defaultwert abzuweichen. Auch b<strong>in</strong>äre Files lassen sich verdichten. E<strong>in</strong><br />

mehrfaches Verdichten ist nicht zu empfehlen. Grafik- oder Sound-Formate,<br />

die bereits von sich aus verdichten, lassen sich nicht nennenswert weiter verdichten.<br />

Dasselbe gilt für das Adobe-pdf-Dokumentenformat. In der MS-DOS-<br />

Welt gibt es e<strong>in</strong>e Vielzahl anderer Packprogramme, teils frei, teils gegen Bares.<br />

E<strong>in</strong>ige davon archivieren und packen zugleich.<br />

Der ultimative Packer ist rm(1). Er arbeitet vollkommen unumkehrbar<br />

und hat die höchstmögliche Verdichtung. Sie sollten vor dem Gebrauch unbed<strong>in</strong>gt<br />

die zugehörige man-Seite lesen.<br />

2.4.13 Weitere Kommandos<br />

Mit mv(1) benennt man e<strong>in</strong> File um und verschiebt es gegebenenfalls <strong>in</strong> e<strong>in</strong><br />

anderes Verzeichnis, se<strong>in</strong>e Inode-Nummer bleibt:<br />

mv alex blex<br />

mv alex ../../alex<br />

ls | xargs -i -t mv {} subdir/{}<br />

In der dritten Form listet ls(1) das Arbeitsverzeichnis auf. Die Ausgabe<br />

wird durch e<strong>in</strong>e Pipe dem Kommando xargs(1) übergeben, das wegen der<br />

Option -i (<strong>in</strong>sert) die übernommenen Argumente <strong>in</strong> die beiden Klammernpaare<br />

e<strong>in</strong>setzt – und zwar e<strong>in</strong>zeln – und dann das Kommando mv(1) aufruft,<br />

erforderlichenfalls mehrmals. Die Option -t (trace) bewirkt die Anzeige jeder<br />

Aktion auf stderr. Auf diese Weise lassen sich alle Files e<strong>in</strong>es Verzeichnisses<br />

oder e<strong>in</strong>e Auswahl davon verschieben. Ebenso läßt sich e<strong>in</strong> Verzeichnis<br />

umbennen, ohne es zu verschieben. Das folgende Shellskript ersetzt <strong>in</strong> allen<br />

Namen des aktuellen Verzeichnisses Großbuchstaben durch die entsprechenden<br />

Kle<strong>in</strong>buchstaben:<br />

for i <strong>in</strong> ‘ls‘<br />

do<br />

mv $i ‘echo $i | tr ’[A-Z]’ ’[a-z]’‘<br />

done<br />

Das heißt: für jedes e<strong>in</strong>zelne File aus der von ls(1) erzeugten Liste ersetze<br />

den Filenamen ($i durch den gleichen Namen, jedoch unter Umwandlung

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!