我运行命令:ll /dev/null
并得到以下输出:
crw-rw-rw- 1 root root 1, 3 Feb 19 10:20 /dev/null
我知道d
意思是目录。有人可以解释一下c
特殊标志的含义吗?
答案1
它是基于字符设备的文件 在 Linux 中,硬件等设备有两种特征:
字符设备 (c) 以字符(也称为字节或位)传输数据的设备,例如鼠标、扬声器等。
块设备 (b) 以数据块形式传输数据的设备,例如 USB、硬盘等。
这些类型的文件通常可以在 /dev 目录中找到,该目录是存储设备文件的位置,只需键入LS拉你可以看到各种类型。
如果您正在运行一个不错的 Linux 发行版,则可以使用以下命令获取该信息(以及超出您可能需要的信息):
info ls
其中包含这个小片段:
文件类型是以下字符之一: - 常规文件 b 块特殊文件 c字符特殊文件 C 高性能(“连续数据”)文件 d目录 D 门(Solaris 2.5 及更高版本) l 符号链接 M 离线(“迁移”)文件 (Cray DMF) n 网络特殊文件(HP-UX) p FIFO(命名管道) P 端口(Solaris 10 及更高版本) 插座 ?其他一些文件类型
答案2
在这种情况下,它是“面向字符的设备”(b 表示面向块的设备)...这就是为什么您的示例中的 /dev/null 在重定向方面如此高效,例如
command 2> /dev/null
其实它不是许可而是“定义标记”