Erläuterung von „Alles ist eine Datei“ und Arten von Dateien unter Linux

Erläuterung von „Alles ist eine Datei“ und Arten von Dateien unter Linux

Wenn Sie neu unter Linux sind oder es einige Monate lang verwendet haben, müssen Sie Anweisungen wie "wie z."In Linux ist alles eine Datei”.

Alles ist eine Datei und Arten von Dateien unter Linux

Lesen Sie auch: 5 Nützliche Befehle zum Verwalten von Linux -Dateitypen

Das ist in der Tat wahr, obwohl es sich nur um ein Generalisierungskonzept handelt, in Unix und seinen Ableitungen wie Linux wird alles als Datei angesehen. Wenn etwas keine Datei ist, muss es als Prozess auf dem System ausgeführt werden.

Um dies zu verstehen, nehmen Sie zum Beispiel die Menge an Platz auf Ihrer Wurzel (/) Das Verzeichnis wird immer von verschiedenen Arten von Linux -Dateien konsumiert. Wenn Sie eine Datei erstellen oder eine Datei in Ihr System übertragen, nimmt sie einen Platz auf der physischen Festplatte ein und wird als in einem bestimmten Format angesehen (Dateityp).

Und auch das Linux -System unterscheidet nicht zwischen Dateien und Verzeichnissen, aber Verzeichnisse machen einen wichtigen Job, dh andere Dateien in Gruppen in einer Hierarchie für einen einfachen Standort speichern. Alle Ihre Hardwarekomponenten werden als Dateien dargestellt, und das System kommuniziert mit diesen Dateien mit ihnen.

Die Idee ist eine wichtige Beschreibung einer großartigen Eigenschaft von Linux, in der Eingabe-/Ausgaberessourcen wie Ihre Dokumente, Verzeichnisse (Ordner in Mac OS X und Window Terminals und auch Inter-Process- und Netzwerkkommunikation sind Streams von Bytes, die durch den Dateisystemraum definiert sind.

Ein bemerkenswerter Vorteil, dass alles, was eine Datei ist.

Obwohl alles unter Linux eine Datei ist, gibt es bestimmte spezielle Dateien, die mehr als nur eine Datei sind, beispielsweise Sockets und benannte Pipes.

Was sind die verschiedenen Arten von Dateien unter Linux??

In Linux gibt es im Grunde drei Arten von Dateien:

  1. Gewöhnliche/reguläre Dateien
  2. Sonderdateien
  3. Verzeichnisse

Gewöhnliche/reguläre Dateien

Dies sind Dateiendaten, die Text, Daten oder Programmanweisungen enthalten. Sie sind die häufigste Art von Dateien, die Sie in einem Linux -System erwarten können, und diese enthalten:

  1. Lesbare Dateien
  2. Binärdateien
  3. Bilddateien
  4. Komprimierte Dateien und so weiter.

Sonderdateien

Spezielle Dateien enthalten Folgendes:

Blockdateien : Dies sind Gerätedateien, die gepufferten Zugriff auf Systemhardwarekomponenten bieten. Sie bieten eine Kommunikationsmethode mit Gerätetreiber über das Dateisystem.

Ein wichtiger Aspekt über Block Dateien sind, dass sie einen großen Daten- und Informationen zu einem bestimmten Zeitpunkt übertragen können.

Blockdateien Sockets in einem Verzeichnis auflisten:

# ls -l /dev | grep "^b" 
Probenausgabe
BRW-RW ---- 1 Wurzelplatte 7, 0 18. Mai 10:26 Loop0 BRW-RW ---- 1 Wurzelscheibe 7, 1. Mai 18 10:26 Loop1 BRW-RW ---- 1 Root Disk 7,, 2. Mai 18 10:26 Loop2 BRW-RW ---- 1 Wurzelscheibe 7, 3. Mai 18 10:26 Loop3 BRW-RW ---- 1 Wurzelscheibe 7, 4. Mai 18. Mai 10:26 Loop4 BRW-RW- . 26 Loop7 BRW-RW ---- 1 Root Disk 1, 0, 18. Mai 18 10:26 RAM0 BRW-RW ---- 1 Wurzelscheibe 1, 1. Mai 18 10:26 RAM1 BRW-RW ---- 1 Wurzelscheibe 1, 10. Mai 18 10:26 RAM10 BRW-RW ---- 1 Wurzelscheibe 1, 11. Mai 18 10:26 RAM11 BRW-RW ---- 1 Wurzelscheibe 1, 12. Mai 18. Mai 10:26 RAM12 BRW-RW ---- 1 Wurzelscheibe 1, 13. Mai 18 10:26 RAM13 BRW-RW ---- 1 Wurzelscheibe 1, 14. Mai 18 10:26 RAM14 BRW-RW ---- 1 Wurzelscheibe 1, 15. Mai 18. Mai 18. Mai 18 10:26 RAM15 BRW-RW ---- 1 Wurzelscheibe 1, 2. Mai 18 10:26 RAM2 BRW-RW ---- 1 Wurzelscheibe 1, 3. Mai 18 10:26 RAM3 BRW-RW ---- 1 Wurzelscheibe 1, 4. Mai 18 10:26 RAM4 BRW-RW ---- 1 Wurzelscheibe 1, 5. Mai 18 10:26 RAM5… 

Zeichendateien : Dies sind auch Gerätedateien, die einen abgelösten seriellen Zugriff auf Systemhardwarekomponenten ermöglichen. Sie arbeiten, indem sie eine Art der Kommunikation mit Geräten bieten, indem sie Daten gleichzeitig übertragen haben.

Listing von Zeichendateien Sockets in einem Verzeichnis:

# ls -l /dev | Grep "^c" 
Probenausgabe
CRW ------- 1 Wurzelwurzel 10, 235 18. Mai 15:54 AutoFS CRW ------- 1 Wurzelwurzel 10, 234 18. Mai 15:54 BTRFS-Control CRW ------- 1 Wurzelwurzel 5, 1. Mai 18 10:26 Konsole CRW ------- 1 Wurzelwurzel 10, 60 Mai 18 10:26 CPU_DMA_LATENCY CRW ------- 1 Wurzelwurzel 10, 203 Mai 18 15 15: 54 Cuse CRW ------- 1 Wurzelwurzel 10, 61 Mai 18 10:26 ECRYPTFS CRW-RW ---- 1 Wurzel Video 29, 0. Mai 18 10:26 FB0 CRW-RW-RW- 1 Wurzel Root 1, 7. Mai 18 10:26 CRW-RW-RW- 1 Wurzelwurzel 10, 229 Mai 18 10:26 Sicherung CRW ------- 1 Wurzelwurzel 251, 0, 18. Mai, 10:27 Hidraw0 CRW-- ----- 1 Wurzelwurzel 10, 228 Mai 18 10:26 HPET CRW-R-R-- 1 Wurzelwurzel 1, 11. Mai 18 10:26 kmsg CRW-RW ----+ 1 Wurzel Root 10, 232 Mai 18 10:26 KVM CRW ------- 1 Wurzelwurzel 10, 237 Mai 18 10:26 Schleife-Kontroll CRW ------- 1 Wurzelwurzel 10, 227 Mai 18 10:26 McElog CRW ------- 1 Wurzelwurzel 249, 0 18. Mai 10:27 Media0 CRW ------- 1 Wurzelwurzel 250, 0. Mai 18 10:26 MEI0 CRW-R ----- 1 Wurzel KMEM 1, 1. Mai 18 10:26 MEM CRW ------- 1 Root Root 10, 57 Mai 18 10:26 MEAMMEITE_BANDWIDTH CRW ------- 1 Wurzel Root 10, 59 Mai 18 10:26 Network_Latency CRW ------- 1 Root Root 10, 58 Mai 18. Mai 10:26 Network_Throughput CRW-RW-RW- 1 Root Root 1, 3. Mai 18 10:26 NULL CRW-R ----- 1 Wurzel KMEM 1, 4. Mai 18 10:26 Port CRW ------- 1 Wurzelwurzel 108, 0 18. Mai 10:26 PPP CRW ------- 1 Wurzelwurzel 10, 1. Mai 18 10:26 PSAUX CRW-RW-RW- 1 Wurzel Tty 5 , 2. Mai 18 17:40 PTMX CRW-RW-RW- 1 Wurzelwurzel 1, 8. Mai 18 10:26 Zufällig 

Symbolische Linkdateien : Ein symbolischer Link ist ein Verweis auf eine andere Datei im System. Symbolische Link -Dateien sind daher Dateien, die auf andere Dateien verweisen, und sie können entweder Verzeichnisse oder reguläre Dateien sein.

Auflistung symbolischer Link -Sockets in einem Verzeichnis:

# ls -l / dev / | grep "^l" 
Probenausgabe
lrwxrwxrwx 1 Root Root 3 Mai 18 10:26 Cdrom -> SR0 LRWXRWXRWX 1 Wurzelwurzel lrwxrwxrwx 1 Root Root 4. Mai 18 10:26 RTC -> RTC0 LRWXRWXRWX 1 Wurzel Root 8. Mai 18 10:26 SHM ->/Run/shm lrwxrwxrwx 1 Wurzelwurzel /2 lrwxrwxrwx 1 Root Root 

Sie können symbolische Links mit der ln Nützlichkeit in Linux wie im folgenden Beispiel.

# Touch Datei1.TXT # ln -S -Datei1.txt/home/tecmint/file1.txt [symbolische Link erstellen] # ls -l/home/tecmint/| grep "^l" [symbolische Links auflisten] 

Im obigen Beispiel habe ich eine Datei namens erstellt Datei1.txt In /tmp Verzeichnis und dann den symbolischen Link erstellt, /home/tecmint/file1.txt deuten auf /tmp/file1.txt.

Rohre oder benannte Pfeifen : Dies sind Dateien, die die Kommunikation zwischen den Prozess ermöglichen, indem die Ausgabe eines Prozesses mit der Eingabe eines anderen hergestellt wird.

Eine benannte Rohr ist tatsächlich eine Datei, die von zwei Verfahren verwendet wird, um mit jedem zu kommunizieren, und es wirkt als Linux -Rohr.

Listing Pipes Sockets in einem Verzeichnis:

# ls -l | grep "^p" 
Probenausgabe
PRW-RW-R-- 1 Tecmint Tecmint 0. Mai 18 17:47 PIPE1 PRW-RW-R-- 1 Tecmint Tecmint 0. Mai 18 17:47 Pipe2 PRW-R-1 Tecmint Tecmint 0 Mai 18 17:47 PIPE3 PRW-RW-R-- 1 Tecmint Tecmint 0. Mai 18 17:47 Pipe4 PRW-RW-R-- 1 Tecmint Tecmint 0 Mai 18 17:47 Pipe5 

Du kannst den ... benutzen Mkfifo Dienstprogramm zum Erstellen einer benannten Pipe unter Linux wie folgt.

# MKFIFO PIPE1 # ECHO "Dies heißt Pipe1"> Pipe1 

Im obigen Beispiel habe ich eine benannte Pfeife namens erstellt Pfeife1, Dann habe ich einige Daten mit dem Echo-Befehl übergeben, danach wurde die Shell bei der Verarbeitung des Eingangs uninaktiv.

Dann öffnete ich eine weitere Hülle und führte den anderen Befehl aus, um herauszufinden, was an Rohr übergeben wurde.

# Während gelesene Linie; echo "das wurde bestanden-'$ line'"; Erledigt 

Socket -Dateien : Dies sind Dateien, die ein Mittel zur Kommunikation der Inter-Prozess bieten. Sie können jedoch Daten und Informationen zwischen dem Prozess, der in verschiedenen Umgebungen ausgeführt wird, übertragen.

Dies bedeutet, dass Steckdosen Daten und Informationsübertragung zwischen dem Prozess zur Verfügung stellen, der auf verschiedenen Maschinen in einem Netzwerk ausgeführt wird.

Ein Beispiel, um die Arbeit von Sockets anzuzeigen, ist ein Webbrowser, der eine Verbindung zu einem Webserver herstellt.

# ls -l / dev / | Grep "^s" 
Probenausgabe
SRW-RW-RW- 1 Root Root 0. Mai 18 10:26 Protokoll 

Dies ist ein Beispiel für einen Socket, der in erstellt wird in C durch Verwendung der Steckdose() Systemanruf.

int socket_desc = socket (af_inet, sock_stream, 0); 

In obigem:

  1. Af_inet ist die Adressfamilie (IPv4)
  2. SOCK_STREAM ist der Typ (die Verbindung ist TCP -Protokoll ausgerichtet)
  3. 0 ist das Protokoll (IP -Protokoll)

Verwenden Sie die Socket -Datei, um die Socket -Datei zu verweisen, die SOCKKET_DESC, das ist der gleiche wie der Dateideskriptor und verwenden Sie lesen() Und schreiben() Systemaufrufe zum Lesen und Schreiben aus dem Socket.

Verzeichnisse

Hier (/) Verzeichnis.

Auflistung von Sockets in einem Verzeichnis:

# ls -l / | Grep "^D" 
Probenausgabe
DRWXR-XR-X 2 Wurzel Root 4096 5. Mai 15:49 bin drwxr-xr-x 4 Root 4096 5. Mai 15:58 BOOT DRWXR-XR-X 2 Wurzel Root 4096 Apr 11 2015 CDROM DRWXR-XR-X 17 ROOT Wurzel 4400 18. Mai 10:27 Dev DRWXR-XR-X 168 Wurzel Root 12288 18. Mai 10:28 usw. Drwxr-XR-X 3 Wurzel Root 4096 Apr 11 2015 Home DRWXR-XR-X 25 Wurzel Root 4096 5. Mai 15:44 lib Drwxr-xr-x 2 Root Root 4096 5. Mai 15:44 LIB64 DRWX ------ 2 Wurzel Root 16384 Apr 11 2015 Lost+gefunden DRWXR-XR-X 3 Root Root 4096 Apr 10 2015 Medien DRWXR-XR- x 3 Wurzelwurzel 4096 23. Februar 17:54 Mnt Drwxr-XR-X 16 Root Root 4096 Apr 30 16:01 Opt Dr-XR-XR-X 223 Root Root 0 18. Mai 15:54 Proc Drwx ------ 19 Root Root 4096 Apr 9 11:12 Root drwxr-xr-x 27 Wurzelwurzel 920 Mai 18 10:54 Führen Sie DRWXR-XR-X 2 Wurzel Root 12288 5. Mai 15:57 SBIN DRWXR-XR-X 2 Wurzelwurzel 4096 Dez. 1 2014 SRV DR-XR-XR-X 13 Wurzelwurzel 0. Mai 18 15:54 SYS DRWXRWXRWT 13 Wurzel Root 4096 18. Mai 17:55 TMP DRWXR-XR-x 11 Wurzel Root 4096 März 31 16:00 USR DRWXR-XR-X 12 Wurzel Root 4096 12. November 2015 Var 

Sie können ein Verzeichnis mit dem erstellen Mkdir Befehl.

# Mkdir -m 1666 Tecmint.com # mkdir -m 1666 Nachrichten.Tecmint.com # mkdir -m 1775 Linuxsay.com 

Zusammenfassung

Sie sollten nun ein klares Verständnis dafür haben, warum alles unter Linux eine Datei ist, und die verschiedenen Arten von Dateien, die auf Ihrem Linux -System beenden können.

Sie können dies mehr hinzufügen, indem Sie mehr über die einzelnen Dateitypen lesen und diese erstellt werden. Ich hoffe, dieser Leitfaden findet diesen Leitfaden hilfreich und für Fragen und zusätzliche Informationen, die Sie gerne teilen würden, hinterlassen Sie bitte einen Kommentar und wir werden mehr diskutieren.