Cos’è Regular file?

0
29

Questo articolo spiegherà in dettaglio cos’è Regular file e come usare Regular file.

File normale

Un file normale è un tipo di file archiviato in un file system. Viene chiamato “normale” principalmente per distinguerlo da altri tipi speciali di file.

La maggior parte dei file utilizzati direttamente da un utente umano sono file normali. Ad esempio, i file eseguibili, i file di testo e i file di immagine sono file normali.

Quando i dati vengono letti o scritti in un file normale, il kernel esegue quell’azione secondo le regole del filesystem. Ad esempio, le scritture possono essere ritardate, registrate su giornale o soggette ad altre operazioni speciali.

Tipi di file Linux

Nel kernel Linux, i tipi di file sono dichiarati nel file di intestazione sys/stat.h. Il nome del tipo, il nome simbolico e la maschera di bit per ogni tipo di file Linux sono elencati di seguito.

Digita il nome Nome simbolico Maschera di bit
Presa S_IFSOCK 0140000
Collegamento simbolico S_IFLNK 0120000
File normale S_IFREG 0100000
Blocca file speciale S_IFBLK 0060000
Directory S_IFDIR 0040000
Dispositivo di carattere S_IFCHR 0020000
FIFO (pipa con nome) S_IFIFO 0010000

Come posso sapere se un file è regolare?

In bash, il comando “test -f file” restituisce uno stato di uscita pari a 0 se file è un file normale. Restituisce 1 se il file è di un altro tipo o non esiste.

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.

Puoi anche controllare il tipo di file con stat:

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: -

LEAVE A REPLY

Please enter your comment!
Please enter your name here