Normal dosya nedir?


12
$ rm foobar
rm: remove regular file `foobar'?

Bir dosyanın "düzenli" olması ne anlama gelir ve rmböyle bir dosyayı neden özel bir durum olarak görür?

Yanıtlar:


8

Ben rakam rmmuhtemelen, bir diğer adıdır rm -i. "Normal" parça özellikle bir şey ifade etmez, sadece boru, cihaz, priz veya başka bir "özel" olmadığı anlamına gelir.


Ah, haklısın - takma ad rm -i.
Cory Klein

5
Bu özellikle bir şey ifade ediyor. Aslında kaldırılacak nesnenin çok önemli bir yönü ...
Bananguin

@Alexander'ın dediği gibi, dosya bir sembolik, pipo, rand, null, cpu, vb değildir. Belki de "her şey bir metin dosyasıdır" linux felsefesini duymuşsunuzdur. Bu tam anlamıyla doğru değildir, ancak dize işleme araçlarının doğrudan dosya sistemi öğelerine uygulanabildiği baskın bir operasyonel bağlamı önerir. Bu durumda, daha somut bir şekilde anlamına gelir. Algılama adımını tek başına görmek için , veya komut dosyasını olduğu gibi deneyin . file /etc/passwdfile /dev/null
Joe Atzberger

8

test komutu

Test ( -f) 'i geçen herhangi bir dosya normal bir dosyadır:

$ test -f afile.zip && echo regular
regular

Eğer man sayfasını testincelerseniz çeşitli dosya türlerini görürsünüz.

stat komutu

Ayrıca şu statkomutu kullanarak bir dosyanın düzenli olup olmadığını da kontrol edebilirsiniz :

$ 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

stat () işlevi

Normal bir dosya ile diğer olası türler arasındaki farkın ne olduğunu daha iyi anlamak için man sayfasına bir göz atın stat. Gerçek statkomutun kılavuz sayfasına değil, programcı kılavuzunun kılavuz sayfasına baktığınızdan emin olun .

$ man 2 stat

Bu bölüm özellikle çeşitli dosya türlerini gösterir:

   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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.