S_ISREG()
是用于解释 中的值的宏stat-struct
。从手册页它指出 :
S_ISREG(m)
is it a regular file? // Macro checks, if the file is regular or not.
问题 :
- 在 Ubuntu 中哪些文件格式被视为常规文件?
- 在 Ubuntu 中哪些文件格式被视为非常规文件?
答案1
要理解什么是“常规文件”,你需要理解在类 UNIX 操作系统中,“一切皆文件“。
基本上,常规文件是除特殊文件之外的任何文件。
要确定某个文件是否是常规文件,可以使用以下命令:
ls -ld filename
如果输出的第一个字符是-
,那么它是一个常规文件。
这里有一些例子:
$ ls -ld /dev/null
crw-rw-rw- 1 root root 1, 3 Nov 24 22:26 /dev/null
$ ls -ld /home/
drwxr-xr-x 1 root root 512 Oct 10 21:56 /home/
$ ls -ld /etc/apt/sources.list
-rw-r--r-- 1 root root 2743 Aug 4 14:42 /etc/apt/sources.list
/dev/null
是字符设备文件。
/home
是一个目录。
/etc/apt/sources.list
是一个常规文件。
答案2
常规文件是文本编辑器、mp3 播放器、视频播放器、配置等用户空间程序的后端数据存储。而非常规文件的用途则大不相同。例如,它们是用户程序和物理设备之间的网关,或进程间通信的方法,或指向另一个目录中某个文件的指针。