文件权限描述中“b”和“c”的含义(ls -l 的输出)

mar*_*004 13 permissions command-line directory ls symbolic-link

关于ls实用程序的基本问题。描述项目权限的 10 符号代码开头的字母“b”和“c”是什么意思?

据我了解,在键入时ls -l,终端会提供目录中所有项目的列表。每个项目描述前面都有一个 10 符号代码。此代码说明什么是项目类型(第一个符号)以及用户、用户组和所有其他用户的项目权限是什么。

如果第一个符号是破折号“-”,则该项目是一个文件。

如果第一个符号是字母“d”,则该项目是一个目录。

如果第一个符号是字母“l”,则该项目是链接/快捷方式

phodor@ubuntu: ls -l /home/phodor
total 68
drwxr-xr-x 5 phodor phodor 4096 Dec 20 12:02 Documents
drwxr-xr-x 9 phodor phodor 4096 Jan 17 12:02 Desktop
drwxr-xr-x 7 phodor phodor 4096 Jan 13 22:42 Downloads
-rw-r--r-- 1 phodor phodor 8980 Jun 27  2015 hello.txt
lrwxrwxrwx 1 phodor phodor   29 Jan 17 12:02 MyEBook -> /home/phodor/Documents/EBook.pdf
Run Code Online (Sandbox Code Playgroud)

然而,有些项目 10 符号代码也以“b”或“c”开头。

phodor@ubuntu: ls -l /dev
crw--w---- 1 root tty  4, 0 Jan 17 09:19 tty0
brw-rw---- 1 root disk 1, 0 Jan 17 09:19 ram0
brw-rw---- 1 root disk 8, 0 Jan 17 09:19 sda
Run Code Online (Sandbox Code Playgroud)

“b”和“c”是什么意思?文件描述代码的第一个符号可以采用的完整值列表是什么 (-, d, l, b, c, ...) ?

int*_*_ua 16

http://www.gnu.org/software/coreutils/manual/html_node/What-information-is-listed.html#index-verbose-ls-format

‘b’
block special file 

‘c’
character special file 
Run Code Online (Sandbox Code Playgroud)

  • 其中“特殊文件”表示它是使用 mknod() 创建的设备节点。这些是各种设备驱动程序的内核接口。 (2认同)