命令“ls -l / dev / tty”结果中'c'的含义是什么?

时间:2014-04-23 06:01:35

标签: linux bash

我正在编写一些代码来解释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'和' - '。你能列出这个领域的所有可能值吗?

4 个答案:

答案 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