Wir haben bereits die Unterschiede zwischen Dateien unter DOS/Windows und Linux besprochen. Was Verzeichnisse angeht, ist das Wurzelverzeichnis unter DOS \, während es unter Linux / ist. Ebenso werden Verzeichnisse in Pfadnamen unter DOS 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. Beispiele für Dateipfade:
DOS: C:\PAPERS\GEOLOGY\MID_EOC.TEX
Linux: /home/guido/papers/geology/mid_eocene.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, üblicherweise als
HOME-Verzeichnis bezeichnet. Auf meinem PC ist mein Home-Verzeichnis z.B.
/home/guido
.
Verzeichnisse haben natürlich auch Zugriffsrechte wie Dateien. 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. 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,
denn 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 -R
MOVE: mv
Beispiele:
DOS Linux
________________________________________________________________
C:\GUIDO>dir $ ls
C:\GUIDO>dir file.txt $ ls file.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 -R 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 -R
. VORSICHT! Mit diesem Befehl kann man
ganze Verzeichnisbäume auf Nimmerwiedersehen verschwinden lasen. Also
zweimal überlegen.
~
' ist eine Abkürzung für den Namen des
eigenen Home-Verzeichnisses, wenn es am Anfang des Pfad/Dateinamens 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 das letzte cd
.