Dateien
Verzeichnisse und Operationen auf Dateien
Begriff
Ein Verzeichnis verwaltet Dateien. Synonyme: Katalog engl: Directory, dictionary, catalog)
Ein Verzeichniseintrag enthält den Dateinamen und entweder
- einen Verweis auf die Datei auf dem Hintergrundspeicher
- einen Verweis auf eine Informationsknoten (UNIX)
Konzeptioneller Bewegungsraum: Welche Informationen sind im Verzeichniseintrag
und welche im Informationsknoten ? (In Unix sind alle Infos im Inode)
(BigShaw S303)
Verzeichnisse sind früher in UNIX auch Dateien gewesen. Laut den Manualpages
sind in POSIX und Linux Verzeichnisse spiezelle Dateien mit einem extra leseaufruf getdirent(2).
Dateimanager
Mit einem Dateimanager auf einer graphischen Bedienoberfäche kann man sehr schön die Verzeichnishierarchie sehen und sehr anschaulich Operationen auf dem Verzeichnis ausführen. (Die Leute müssen aber trotzdem wissen was sie tun !)
Beispiele:
DOSSHELL,MidnightComander usw....
Befehle auf Komandointerpreter
UNIX | MSDOS | Bedeutung |
ls | DIR | Auflisten |
cp | COPY | Datei Kopieren |
mv | REN | Datei umbenennen |
rm | DEL | Datei löschen |
rm -r | DELTREE | Verzeichnis rekursiv löschen |
|
ln -s | - | Softlink |
ln | - | Hartlink |
|
mkdir | md | Verzeichnis erstellen |
rmdir | rmdir | Verzeichnis löschen |
|
cd | cd | altuelles Verzeichnis ändern |
Weitere wichtige Kommandos in UNIX:
find(1) durchsucht eine Verzeichnishierarchie nach Einträgen mit Bestimmten Eigenschaften und führt weitere Kommandos aus.
Operationen in der libc
opendir(3)
closedir(3)
rewinddir(3)
seekdir(3)
telldir(3)
scandir(3)
Operationen auf Verzeichniseinträge
Def: link
Ein Link ist ein Verweis auf einen Inode. Ein Inode hat einen Referenzzähler, der bei jedem hard-linken erhöht und bei jedem löschen eines Verweise erniedrigt wird.
- link(2) erzeugt einen neuen Verzeichnisnamen
- symlink(2) erzeugt einen softlink. Dieser zeigt auf einen anderen verzeichniseintrag. Softlinks werden zur Laufzeit interpretiert.
- unlink(2) entfernt einen namen aus dem verzeichnis. falls kein name mehr auf den Inode zeigt, wird er gelöscht.
- rename(2) umbenennen einer Datei
- readlink(2) liest einen link.
- stat(2) liest die Inode-Informationen
- lstat(2) liest die Inode-Informationen des Links
Ausblick
- Verzeichnisse sind Objektverwaltungen
- Verschiedene Sichten auf das Verzeichnisstruktur:
Jeder Nutzer hat je nach seinen Rechten eine andere (Plan 9 ?, Spring ?)
- Verzeichnisdienste : Objektverwaltung über ein ganzes Rechnernetz
- Netscape/Microsoft Idee: Internet URLS und lokale URLS wie file://home/rw/tralala entsprechen Verzeichniseinträgen
damit Integration Dateimanager und HTML-Browser
Informatik- und Netzwerkverein Ravensburg e.V
Rudolf Weber