$ rm foobar
rm: remove regular file `foobar'?
Qu'est-ce que cela signifie pour un fichier d'être "régulier" et pourquoi rm
traite-t-il un tel fichier comme un cas spécial?
$ rm foobar
rm: remove regular file `foobar'?
Qu'est-ce que cela signifie pour un fichier d'être "régulier" et pourquoi rm
traite-t-il un tel fichier comme un cas spécial?
Réponses:
Je suppose que rm
c'est un alias, peut-être rm -i
. La partie "régulière" ne signifie rien de particulier, cela signifie seulement qu'il ne s'agit pas d'un tuyau, d'un appareil, d'une prise ou de tout autre élément "spécial".
file /etc/passwd
ou file /dev/null
.
Tout fichier qui réussit le test ( -f
) est un fichier normal:
$ test -f afile.zip && echo regular
regular
Si vous parcourez la page de manuel, test
vous verrez tous les différents types de fichiers.
Vous pouvez également vérifier si un fichier est régulier en utilisant la stat
commande:
$ stat afile.zip
File: `afile.zip'
Size: 1512 Blocks: 8 IO Block: 4096 regular file
Device: fd02h/64770d Inode: 10370668 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 500/ saml) Gid: ( 501/ saml)
Access: 2013-11-07 15:52:06.719632792 -0500
Modify: 2013-11-07 15:52:00.949760104 -0500
Change: 2013-11-07 15:52:00.949760104 -0500
Pour en savoir plus sur la différence entre un fichier normal et les autres types possibles, consultez la page de manuel de stat
. Assurez-vous de consulter la page de manuel du manuel du programmeur et non la page de manuel de la stat
commande réelle .
$ man 2 stat
Cette section présente notamment les différents types de fichiers:
The following flags are defined for the st_mode field:
S_IFMT 0170000 bit mask for the file type bit fields
S_IFSOCK 0140000 socket
S_IFLNK 0120000 symbolic link
S_IFREG 0100000 regular file
S_IFBLK 0060000 block device
S_IFDIR 0040000 directory
S_IFCHR 0020000 character device
S_IFIFO 0010000 FIFO
S_ISUID 0004000 set UID bit
S_ISGID 0002000 set-group-ID bit (see below)
S_ISVTX 0001000 sticky bit (see below)
S_IRWXU 00700 mask for file owner permissions
S_IRUSR 00400 owner has read permission
S_IWUSR 00200 owner has write permission
S_IXUSR 00100 owner has execute permission
S_IRWXG 00070 mask for group permissions
S_IRGRP 00040 group has read permission
S_IWGRP 00020 group has write permission
S_IXGRP 00010 group has execute permission
S_IRWXO 00007 mask for permissions for others (not in group)
S_IROTH 00004 others have read permission
S_IWOTH 00002 others have write permission
S_IXOTH 00001 others have execute permission
rm -i
.