INodes: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „Inode (oder I-Node) wird im Deutschen am besten als Informationsknoten oder Indexeintrag bezeichnet. Er fasst alle Attribute einer Datei zusammen außer dem In…“) |
|||
| (37 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | Inode (oder I-Node) wird im Deutschen am besten als Informationsknoten oder Indexeintrag bezeichnet. Er fasst alle Attribute einer Datei zusammen außer dem Inhalt und dem Namen der Datei. | + | =Prinzip= |
| − | + | *Inode (oder I-Node) wird im Deutschen am besten als Informationsknoten oder Indexeintrag bezeichnet. | |
| − | + | *Er fasst alle Attribute einer Datei zusammen außer dem Inhalt und dem Namen der Datei. | |
| + | {{#drawio:inodes-1}} | ||
| + | =Daten= | ||
{| border=1 cellpadding=2 | {| border=1 cellpadding=2 | ||
|type | |type | ||
| Zeile 38: | Zeile 40: | ||
|} | |} | ||
| − | + | =Dateiarten= | |
{| border=1 cellpadding=2 | {| border=1 cellpadding=2 | ||
!Zeichen | !Zeichen | ||
| Zeile 73: | Zeile 75: | ||
|} | |} | ||
| − | + | ==Normale Dateien== | |
| − | Unter einer normalen Datei versteht man die Ansammlung von Daten. Dies kann ein Text, Programm, Bild oder sonstiges sein. | + | ;Unter einer normalen Datei versteht man die Ansammlung von Daten. |
| − | + | ;Dies kann ein Text, Programm, Bild oder sonstiges sein. | |
| − | + | Zu erkennen an einem '''-''' in ls -l | |
| − | + | <pre> | |
| + | xinux@debi:~$ ls -l text | cut -c 1 | ||
| + | - | ||
| + | </pre> | ||
| − | + | ==Verzeichnisse== | |
| − | Dateien werden in Verzeichnissen gespeichert, nur so ist eine Ordnung möglich. | + | ;Dateien werden in Verzeichnissen gespeichert, nur so ist eine Ordnung möglich. |
| − | + | <pre> | |
| − | + | xinux@debi:~$ mkdir -v Ordner | |
| − | + | mkdir: Verzeichnis „Ordner“ angelegt | |
| − | + | </pre> | |
| − | |||
| − | + | Zu erkennen an einem d in ls -l | |
| − | + | <pre> | |
| + | xinux@debi:~$ ls -ld Ordner | cut -c 1 | ||
| + | d | ||
| + | </pre> | ||
| − | + | ==Gerätedateien (Block und Char)== | |
| − | + | *Gerätedateien ermöglichen Anwendungsprogrammen unter Benutzung des Kernels den Zugriff auf die Hardwarekomponenten des Systems. | |
| − | + | *Ansprechbar über Major und Minor Nummern | |
| − | + | *Es gibt zweit Arten von Gerätedateien | |
| + | *Block und Character Devices | ||
| + | *Block Devices werden gepuffert geschrieben. | ||
| + | *Character Devices Zeichen für Zeichen. | ||
| + | ;Schaubild | ||
| + | {{#drawio:block-char-1}} | ||
| + | {| class="wikitable" | ||
| + | ! Block Devices !! Character Devices | ||
| + | |- | ||
| + | | Festplatte, SSD, RAID, USB-Stick || Tastatur, Maus, Serielle Schnittstellen, Soundkarte, Drucker | ||
| + | |} | ||
| − | Block Device | + | ==Block Device== |
| − | + | *ls -l /dev/sda | cut -c 1 | |
b | b | ||
| − | Character Device | + | ==Character Device== |
| − | + | *ls -l /dev/ttyS0 | cut -c 1 | |
c | c | ||
| − | + | ;Erstellen einer Gerätedatei | |
| − | Erstellen einer Gerätedatei | + | *mknod sata1 b 8 0 |
| − | + | *fdisk -l /dev/sata1 | |
| − | |||
Platte /dev/sata1: 6442 MByte, 6442450944 Byte | Platte /dev/sata1: 6442 MByte, 6442450944 Byte | ||
| Zeile 117: | Zeile 133: | ||
/dev/sata1p5 744 783 321268+ 82 Linux Swap / Solaris | /dev/sata1p5 744 783 321268+ 82 Linux Swap / Solaris | ||
| − | + | ==Named Pipes== | |
| − | Benannte Pipes (Named Pipes) können dagegen auch zur Kommunikation zwischen Prozessen eingesetzt werden | + | *Benannte Pipes (Named Pipes) können dagegen auch zur Kommunikation zwischen Prozessen eingesetzt werden |
| − | + | *Sie sind flexibler als anonyme Pipes und eignen sich für sogenannte Client-Server-Anwendungen. | |
| − | flexibler als anonyme Pipes und eignen sich für sogenannte Client-Server-Anwendungen | + | *Benannte Pipes ermöglichen die gleichzeitige Kommunikation in beide Richtungen |
| − | Benannte Pipes ermöglichen die gleichzeitige Kommunikation in beide Richtungen | + | *Es können Daten im Vollduplexbetrieb zwischen den Prozessen ausgetauscht werden. |
| − | zwischen den Prozessen ausgetauscht werden. | + | ===Erstelle Named Pipe mit Namen /tmp/roehre=== |
| − | + | ;Schreibe "hallo welt" in die Pipe und bleibe | |
| − | Erstelle Named Pipe mit Namen /tmp/roehre | + | *mkfifo /tmp/roehre |
| − | + | *echo hallo welt > /tmp/roehre | |
| − | + | ===Gebe Inhalt der Pipe mit cat aus=== | |
| − | + | *cat < /tmp/roehre | |
| − | Gebe Inhalt der Pipe mit cat aus | ||
| − | |||
hallo welt | hallo welt | ||
| − | + | *ls -l /tmp/roehre | cut -c 1 | |
p | p | ||
| − | + | ==Sockets (Geht über Grundlagen hinaus)== | |
| − | Schnittstelle um es lokalen Anwendungen zu ermöglichen, miteinander Netwerkmässig zu kommunizieren. | + | *Schnittstelle um es lokalen Anwendungen zu ermöglichen, miteinander Netwerkmässig zu kommunizieren. |
| − | + | *netstat -lnxp | tail -1 | |
| − | |||
unix 2 [ ACC ] STREAM HÖRT 21951 6646/nm-applet /tmp/orbit-thomas/linc-19f6-0-2b9b81095cede | unix 2 [ ACC ] STREAM HÖRT 21951 6646/nm-applet /tmp/orbit-thomas/linc-19f6-0-2b9b81095cede | ||
| − | + | *ls -l /tmp/orbit-thomas/linc-19f6-0-2b9b81095cede | cut -c 1 | |
| − | |||
s | s | ||
| + | ===Socket erstellen=== | ||
| + | *nc -lkU a.sock | ||
| − | + | ==Links== | |
| − | Bei Links handelt es sich um symbolische Verweise auf andere Dateien | + | *Bei Links handelt es sich um symbolische Verweise auf andere Dateien |
| − | + | ===Softlink=== | |
| − | + | ;Ein Softlink ist eine Datei die nur auf den Namen einer anderen Datei verweist. | |
| − | Ein Softlink ist eine Datei die nur auf den Namen einer anderen Datei verweist. Wenn | + | ;Wenn der originale Hardlink gelöscht wird, zeigt der Link ins Leere. |
| − | der Link ins Leere. | + | ;Erstellen eines Softlinks |
| − | |||
| − | |||
{| border=1 cellpadding=2 | {| border=1 cellpadding=2 | ||
| Zeile 157: | Zeile 169: | ||
|- | |- | ||
| Nachteile | | Nachteile | ||
| − | | Wenn | + | | Wenn der Hardlink gelöscht ist, ist kein Zugriff mehr möglich |
|} | |} | ||
| − | + | ;Beispiele | |
Normal | Normal | ||
| − | + | *ln -s text verweis | |
| − | Verbose | + | ;Verbose |
| − | + | *ln -sv text verweis | |
„verweis“ -> „text“ | „verweis“ -> „text“ | ||
| − | Erzwungenes Überschreiben | + | ;Erzwungenes Überschreiben |
| − | + | *n -sf dat verweis | |
| − | Auswirkungen | + | ;Auswirkungen |
| − | + | *ls -l dat verweis | |
-rw-r--r-- 1 root root 4 2009-07-29 13:56 dat | -rw-r--r-- 1 root root 4 2009-07-29 13:56 dat | ||
lrwxrwxrwx 1 root root 3 2009-07-29 13:57 verweis -> dat | lrwxrwxrwx 1 root root 3 2009-07-29 13:57 verweis -> dat | ||
| − | Kopieren(Original wird kopiert) | + | ;Kopieren(Original wird kopiert) |
| − | + | *cp -v verweis /tmp/ | |
„verweis“ -> „/tmp/verweis“ | „verweis“ -> „/tmp/verweis“ | ||
| − | + | *ls -l /tmp/verweis | |
-rw-r--r-- 1 root root 4 2009-07-29 13:59 /tmp/verweis | -rw-r--r-- 1 root root 4 2009-07-29 13:59 /tmp/verweis | ||
| − | Kopieren(Link wird kopiert) | + | ;Kopieren(Link wird kopiert) |
| − | + | *cp -vd verweis /tmp/ | |
„verweis“ -> „/tmp/verweis“ | „verweis“ -> „/tmp/verweis“ | ||
| − | + | *ls -l /tmp/verweis | |
lrwxrwxrwx 1 root root 3 2009-07-29 14:00 /tmp/verweis -> dat | lrwxrwxrwx 1 root root 3 2009-07-29 14:00 /tmp/verweis -> dat | ||
| − | + | ===Hardlinks=== | |
| − | + | *Eigentlich ist jede Datei ein Hardlink. | |
| − | + | *Ein Hardlink ist ein Verzeichniseintrag, der auf eine Inode verweist. | |
| − | Eigentlich ist jede Datei ein Hardlink. Ein Hardlink ist ein Verzeichniseintrag, | + | *Beim Erzeugen einer Datei verweist ein Eintrag auf eine Inode. |
| − | der auf eine Inode verweist. Beim Erzeugen einer Datei verweist ein Eintrag auf | + | *Man kann dann weitere Verweise erzeugen. |
| − | eine Inode. Man kann dann weitere Verweise erzeugen. Der Linkcounter wird | + | *Der Linkcounter wird jeweils um 1 erhöht. |
| − | jeweils um 1 erhöht. Beim Löschen einer Datei wird er jeweils um 1 reduziert. | + | *Beim Löschen einer Datei wird er jeweils um 1 reduziert. |
| − | Wird der Wert 0 erreicht, ist die Datei gelöscht. | + | *Wird der Wert 0 erreicht, ist die Datei gelöscht. |
{| border=1 cellpadding=2 | {| border=1 cellpadding=2 | ||
| Vorteile | | Vorteile | ||
| − | |Zugriff auf die Daten, selbst wenn | + | |Zugriff auf die Daten, selbst wenn der erste Link gelöscht ist. |
|- | |- | ||
|Nachteile | |Nachteile | ||
| Zeile 199: | Zeile 211: | ||
Ist nur innerhalb einer Partion möglich. | Ist nur innerhalb einer Partion möglich. | ||
|} | |} | ||
| − | + | ;Beispiele | |
| − | + | *touch 1 | |
| − | + | *echo "text" > 1 | |
| − | + | *ln 1 2 | |
| − | + | *more 2 | |
| − | |||
text | text | ||
| − | + | *echo "doch kein text" > 1 | |
| − | + | *more 1 | |
doch kein text | doch kein text | ||
| − | + | *more 2 | |
doch kein text | doch kein text | ||
| − | Weitere Optionen: | + | ;Weitere Optionen: |
-b sichert Dateien, statt sie zu überschreiben | -b sichert Dateien, statt sie zu überschreiben | ||
-f Überschreibt bestehende, gleichnamige Dateien | -f Überschreibt bestehende, gleichnamige Dateien | ||
-i fragt vor dem Überschreiben nach Bestätigung | -i fragt vor dem Überschreiben nach Bestätigung | ||
-v ausführliche Meldungen | -v ausführliche Meldungen | ||
| − | Softlink mit dem Namen passwd im Homeverzeichnis angelegt | + | ;Softlink mit dem Namen passwd im Homeverzeichnis angelegt |
| − | + | *ln -vs /etc/passwd . | |
„./passwd“ -> „/etc/passwd“ | „./passwd“ -> „/etc/passwd“ | ||
| − | Softlink mit dem Namen passwd im Homeverzeichnis angelegt(Original exestiert nicht) | + | ;Softlink mit dem Namen passwd im Homeverzeichnis angelegt(Original exestiert nicht) |
| − | + | *ln -vs /etc/hund . | |
„./hund“ -> „/etc/hund“ | „./hund“ -> „/etc/hund“ | ||
| − | Hardlink mit dem Namen hosts im Homeverzeichnis angelegt | + | ;Hardlink mit dem Namen hosts im Homeverzeichnis angelegt |
| − | + | *ln -v /etc/hosts . | |
„./hosts“ => „/etc/hosts“ | „./hosts“ => „/etc/hosts“ | ||
| − | Auf eine nicht existierende Datei kann kein Hardlink angelegt werden! | + | ;Auf eine nicht existierende Datei kann kein Hardlink angelegt werden! |
| − | + | *ln -v /etc/katze . | |
ln: Zugriff auf „/etc/katze“: No such file or directory | ln: Zugriff auf „/etc/katze“: No such file or directory | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Aktuelle Version vom 28. November 2024, 11:44 Uhr
Prinzip
- Inode (oder I-Node) wird im Deutschen am besten als Informationsknoten oder Indexeintrag bezeichnet.
- Er fasst alle Attribute einer Datei zusammen außer dem Inhalt und dem Namen der Datei.
Daten
| type | Der Typ der Datei wird als einzelner Buchstabe angezeigt. Der Typ einer Datei wird beim Anlegen der Datei festgelegt |
| Permissions | Die Zugriffsrechte der Datei werden in den 12 Bit sstrwxrwxrwx abgespeichert.Die Zugriffsrechte können mit dem Kommando chmod verändert werden. |
| link count | In UNIX kann eine Datei mehr als einen Namen haben. Der Link Count gibt die Anzahl der Namen einer Datei an. Er kann
mit dem Kommando ln erhöht und dem Kommando rm erniedrigt werden. |
| owner | Für den Dateieigentümer gelten die in der ersten rwx-Gruppe festgelegten Zugriffsrechte. Standardmäßig ist der
Eigentümer einer Datei derjenige Benutzer, der die Datei angelegt hat. |
| group | Für Benutzer, die in der gleichen Gruppe sind, der die Datei angehört, gelten die in der zweiten rwx-Gruppe festgelegten
Zugriffsrechte. In System V gehört eine Datei standardmäßig der Gruppe an, in der der anlegende Benutzer gerade ist. |
| size | Bei normalen Dateien und Verzeichnissen gibt diese Information die Länge der Datei in Byte an. |
| access time | Die Zugriffszeit gibt den Zeitpunkt des letzten Lesezugriffes auf eine Datei an. Aus Effizienzgründen wird die
Zugriffszeit an Verzeichnissen nicht gesetzt, wenn ein Verzeichnis durchsucht wird, obwohl man dies erwarten könnte. (ls -l --time=atime) stat zeigt alle Zeiten an. |
| modification time | Die Modifikationszeit gibt die Zeit des letzten Schreibzugriffes auf die Daten der Datei an. Intern speichert UNIX
die Zeit als Sekunden seit Beginn des Jahres 1970 und in GMT ab. Für die Ausgabe wird dies in ein besser lesbares Format in der lokalen Zeitzone umgewandelt. (ls -l) |
| change time | Die Veränderungszeit gibt das Datum der letzten Statusänderung der Datei an. Sie wird immer dann gesetzt, wenn die
Informationen über die Datei sich ändern (Datum der Erzeugung wird nicht gespeichert) (ls -lc) |
Dateiarten
| Zeichen | Typ | Zweck |
|---|---|---|
| - | file | normale Datei |
| d | directory | Verzeichnis |
| b | block device | Gerätedatei |
| c | character device | Gerätedatei |
| p | named pipe | Benannte Pipeline |
| s | socket | Netzwerkverbindung |
| l | link | Querverweis |
Normale Dateien
- Unter einer normalen Datei versteht man die Ansammlung von Daten.
- Dies kann ein Text, Programm, Bild oder sonstiges sein.
Zu erkennen an einem - in ls -l
xinux@debi:~$ ls -l text | cut -c 1 -
Verzeichnisse
- Dateien werden in Verzeichnissen gespeichert, nur so ist eine Ordnung möglich.
xinux@debi:~$ mkdir -v Ordner mkdir: Verzeichnis „Ordner“ angelegt
Zu erkennen an einem d in ls -l
xinux@debi:~$ ls -ld Ordner | cut -c 1 d
Gerätedateien (Block und Char)
- Gerätedateien ermöglichen Anwendungsprogrammen unter Benutzung des Kernels den Zugriff auf die Hardwarekomponenten des Systems.
- Ansprechbar über Major und Minor Nummern
- Es gibt zweit Arten von Gerätedateien
- Block und Character Devices
- Block Devices werden gepuffert geschrieben.
- Character Devices Zeichen für Zeichen.
- Schaubild
| Block Devices | Character Devices |
|---|---|
| Festplatte, SSD, RAID, USB-Stick | Tastatur, Maus, Serielle Schnittstellen, Soundkarte, Drucker |
Block Device
- ls -l /dev/sda | cut -c 1
b
Character Device
- ls -l /dev/ttyS0 | cut -c 1
c
- Erstellen einer Gerätedatei
- mknod sata1 b 8 0
- fdisk -l /dev/sata1
Platte /dev/sata1: 6442 MByte, 6442450944 Byte
255 Köpfe, 63 Sektoren/Spuren, 783 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0x0005efab
Gerät boot. Anfang Ende Blöcke Id System
/dev/sata1p1 * 1 743 5968116 83 Linux
/dev/sata1p2 744 783 321300 5 Erweiterte
/dev/sata1p5 744 783 321268+ 82 Linux Swap / Solaris
Named Pipes
- Benannte Pipes (Named Pipes) können dagegen auch zur Kommunikation zwischen Prozessen eingesetzt werden
- Sie sind flexibler als anonyme Pipes und eignen sich für sogenannte Client-Server-Anwendungen.
- Benannte Pipes ermöglichen die gleichzeitige Kommunikation in beide Richtungen
- Es können Daten im Vollduplexbetrieb zwischen den Prozessen ausgetauscht werden.
Erstelle Named Pipe mit Namen /tmp/roehre
- Schreibe "hallo welt" in die Pipe und bleibe
- mkfifo /tmp/roehre
- echo hallo welt > /tmp/roehre
Gebe Inhalt der Pipe mit cat aus
- cat < /tmp/roehre
hallo welt
- ls -l /tmp/roehre | cut -c 1
p
Sockets (Geht über Grundlagen hinaus)
- Schnittstelle um es lokalen Anwendungen zu ermöglichen, miteinander Netwerkmässig zu kommunizieren.
- netstat -lnxp | tail -1
unix 2 [ ACC ] STREAM HÖRT 21951 6646/nm-applet /tmp/orbit-thomas/linc-19f6-0-2b9b81095cede
- ls -l /tmp/orbit-thomas/linc-19f6-0-2b9b81095cede | cut -c 1
s
Socket erstellen
- nc -lkU a.sock
Links
- Bei Links handelt es sich um symbolische Verweise auf andere Dateien
Softlink
- Ein Softlink ist eine Datei die nur auf den Namen einer anderen Datei verweist.
- Wenn der originale Hardlink gelöscht wird, zeigt der Link ins Leere.
- Erstellen eines Softlinks
| Vorteile | Symbolische Links können auch auf Verzeichnisse angelegt werden Sie sind partitionsübergreifend Man kann sie auf Dateien anlegen, die noch nicht existieren |
| Nachteile | Wenn der Hardlink gelöscht ist, ist kein Zugriff mehr möglich |
- Beispiele
Normal
- ln -s text verweis
- Verbose
- ln -sv text verweis
„verweis“ -> „text“
- Erzwungenes Überschreiben
- n -sf dat verweis
- Auswirkungen
- ls -l dat verweis
-rw-r--r-- 1 root root 4 2009-07-29 13:56 dat lrwxrwxrwx 1 root root 3 2009-07-29 13:57 verweis -> dat
- Kopieren(Original wird kopiert)
- cp -v verweis /tmp/
„verweis“ -> „/tmp/verweis“
- ls -l /tmp/verweis
-rw-r--r-- 1 root root 4 2009-07-29 13:59 /tmp/verweis
- Kopieren(Link wird kopiert)
- cp -vd verweis /tmp/
„verweis“ -> „/tmp/verweis“
- ls -l /tmp/verweis
lrwxrwxrwx 1 root root 3 2009-07-29 14:00 /tmp/verweis -> dat
Hardlinks
- Eigentlich ist jede Datei ein Hardlink.
- Ein Hardlink ist ein Verzeichniseintrag, der auf eine Inode verweist.
- Beim Erzeugen einer Datei verweist ein Eintrag auf eine Inode.
- Man kann dann weitere Verweise erzeugen.
- Der Linkcounter wird jeweils um 1 erhöht.
- Beim Löschen einer Datei wird er jeweils um 1 reduziert.
- Wird der Wert 0 erreicht, ist die Datei gelöscht.
| Vorteile | Zugriff auf die Daten, selbst wenn der erste Link gelöscht ist. |
| Nachteile | Man kann keine Hardlinks auf Verzeichnisse anlegen.
Ist nur innerhalb einer Partion möglich. |
- Beispiele
- touch 1
- echo "text" > 1
- ln 1 2
- more 2
text
- echo "doch kein text" > 1
- more 1
doch kein text
- more 2
doch kein text
- Weitere Optionen
-b sichert Dateien, statt sie zu überschreiben -f Überschreibt bestehende, gleichnamige Dateien -i fragt vor dem Überschreiben nach Bestätigung -v ausführliche Meldungen
- Softlink mit dem Namen passwd im Homeverzeichnis angelegt
- ln -vs /etc/passwd .
„./passwd“ -> „/etc/passwd“
- Softlink mit dem Namen passwd im Homeverzeichnis angelegt(Original exestiert nicht)
- ln -vs /etc/hund .
„./hund“ -> „/etc/hund“
- Hardlink mit dem Namen hosts im Homeverzeichnis angelegt
- ln -v /etc/hosts .
„./hosts“ => „/etc/hosts“
- Auf eine nicht existierende Datei kann kein Hardlink angelegt werden!
- ln -v /etc/katze .
ln: Zugriff auf „/etc/katze“: No such file or directory

