“ls -l /dev/tty”的结果中'C'代表什么意思?

10

我正在编写一些代码来解释Linux中ls命令的输出(以使它对新手更加友好)。作为测试之一,我执行了命令'ls -l /dev/tty',然后返回了下面的内容。

crw-rw-rw- 1 root root 5, 0 Apr 15 23:46 /dev/tty

第一列中的第一个字符 'c' 是什么意思?我知道 'd','l' 和 '-'。你能列出此字段的所有可能值吗?

尝试使用 man ls 命令查看所有不同类型。 - Jiminion
4个回答

10

这是一个基于字符(而非块)的设备文件。

块设备是指在数据传输方面需要以块为单位的设备,如磁盘等。

字符设备(同样不会让人惊讶)往往一次传输一个字符,例如终端、串口、打印机等。

如果您正在运行良好的Linux发行版,则可以使用以下命令获取更多信息(包括您可能永远用不到的信息):

info ls

以下是包含该小片段的内容:


文件类型可以是下列字符之一:
    - 普通文件
    b 块设备文件
    c 字符设备文件
    C 高性能(“连续数据”)文件
    d 目录
    D 门(Solaris 2.5及以上版本)
    l 符号链接
    M 离线(“迁移”)文件(Cray DMF)
    n 网络特殊文件(HP-UX)
    p FIFO(命名管道)
    P 端口(Solaris 10及以上版本)
    s 套接字
    ? 其他某些文件类型

2

c代表这是一个字符设备。具体来说,/dev/tty代表当前控制台。


1

你列出的是字符设备,b代表块设备。


1
“c”表示它是一个字符设备。tty是一个特殊的文件,代表当前进程的“控制终端”。请参考相同问题这里

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接