Was sind die Dateiattribute von crw, brw, lrw usw. in Linux?

Was sind die Dateiattribute von crw, brw, lrw usw. in Linux?

Was ist eine Datei?

Eigentlich sind alle Dateien Zeichenfolgen, aber mit der Verwendung geeigneter Analysemethoden können effektive Informationen gewonnen werden. Um Dateivorgänge zu vereinfachen, haben Benutzer Dateien je nach Dateianalysemethode unterschiedliche Typen zugewiesen und sie für andere Benutzer wie folgt markiert.

Als ich heute die Eigenschaften der Datei /dev/fuse überprüfte, sah ich das Berechtigungsbit crw_ und war einen Moment lang verwirrt:

[root@localhost ~]# ll /dev/fuse
crw-rw-rw-. 1 root root 10, 229 20. September 11:12 /dev/fuse

Zu beachten ist hierbei, dass die entsprechenden Antworten aus dem Internet stammen.

Unter Linux steht c für eine Zeichengerätedatei, b für eine Blockgerätedatei, l für eine symbolische Linkdatei, r für die Leseberechtigung und w für die Schreibberechtigung.

Interpretation von Linux-Dateiattributen:

Dateityp:

-: Normale Datei (f)
d: Verzeichnisdatei
b: Gerätedatei blockieren (Block)
c: Zeichengerätedatei (Zeichen)
l: symbolische Linkdatei
p: Befehlspipelinedatei (Pipe)
s: Socket-Datei (Socket)
Dateiberechtigungen: 9 Bit, jede Gruppe besteht aus 3 Bit, jede Gruppe: rwx (Lesen, Schreiben, Ausführen), wenn die Gruppe eine bestimmte Berechtigung nicht hat, verwenden Sie stattdessen -.
Die erste Gruppe sind die Berechtigungen des Dateibesitzers. Der Dateibesitzer kann lesen und schreiben, aber nicht ausführen.
Die zweite Gruppe ist: Berechtigungen für die gleiche Gruppe Die dritte Gruppe ist: Berechtigungen für andere Gruppen, die nicht zu dieser Gruppe gehören

Schauen wir uns die Dateitypen in Linux an

(1) Normale Datei ('-', normale Datei)

Unterteilt in: Binärdateien und Textdateien

Binärdateien sind für Maschinen sichtbar, z. B. .bin- und .elf-Dateien.

Textdateien: Für die menschliche Anzeige normalerweise in ASCII-Kodierung, müssen mit ASCII-Kodierung analysiert werden, zum Beispiel: .txt-, .c-Dateien.

(2) Ordnerdatei ('d', Verzeichnisdatei)

Eine spezielle Datei. Besonders ist, dass sie mit ihrer Bibliotheksfunktion geöffnet werden muss.

(3) Linkdatei ('l', Linkdatei)

Hier ist die Softlink-Datei.

Hinweis: Der Unterschied zwischen Softlink-Dateien und Hardlink-Dateien.

Die Softlink-Datei ist eine eigenständige Datei und verfügt über einen eigenen Inode.

Eine Hardlink-Datei ist keine unabhängige Datei. Sie teilt sich denselben Inode mit der verknüpften Datei.

(4) Pipeline-Datei ('p', piple-Datei)

Wird für die Prozesskommunikation verwendet.

(5) Socket-Datei ('s', Socket-Datei)

Für den Netzwerkgebrauch.

(6) Zeichengerätedatei ('c', Zeichendatei)

Es handelt sich um eine virtuelle Datei, da sie nicht auf der Festplatte vorhanden ist und vom FS erstellt wird.

Direktes Lesen oder Schreiben nicht möglich, API muss verwendet werden.

(7) Gerätedatei blockieren ('b', Blockdatei)

Es handelt sich auch um eine virtuelle Datei, die für fd erstellt wurde und mithilfe der API gelesen und geschrieben werden muss.

3. Wie erhalte ich die Eigenschaften einer Datei?

(1) Verwenden des stat-Befehls in der Shell

(2) Verwendung der Stat-API im Programm

4. Dateiberechtigungen

(1) Wie erhalte ich Dateiberechtigungen?

Mithilfe der Stat-API im Programm können Sie das st_mode-Element abrufen. st_mode ist ein bitbasierter Inhaltsdatensatz, Sie müssen also nur das entsprechende Bit verwenden. Linux stellt das entsprechende Makro bereit, das verwendet werden kann.

(2) Wie kann ermittelt werden, ob ein Programm die Berechtigung zum Zugriff auf eine Datei hat?

Erstens werden die Dateiberechtigungen des Programms vom Benutzer bestimmt, der das Programm ausführt. Wenn der Benutzer über Berechtigungen verfügt, hat das Programm sie. Wenn der Benutzer sie nicht hat, hat das Programm sie nicht. Zweitens bestimmt das Programm, ob es die Berechtigung hat, die Zugriffs-API zu verwenden. Schließlich muss ein hervorragendes Programm zunächst die Berechtigungen für die Dateien bestimmen, mit denen es zu Beginn der Ausführung arbeitet. Wenn der Benutzer keine Berechtigungen hat, muss er daran erinnert werden.

(3) Wie ändere ich die Berechtigungen?

Es gibt einen chmod-Befehl in der Shell und auch eine chmod-API, sodass Sie diese API verwenden können.

(4) Wie werden die Berechtigungen für neu erstellte Dateien festgelegt?

Linux hat etwas Ähnliches wie eine Variable namens umask, und die Berechtigungen neuer Dateien werden durch umask bestimmt. Die Umask kann in der Shell geändert werden.

Zusammenfassen

Oben habe ich Ihnen die Dateiattribute crw, brw, lrw und andere in Linux vorgestellt. Ich hoffe, es wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • So analysieren Sie die Attributschnittstelle zum Hinzufügen eines Dateisystems unter Linux oder Android
  • Python ändert die Berechtigungen von Dateien (Ordnern) in Linux
  • Linux-Shell - Beispiel zum Testen von Dateisystemattributen durch Identifizierung
  • Detaillierte Beispiele zum Anzeigen von Dateiattributen in Linux (ls, lsattr, file, stat)
  • Eine kurze Diskussion über die Linux-Ordnerattribute rwxrwxrwt
  • Zusammenfassung der Wissenspunkte zu den grundlegenden Attributen von Linux-Dateien

<<:  Ein Beispiel für die Umgestaltung eines Puzzlespiels mit vue3

>>:  Detaillierter Prozess zum Dekomprimieren und Installieren von mysql5.7.17 zip

Artikel empfehlen

Verwendung und Verständnis von MySQL-Triggern

Inhaltsverzeichnis 1. Was ist ein Auslöser? 2. Er...

Konfigurationsmethode für das Nginx-Anforderungslimit

Nginx ist ein leistungsstarker, leistungsstarker ...

So importieren Sie txt in MySQL unter Linux

Vorwort Als ich gestern ein kleines Projekt schri...

Detaillierte Verwendung des Vue-Timers

In diesem Artikelbeispiel wird der spezifische Co...

Tutorial zu HTML-Tabellen-Tags (21): Zeilenrahmen-Farbattribut BORDERCOLOR

Um die Tabelle zu verschönern, können Sie für die...

Detailliertes Beispiel für Zeilensperren in MySQL

Vorwort Sperren sind Synchronisierungsmechanismen...

Grafische Einführung in den Unterschied zwischen := und = in MySQL

Der Unterschied zwischen := und = = Nur beim Setz...