Dateien und Verzeichnisse
Verzeichnis-Strukturen
Zum Erforschen der Directory-Struktur des eigenen Paketes lässt sich zunächst das UNIX-Kommando ls benutzen, es listet das Inhaltsverzeichnis auf:
xyz00@hopi:~$ ls cgi etc users var web xyz00@hopi:~$
Anders als evtl. von einer DOS-Kommandozeile und dem DOS-Kommando dir gewohnt, ist die Ausgabe vom UNIX ls äußerst knapp. Aber den Optionen -la erhalten wir eine lange (l) Ausgabe aller (a) Dateien (wir könnten auch -l -a schreiben, -la ist die Kombination der beiden Optionen):
xyz00@hopi:~$ ls -la total 36 drwx--x--x 8 xyz00 xyz00 4096 Apr 18 18:46 . drwxr-sr-x 90 root staff 4096 Apr 17 14:52 .. drwxr-x--- 2 root root 4096 Apr 18 02:37 .bak -rw------- 1 xyz00 xyz00 235 Apr 18 18:46 .bash_history drwxr-xr-x 2 xyz00 xyz00 4096 Apr 17 16:21 cgi drwxr-xr-x 2 xyz00 xyz00 4096 Apr 18 02:37 etc drwxr-xr-x 5 xyz00 xyz00 4096 Apr 18 18:54 users drwxr-s--- 2 xyz00 xyz00 4096 Apr 19 00:01 var drwxr-x--- 2 xyz00 httpd 4096 Apr 17 11:24 web xyz0@hopi:~$ █
Alle Dateien bedeutet in dem Fall, dass auch unsichtbare Dateien aufgeführt werden. Unter UNIX sind dies Dateien, die mit einem Punkt beginnen. Ein festes Schema der Dateibezeichnung gibt es unter UNIX nicht. Die hier zu sehenden Dateien und Verzeichnisse sind im einzelnen:
. .. .bak .bash_history cgi etc users var web
Des Weiteren sind in dem oben dargestellten Inhaltsverzeichnis vor den Dateinamen viele kryptisch anmutende Informationen. Zur Einzelerläuterung hier nochmals eine dieser Zeilen:
drwxr-xr-x 2 xyz00 xyz00 4096 Apr 17 16:21 cgi
<fixme> Bedeutung erklären
Dateien des Paketes
Haben wir nun die erste Ebene unseres Paketes kennengelernt, nun ein Kommando, mit dem wir auch die tieferen Ebenen sehen können - find:
xyz00@hopi:~$ find . ./doms ./doms/deineigenerdomainname.de ./doms/deineigenerdomainname.de/cgi ./doms/deineigenerdomainname.de/etc ./doms/deineigenerdomainname.de/subs ./doms/deineigenerdomainname.de/subs/www ./doms/deineigenerdomainname.de/subs/www/index.html ./doms/deineigenerdomainname.de/var ./etc ./etc/aliases ./etc/passwd ./etc/shadow ./var ./var/web.err ./var/web.log ./var/config.err ./var/ftp.log ./var/config.err.gz ./var/web.err.gz ./var/web-xyz00.hostsharing.net-20020418-0001.log.gz ./var/ftp.log-2002-04-18.gz ./var/web-xyz00.hostsharing.net-20020419-0001.log.gz ./users ./users/doms ./users/hans ./users/linda ./web ./web/index.html ./cgi ./cgi/test.cgi ./.bak find: ./.bak: Permission denied ./.bash_history xyz00@hopi:~$ █
Find ist ein sehr mächtiges Werkzeug und eignet sich besonders gut, in Kombination mit anderen Unix-Werkzeugen wie grep und awk Dateien im System zu finden oder zu verändern.
Für den praktischen Einstieg auf der Linux-Shell wesentlich geeigneter ist allerdings der sehr universelle Dateimanager mc. Dieses Programm wird mit dem Befehl mc gestartet und kann benutzt werden, um durch das Dateisystem zu "wandern", Dateien anzusehen oder zu editieren, Links und Symlinks zu erstellen und vieles mehr.
Das /tmp Dateisystem
Das /tmp Dateisystem darf nicht zum Zwischenlagern großer Datenvolumina genutzt werden.
Dies gefährdet den Serverbetrieb und verstößt somit gegen die Betriebsordnung.
Das Dateisystem /tmp dient zur temporären Speicherung kleiner Datenmengen (temporäre Dateien), die nach Ende der Programm- oder Skriptausführung nicht mehr benötigt werden. Insbesondere stehen diese Daten nach einem Neustart des Servers nicht mehr zur Verfügung, d.h. es ist damit zu rechnen, dass diese Daten jederzeit gelöscht werden.
Gut geeignet ist /tmp etwa zu Speichern von Daten, die nur während eines Programm- oder Skriptlaufs benötigt werden, z.B. Session-Daten.
Weil /tmp technisch als tmpfs angelegt ist (also im RAM), welches auf Performance beim Zugreifen (Anlegen, Lesen, Speichern, Löschen) auf die zahlreichen kleinen Dateien optimiert ist.
Die Speicherung großer Datenvolumina auf /tmp gefährdet den Serverbetrieb allgemein bzw. den Betrieb der Websites und Skripten der Nutzer. Z.B. können Websites keine weiteren Sessions eröffnen, wenn /tmp zu 100% voll ist.