Wir haben bereits die Unterschiede zwischen Dateien unter Windows/DOS und Linux
besprochen. Was Verzeichnisse angeht, ist das Wurzelverzeichnis unter Windows
\
, während es unter Linux /
ist. Ebenso werden
Verzeichnisse in Pfadnamen unter Windows durch ein \
voneinander
getrennt, unter Linux durch ein /
. Darüber hinaus gibt es unter Linux
keine Laufwerke wie z.B. C: unter DOS. Wenn man mehrere Festplatten oder
Partitionen hat, werden diese unter Linux zu einem einzigen Verzeichnisbaum
zusammengefaßt (dieser Prozeß nennt sich »mounten«, im Deutschen auch als
»einhängen« bezeichnet). Beispiele für Dateipfade:
DOS: C:\VORTRAG\GEOLOGIE\MIT_EOZ.TEX
Linux: /home/guido/vortraege/geologie/mittleres_eozean.tex
Wie üblich ist ..
das übergeordnete Verzeichnis und .
das
aktuelle. Man beachte, daß man nicht überall in jedes Verzeichnis mit
cd
wechseln kann, oder mit rmdir
oder mkdir
Verzeichnisse löschen bzw. anlegen kann, in Abhängigkeit davon, ob man die
entsprechenden Rechte hat oder nicht. Jeder Nutzer befindet sich nach dem
Einloggen in seinem eigenen Verzeichnis, dem sogenannten »Home-Verzeichnis«,
welches ihm vom Systemverwalter zugewiesen wurde. Auf meinem PC ist mein Home-
Verzeichnis z.B. /home/guido
.
Verzeichnisse haben natürlich, ebenso wie Dateien, auch Zugriffsrechte. Die
Rechte, die im Abschnitt
Rechte und Eigentümer für
Dateien besprochen wurden, existieren auch analog bei Verzeichnissen (user,
group, other). Für ein Verzeichnis bedeutet rx
, daß man in das
Verzeichnis wechseln kann und sich den Inhalt auflisten lassen kann.
w
dagegen bedeutet, daß man eine Datei im Verzeichnis löschen kann oder
eine neue anlegen kann. Man kann eine Datei in einem Verzeichnis, für das man
Schreibrechte besitzt, auch dann löschen, wenn die Datei für einen eigentlich
schreibgeschützt ist. Das System fragt zwar an, ob man die Datei wirklich
löschen will, aber wenn man ja sagt verschwindet die Datei. Der Schreibschutz
für Dateien bezieht sich nur auf das Verändern der Datei selber. Das Löschen
einer Datei ist aber eine Änderung am Verzeichnis und nicht an der Datei. Die
Datei selbst wird nicht verändert, sondern nur ihr Eintrag aus dem Verzeichnis
entfernt.
Um z.B. zu verhindern, daß andere Nutzer im Verzeichnis
/home/guido/text
herumschnüffeln, gibt man ein:
$ chmod o-rwx /home/guido/text
DIR: ls, find, du
CD: cd, pwd
MD: mkdir
RD: rmdir
DELTREE: rm -rf
MOVE: mv
DOS Linux
________________________________________________________________
C:\GUIDO>DIR $ ls
C:\GUIDO>DIR DATEI.TXT $ ls datei.txt
C:\GUIDO>DIR *.H *.C $ ls *.h *.c
C:\GUIDO>DIR/P $ ls | more
C:\GUIDO>DIR/A $ ls -l
C:\GUIDO>DIR *.TMP /S $ find / -name "*.tmp"
C:\GUIDO>CD $ pwd
nicht vorhanden - siehe Bemerkung $ cd
dito $ cd ~
dito $ cd ~/temp
C:\GUIDO>CD \OTHER $ cd /other
C:\GUIDO>CD ..\TEMP\TRASH $ cd ../temp/trash
C:\GUIDO>MD NEWPROGS $ mkdir newprogs
C:\GUIDO>MOVE PROG .. $ mv prog ..
C:\GUIDO>MD \PROGS\TURBO $ mkdir /progs/turbo
C:\GUIDO>DELTREE TEMP\TRASH $ rm -rf temp/trash
C:\GUIDO>RD NEWPROGS $ rmdir newprogs
C:\GUIDO>RD \PROGS\TURBO $ rmdir /progs/turbo
Bemerkungen:
rmdir
muß das zu löschende Verzeichnis
leer sein. Will man ein Verzeichnis mitsamt seinem Inhalt auf einmal loswerden
hilft ein rm -rf
. VORSICHT! Mit diesem Befehl kann man ganze
Verzeichnisbäume auf Nimmerwiedersehen verschwinden lassen, ohne daß das System
im Zweifelsfalle noch mal rückfragt. Also, zweimal überlegen.
~
« ist eine Abkürzung für den Namen des
eigenen Home-Verzeichnisses, wenn es am Anfang des Pfadnamens steht. Das
Kommando cd
oder cd ~
bringen einen sofort ins eigene Home-
Verzeichnis, egal wo man gerade ist. cd ~/tmp
bringt einen demnach ins
Verzeichnis /Pfad_zum_Homeverzeichnis/tmp
.
cd -
ist ein »undo« für cd
, d.h. es bringt einen in das
Verzeichnis zurück, in dem man vor dem letzten cd
war.