24.02.2013 Aufrufe

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

2.4 Daten <strong>in</strong> Ruhe: Files 71<br />

von Groß- <strong>in</strong> Kle<strong>in</strong>buchstaben. Beachte: ls und die Pipe s<strong>in</strong>d von Backquotes<br />

e<strong>in</strong>gerahmt, die eckigen Klammern vorsichtshalber durch Apostrophe gequotet.<br />

Das braucht man gelegentlich, wenn man Files aus der DOS-Welt erbt.<br />

Das Kommando mvdir(1M) verschiebt e<strong>in</strong> Verzeichnis an e<strong>in</strong>e andere<br />

Stelle <strong>in</strong> selben Filesystem und ist dem System-Manager vorbehalten, da bei<br />

unvorsichtigem Gebrauch geschlossene Wege <strong>in</strong>nerhalb des Filebaums entstehen.<br />

Zum Löschen (to delete, to erase, effacer) von Files bzw. Verzeichnissen<br />

dienen rm(1) und rmdir(1). E<strong>in</strong> leeres Verzeichnis wird mit rmdir(1)<br />

gelöscht, e<strong>in</strong> volles samt allen Unterverzeichnissen mit rm -r, Vorsicht bei<br />

der Verwendung von Jokerzeichen! <strong>UNIX</strong> fragt nicht, sondern handelt –<br />

be<strong>in</strong>hart und gnadenlos. Gefährlich s<strong>in</strong>d vor allem die Kommandos rm *<br />

und rm -r directoryname, die viele Files auf e<strong>in</strong>en Schlag löschen. Das<br />

Löschen e<strong>in</strong>es Files mittels rm(1) erfordert die Schreiberlaubnis im zugehörigen<br />

Verzeichnis, aber ke<strong>in</strong>e Rechte am File selbst. Gelöscht wird zunächst<br />

logisch, d. h. die angesprochene Inode samt zugehörigem Speicherplatz wird<br />

freigegeben, die Bits bleiben noch auf der Platte, s<strong>in</strong>d aber nicht mehr erreichbar.<br />

Erst bei Bedarf an freiem Speicherplatz werden die Bits überschrieben,<br />

womit die Daten auch physikalisch beseitigt s<strong>in</strong>d. Deshalb wird bei hohen<br />

Anforderungen an die Sicherheit e<strong>in</strong> File zunächst überschrieben und dann<br />

gelöscht.<br />

E<strong>in</strong> mit rm(1) gelöschtes File kann nicht wiederhergestellt werden, anders<br />

als unter MS-DOS. Der als frei markierte Bereich auf dem Massenspeicher<br />

wird im nächsten Augenblick von anderen Benutzern, e<strong>in</strong>em Dämon oder<br />

vom System erneut belegt. Wer dazu neigt, die Reihenfolge von Denken und<br />

Handeln zu verkehren, sollte sich e<strong>in</strong> Alias für rm e<strong>in</strong>richten, das vor dem<br />

Löschen zurückfragt:<br />

alias -x del=’rm -i’<br />

oder das Löschen durch e<strong>in</strong> Verschieben <strong>in</strong> e<strong>in</strong> besonderes Verzeichnis<br />

ersetzen, welches am Ende der Sitzung oder nach e<strong>in</strong>er bestimmten Frist<br />

(cron(1) und f<strong>in</strong>d(1)) geleert wird:<br />

# Shellscript saferm zum verzoegerten Loeschen 05.12.96<br />

# Verzeichnis /saferm 333 root root erforderlich<br />

case $1 <strong>in</strong><br />

-*) option=$1; shift;;<br />

*) ;;<br />

esac<br />

/b<strong>in</strong>/cp $* /saferm<br />

/b<strong>in</strong>/rm $option $*<br />

Programm 2.3 : Shellscript saferm zum verzögerten Löschen von Files<br />

Zum Leeren e<strong>in</strong>es Files, ohne es zu löschen, verwendet man am e<strong>in</strong>fachsten<br />

folgende Zeile:

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!