homeUnix & Internet Unix & Shell-Programmierung: Dateisystem Prof. Dr. Uwe Schmidt FH Wedel

Dateisystem

weiter

weiter

Zugriffsrechte, Inodes, Links

Datei
aus Sicht des Betriebsssystems
Folge von 8-bit bytes
keine Satzstruktur
keine Beschränkung der Zeilenlänge
kein EOF Zeichen
keine Unterschiede: Text / binär
weiter
Zugriffsrechte
3 Klassen: user, group, others
3 Attribute: read (r), write (w), execute (x)
weiter
Verzeichnisse
r
Verzeichnis lesen: nur Dateinamen
w
Dateien im Verzeichnis erzeugen und löschen
x
Suchen im Verzeichnis: Dateiattribute lesen
weiter
merke
um auf eine Datei zuzugreifen, müssen für alle Verzeichnisse von der Wurzel bis zur Datei die Rechte vorhanden sein
weiter
Kommandos
chmod
Zugriffsrechte setzten und verändern
 
chmod 777 datei
chmod 000 datei
chmod 644 datei
chmod a+rwx datei
chmod a-rwx datei
chmod a+r datei ; chmod u+x datei
weiter
chown
Besitzer ändern
 
chown root /etc/passwd
chown egon *.c
weiter
merke
Benutzerbeschreibung in /etc/passwd
chgrp
Gruppe ändern
 
chgrp project1 *.c
weiter
merke
Gruppenbeschreibung in /etc/group
Dateiarten
-
einfache Dateien, files
d
Verzeichnisse, directories
c
zeichenorientierte Gerätedateien, character devices
b
blockorientierte Gerätedateien, block devices
l
symbolische Verweise, symbolic links, soft links
p
benannte Röhren, named pipes
s
Steckdosen, sockets
weiter
Inodes
internal nodes, interne Namen
Indizes in die Inode-Tabelle
Dateizugriff
2-stufig
 
Dateiname --> inode --> Inhalt
Dateiname --> inode --> Attribute
Inode-Tabelle
eine große Tabelle für Dateibeschreibungen:
Attribute und Verweise auf Blöcke für den Dateiinhalt.
pro physikalischem Dateisystem eine Inode-Tabelle
weiter
Attribute
Zugriffsrechte
Zeitstempel
 
  • letztes Lesen
  • letztes Schreiben
  • letztes Modifizieren der Attribute
weiter
ls -l -u # last use
ls -l -c # last change of attributes
ls -l -i # inode #
weiter
stat name # file statistics
 
stat .
  File: `.'
  Size: 4096  Blocks: 8  IO Block: 4096  directory
Device: 803h/2051d Inode: 23584 Links: 35
Access: (0755/drwxr-xr-x) Uid:(506/uwe) Gid:(100/users)
Access: 2012-11-19 17:14:15.626662716 +0100
Modify: 2012-11-19 17:10:08.410595609 +0100
Change: 2012-11-19 17:10:08.410595609 +0100
 Birth: -
weiter
links
Baumstruktur umständlich bei gemeinsamer Verwendung einer Datei an mehreren Stellen im Dateisystem
links ermöglichen eine Graphstruktur
ln alteDatei neueDatei
weiter
merke
hard links
symmetrisch
nicht über Filesystemgrenzen hinweg
nicht auf Verzeichnisse
weiter
merke
unübersichtlich
Auflösen von links
 
ln f0 f1 # link erzeugen
cp f1 f2 # neue Kopie anlegen
rm f1    # alte Version löeschen
weiter
merke
kann von Editoren gemacht werden
merke
kann bei Backups mit tar oder rsync passieren
weiter
symbolic links
soft links, symbolische Verweise
ln -s alteDatei neueDatei
weiter
neuer Dateityp
symbolic link
Erzeugen einer "besonderen" Datei, die einen Pfadnamen auf die eigentliche Datei enthält.
beim Öffnen der Datei wird automatisch die eigentliche Datei geöffnet
beim Löschen des links wird nur der link gelöscht, keine Veränderung im Inode der eigentlichen Datei
beim Löschen der eigentlichen Datei bleibt der link unverändert, erst beim Versuch des Öffnens wird ein Fehler gemeldet
weiter
Beispiele
ls -l /usr/bin
weiter
merke
symbolic links über Filesystemgrenzen hinweg
merke
symbolic links auch auf Verzeichnisse
weiter

weiter

Geräte

Zugriff
über Einträge im Dateisystem
weiter
/dev
Verzeichnis für alle Geräte
physikalische Geräte: Platten, Maus, ...
logische Geräte: Partitionen, Terminals, ...
weiter
Arten
2 Arten
blockorientierte Geräte (b)
zeichenorientierte Geräte (c)
weiter
interessante Geräte
weiter
/dev/tty
Bildschim-Ausgabe
/dev/console
Konsolbildschirm
weiter
/dev/fd0
floppy-Laufwerk a:
/dev/fd0h1440
1.4Mb Laufwerk für 3 1/4 Zoll
weiter
/dev/hda
/dev/hdb
...
IDE Platten
/dev/hda1
/dev/hda2
...
Partitionen auf der 1. Platte
/dev/sda
/dev/sdb
...
SCSI Platte
weiter
/dev/cdrom
CD-ROM Laufwerk
/dev/mouse
Maus
/dev/null
schwarzes Loch
/dev/zero
erzeugt 0-en
weiter

weiter

Platten, Partitionen, Filesysteme

Aufteilung
logisch
ein hierarchisches Dateisystem mit einer Wurzel: /
weiter
physikalisch
aufgeteilt
ein physikalisches Dateisystem pro Partition
weiter
physikalisches Dateisystem
Datenstruktur mit Wurzel, Inode-Tabelle, Blöcke für Dateiinhalte, Liste der freien Blöcke
weiter
mount
ein physikalisches Dateisystem an einer beliebigen Stelle im Dateisystem verankern
weiter
Diagramm
weiter
Beispiele
für mount Kommandos
 
mount -t iso9660 -o ro /dev/cdrom /cdrom
mount -t msdos /dev/hda1 /c
mount -t vfat /dev/fd0 /a
weiter
umount
austragen eines physikalischen Dateisystems
 
umount /cdrom
umount /c
umount /a
weiter
NFS
network file system
 
Verzeichnisse transparent über das Netz im eigenen Dateisystem verankern
weiter
Beispiele
mount -t nfs sparc20:/disk2/home/fhw/si /home/fhw/si
mount -t nfs www1:/home/fhw/si /home/fhw/si/www
weiter
/etc/fstab
Datei für das automatische Mounten von Dateisystemen beim Booten des Systems
weiter
Beispiele
/dev/hda6  swap     swap     defaults        0 0
/dev/hda7  /        ext2     defaults        1 1
/dev/hda1  /c       msdos    defaults        1 2
/dev/fd0   /a       vfat     rw,noauto,user  0 0
/dev/hdc   /cdrom   iso9660  ro,noauto,user  0 0
weiter
/proc
Dateisystem
einfache Schnittstelle zum Zugriff auf Prozess-Statusinformationen
einfache Schnittstelle für Prozessorinformation
ls, cat zum Auslesen
top Prozessorstatus über /proc
weiter

Letzte Änderung: 03.11.2014
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel