Was ist Regular file?

Was ist Regular file?

Eine reguläre Datei ist ein Dateityp, der in einem Dateisystem gespeichert ist. Es wird hauptsächlich als “normal” bezeichnet, um es von anderen speziellen Dateitypen zu unterscheiden.

Die meisten Dateien, die direkt von einem menschlichen Benutzer verwendet werden, sind normale Dateien. Beispielsweise sind ausführbare Dateien, Textdateien und Bilddateien normale Dateien.

Wenn Daten aus einer regulären Datei gelesen oder in eine reguläre Datei geschrieben werden, führt der Kernel diese Aktion gemäß den Regeln des Dateisystems aus. Zum Beispiel können Schreibvorgänge verzögert, aufgezeichnet oder anderen speziellen Operationen unterzogen werden.

Linux-Dateitypen

Im Linux-Kernel werden Dateitypen in der Header-Datei sys/stat.h deklariert. Der Typname, der symbolische Name und die Bitmaske für jeden Linux-Dateityp sind unten aufgeführt.

Modellname Symbolischer Name Bitmaske
Steckdose S_IFSOCK 0140000
Symbolischer Link S_IFLNK 0120000
Normale Datei S_IFREG 0100000
Spezielle Datei blockieren S_IFBLK 0060000
Verzeichnis S_IFDIR 0040000
Zeichengerät S_IFCHR 0020000
FIFO (benannte Pipe) S_IFIFO 0010000

Wie kann ich feststellen, ob eine Datei regulär ist?

In Bash gibt der Befehl “test -f file” einen Exit-Status von 0 zurück, wenn file eine reguläre Datei ist. Es gibt 1 zurück, wenn die Datei einen anderen Typ hat oder nicht existiert.

test -f /etc/passwd; echo $?  # check for regular file, echo exit status of test
0
test -f /etc; echo $?         # directories are not regular files, so test fails
1
file="/etc/passwd";   # assign filename, enclosed in "", to variable named file
if test -f "$file";   # reference its value with $. Enclose expansion in ""
then                  # this part will run if test returns 0
  echo "$file is a regular file.";
else                  # this part will run if test returns anything else
  echo "$file is not a regular file, or does not exist.";
fi
/etc/passwd is a regular file.

Sie können den Typ einer Datei auch mit stat überprüfen:

stat /etc/passwd
  File: /etc/passwd
  Size: 2234        Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d  Inode: 132814      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-07-06 08:45:49.960000000 -0400
Modify: 2018-03-14 23:46:25.048004001 -0400
Change: 2018-03-14 23:46:25.052004001 -0400
 Birth: -

Inode, Betriebssystembegriffe, Standardeingabe (stdin), Standardausgabe (stdout)

Neueste Artikel
Vielleicht möchten Sie lesen

LEAVE A REPLY

Please enter your comment!
Please enter your name here