我正在编写一些代码来解释Linux中ls
命令的输出(以使其对新手更友好)。作为测试用例之一,我执行了命令' ls -l / dev / tty',并返回
crw-rw-rw- 1 root root 5, 0 Apr 15 23:46 /dev/tty
first char' c'是什么意思?意思是在第一栏?我知道' d'' l'和' - '。你能列出这个领域的所有可能值吗?
答案 0 :(得分:3)
它是基于字符的(而不是基于块的)设备文件。
基于块的设备是在(足够令人惊讶的)块中传输数据有意义的任何事物。就此而言,我指的是像磁盘这样的东西。
基于字符的设备(同样,这应该不足为奇)倾向于一次传输字符。终端,串口,打印机等等。
如果您正在运行一个不错的Linux发行版,那么可以使用以下命令获取该信息(加上您可能需要的信息):
info ls
包含这个小片段:
The file type is one of the following characters: - regular file b block special file c character special file C high performance ("contiguous data") file d directory D door (Solaris 2.5 and up) l symbolic link M off-line ("migrated") file (Cray DMF) n network special file (HP-UX) p FIFO (named pipe) P port (Solaris 10 and up) s socket ? some other file type
答案 1 :(得分:1)
它是您列出的角色设备 b用于块设备
答案 2 :(得分:1)
c
表示它是character device。具体来说,/dev/tty
代表当前的控制台。
答案 3 :(得分:0)
'c'表示它是一个角色设备。 tty是一个特殊文件,代表当前进程的“控制终端”。
请参阅同一问题here