Inhalt

3. Verzeichnisse

3.1 Vorbemerkungen

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.

3.2 Zugriffsrechte von Verzeichnissen

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

3.3 Übertragen von Kommandos von DOS nach Linux

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:

  1. Bei der Benutzung von 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.
  2. Das Zeichen '~' 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.
  3. cd - ist ein "undo" für das letzte cd.


Inhalt