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

Tutorial zur Installation und Verwendung des Elasticsearch-Tools cerebro

Cerebro ist eine Weiterentwicklung des Elasticsea...

So verwenden Sie die Zusatzfunktionen von Vuex

Inhaltsverzeichnis Kartenstaat Kartengetter Karte...

Grafische Installationsschritte für VMware vSphere 6.7 (ESXI 6.7)

Umgebung: VMware VCSA 6.7 (VMware-VCSA-all-6.7.0-...

So verwenden Sie HTML+CSS zum Erstellen einer TG-Vision-Homepage

Dieses Mal verwenden wir HTML+CSS-Layout, um eine...

Implementierung einer Suchfeldfunktion mit Suchsymbol basierend auf HTML-CSS

Vorwort Ich möchte Ihnen zeigen, wie Sie ein Such...

Zwei Methoden zum Strecken des Hintergrundbilds einer Webseite

Es gibt zwei Lösungen: Eine Möglichkeit ist CSS, b...

JavaScript implementiert eine Seiten-Scrolling-Animation

Inhaltsverzeichnis Erstellen eines Layouts CSS-St...

HTML+CSS zum Erreichen eines Surround-Reflexionsladeeffekts

In diesem Artikel wird hauptsächlich die Implemen...

Umfassende Analyse der Isolationsebenen in MySQL

Wenn die Datenbank gleichzeitig denselben Datenst...