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.

74 2 <strong>UNIX</strong><br />

daß ihm der Zugriff auf Verzeichnisse verwehrt sei, aber der System-Manager<br />

benutzt es gern, um Ladenhüter aufzuspüren. Die Kommandos der vierten<br />

und fünften Zeile erzielen die gleiche Wirkung auf verschiedenen Wegen. Beide<br />

suchen im Verzeichnis /tmp nach gewöhnlichen Files (und nicht nach Verzeichnissen,<br />

Pipes usw.), die seit mehr als 8 Tagen nicht modifiziert worden<br />

s<strong>in</strong>d. Das Kommando der vierten Zeile führt für jeden gefundenen Filenamen<br />

e<strong>in</strong>en rm-Prozess aus. Die fünfte Zeile erzeugt e<strong>in</strong>en e<strong>in</strong>zigen rm-Prozess mit<br />

e<strong>in</strong>er Argumentliste. Dieser Weg ist effektiver, kann aber bei eigenartigen<br />

Filenamen wegen der fehlenden Quotung Probleme bereiten.<br />

E<strong>in</strong> Kommando wie MS-DOS tree zur Anzeige des Filebaumes gibt es<br />

<strong>in</strong> <strong>UNIX</strong> leider nicht. Deshalb hier e<strong>in</strong> Shellscript für diesen Zweck, das wir<br />

irgendwo abgeschrieben haben:<br />

dir=${1:-$HOME}<br />

(cd $dir; pwd)<br />

f<strong>in</strong>d $dir -type d -pr<strong>in</strong>t |<br />

sort -f |<br />

sed -e "s,ˆ$dir,," -e "/ˆ$/d" -e \<br />

"s,[ˆ/]*/\([ˆ/]*\)$,\---->\1," -e "s,[ˆ/]*/, | ,g"<br />

Programm 2.4 : Shellscript tree zur Anzeige der Filehierarchie<br />

Die Zwischenräume und Tüttelchen s<strong>in</strong>d wichtig; fragen sie bitte jetzt<br />

nicht nach ihrer Bedeutung. Schreiben Sie das Shellscript <strong>in</strong> e<strong>in</strong> File namens<br />

tree und rufen Sie zum Testen tree /usr auf. Ohne die Angabe e<strong>in</strong>es Verzeichnisses<br />

zeigt tree das Home-Verzeichnis. Unter MINIX dient das Kommando<br />

traverse(1) demselben Zweck.<br />

Der System-Manager (nur er, wegen der Zugriffsrechte) verschafft sich<br />

mit:<br />

/etc/quot -f myfilesystem<br />

e<strong>in</strong>e Übersicht darüber, wieviele Kilobytes von wievielen Files e<strong>in</strong>es jeden<br />

Besitzers im Filesystem myfilesystem belegt werden. Das Filesystem kann<br />

das root-Verzeichnis, e<strong>in</strong> gemountetes Verzeichnis oder e<strong>in</strong> Unterverzeichnis<br />

se<strong>in</strong>. Das Kommando geht nicht über die Grenze e<strong>in</strong>es Filesystems h<strong>in</strong>weg.<br />

2.4.14 Memo Files<br />

• Unter <strong>UNIX</strong> gibt es gewöhnliche Files, Verzeichnisse und Gerätefiles.<br />

• Alle Files s<strong>in</strong>d <strong>in</strong> e<strong>in</strong>em e<strong>in</strong>zigen Verzeichnis- und Filebaum untergebracht,<br />

an dessen Spitze (Wurzel) das root-Verzeichnis steht.<br />

• Filenamen dürfen bis zu 255 Zeichen lang se<strong>in</strong> und alle ASCII-Zeichen<br />

außer dem Schrägstrich und der ASCII-Nr. 0 (nicht druckbares Zeichen)<br />

enthalten.<br />

• Jedes File oder Verzeichnis gehört e<strong>in</strong>em Besitzer und e<strong>in</strong>er Gruppe.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!