Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:dateitypen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:dateitypen [2011/06/12 09:21]
ingo_wichmann
admin_grundlagen:dateitypen [2021/01/11 07:35] (aktuell)
Zeile 1: Zeile 1:
 ====== Dateitypen ====== ====== Dateitypen ======
 +
 +Folgende Dateitypen gibt es:
 +
 +^ Abkürzung ^ ls -l ^  Dateityp ​                 ^  ​
 +|    f      |  -    | gewöhnliche Datei         |
 +|    d             || Verzeichnis ​              |
 +|    l             || symbolischer Link         |
 +|    b             || Blockorientiertes Gerät ​  |
 +|    c             || Zeichenorientiertes (char) Gerät |
 +|    p             || Benannte Pipe (FIFO) ​     |
 +|    s             || Socket ​                   |
 +
 +Diese Abkürzungen können bei der Option ''​-type''​ von ''​find''​ verwendet werden. Sie stehen in
 +der Ausgabe von ''​ls -l''​ ganz links (lediglich bei gewöhnlichen Dateien steht dort ''​-''​ statt ''​f''​.
 +
 +Welche Dateitypen finden sich z.B. unter ''/​dev'':​
 +  find /dev -printf '​%y\n'​ | sort | uniq -c
 +
 ===== Normale Datei ===== ===== Normale Datei =====
   touch datei   touch datei
   > datei   > datei
-===== Verzeichnisse ​=====+ 
 +Der wesentliche Unterschiede besteht, falls ''​datei''​ bereits existiert. ''​touch''​ ändert den Dateiinhalt nicht, sondern aktualisiert lediglich die Zeitstempel. ''>''​ überschreibt die Datei mit leerem Inhalt, die Größe ist anschließend also 0 Bytes. 
 + 
 +vgl. [[hardlink]] 
 + 
 +===== Verzeichnis ​=====
   mkdir verzeichnis   mkdir verzeichnis
-===== Symbolische Links ===== +Falls ein Verzeichniseintrag mit dem Namen bereits besteht, erscheint eine Fehlermeldung.
-  ln -s /tmp symlink+
  
-==== Symlinks und find ==== +  ​mkdir -p pfad/zu/​einem/​verzeichnis 
-  ​mkdir vorher nachher linkdir +Hier werden auch bei Bedarf alle Zwischenverzeichnisse bis zum ''​verzeichnis''​ erstelltFalls diese oder auch das ''​verzeichnis''​ bereits existieren, passiert nichts.
-  touch nachher/datei +
-  ln -s linkdir/​symlink ​../​vorher/​datei+
   ​   ​
-Alle Links in ''​linkdir''​ findendie auf ''​vorher'' ​zeigen ​und auf ''​nachher'' ​umbiegen: +===== Link ===== 
-  find linkdir/ -type l -lname '../​vorher/​*'​ -printf '​%f/​%l\n\0'​ | while IFS=/ read -d $'​\0'​ link target; do echo "ln -sf $link ../nachher${target#​../​vorher}";​ done + 
-===== Gerätedateien ​=====+Jede Datei hat mindestens einen Link -- nämlich ihren Verzeichniseintrag. Um zu einer Datei einen 
 +weiteren Verzeichniseintrag hinzuzufügen (also einen weiteren Link)schreibt man: 
 +  ln datei1 datei2 
 +   
 +''​datei1''​ und ''​datei2'' ​müssen sich im selben Dateisystem (Datenträger,​ Partition) befinden, weil keine neue Datei erzeugt wird, sondern lediglich ein weiterer Verzeichniseintrag erzeugt wird, der auf denselben i-Node zeigt. 
 + 
 +===== Symbolischer Link ===== 
 +  ​ln -/tmp symlink 
 + 
 +vgl[[Symbolische Links]] 
 + 
 +===== Gerätedatei ​=====
   mknod cdev c 5 3   mknod cdev c 5 3
   mknod bdev b 3 7   mknod bdev b 3 7
-===== Named Pipes =====+===== Named Pipe =====
   mkfifo /​tmp/​named-pipe   mkfifo /​tmp/​named-pipe
-===== Sockets ===== 
-(leider kein einfaches Beispiel) 
  
 +Vgl. [[admin_grundlagen:​named pipe]]
 +===== Socket =====
 +
 +Sockets sind insbesondere aus der Kommunikation über TCP/IP bekannt (Sockets der Adressfamilie AF_INET), aber es gibt sie auch im Dateisystem (Sockets der Adressfamilie AF_UNIX). Auch diese Sockets erzeugen bidirektionale Datenstromverbindungen wie bei TCP, aber nur innerhalb eines Rechners. Besonderer Vorteil ist, dass der angefragte Prozess vor Annehmen der Verbindung sicher herausfinden kann, unter welcher Benutzerkennung der anfragende Prozess läuft.
 +
 +(CentOS 7, nicht in der Version von Debian 6.0)
 +
 +Server:
 +  nc -l -U /tmp/socket
 +
 +Client:
 +  nc -U /tmp/socket
admin_grundlagen/dateitypen.1307870505.txt.gz · Zuletzt geändert: 2011/06/12 09:21 von ingo_wichmann