linux中的特殊文件?

时间:2018-06-01 18:13:21

标签: linux filesystems file-permissions

作为一个初学者,我问如何知道linux中的文件是否特殊?是否有任何命令显示此数据?

3 个答案:

答案 0 :(得分:0)

一种方法是使用file命令:

cd /dev
file tty

这将输出如下内容:tty: character special

告诉你文件" tty"是字符类型的特殊文件。还有块特价。

有关man file命令的更多信息,请参阅:filehttps://linux.die.net/man/1/file

答案 1 :(得分:-1)

在没有定义特殊文件的情况下,我假设一个"文件"这不是一个文件是一个特殊的文件。

目录是一个特殊文件,管道或符号链接等。如果是这样的话:

ls -l | grep ^-只会给你"正常"文件。

仅查找"特殊"文件ls -l | grep -v ^-

顺便说一下,一切都是linux中的文件

答案 2 :(得分:-1)

如果您的意思是device files,则可以使用file实用程序进行检查,例如:

$ file /dev/sda
/dev/sda: block special (8/0)
$ file /dev/null
/dev/null: character special (1/3)

您还可以将GNU ls-l

一起使用
$ ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Jan 20 20:54 /dev/null
$ ls -l /dev/sda
brw-rw---- 1 root disk 8, 0 Jan 20 20:54 /dev/sda

如文档中所述:

 The file type is one of the following characters:
 (...)
  ‘b’
      block special file
  ‘c’
      character special file

stat

$ stat /dev/sda
  File: '/dev/sda'
  Size: 0               Blocks: 0          IO Block: 4096   block special file
Device: 6h/6d   Inode: 10245       Links: 1     Device type: 8,0
Access: (0660/brw-rw----)  Uid: (    0/    root)   Gid: (    6/    disk)
Access: 2018-01-20 20:54:41.153354807 +0100
Modify: 2018-01-20 20:54:41.153354807 +0100
Change: 2018-01-20 20:54:41.153354807 +0100
 Birth: -

$ stat /dev/null
  File: '/dev/null'
  Size: 0               Blocks: 0          IO Block: 4096   character special file
Device: 6h/6d   Inode: 1029        Links: 1     Device type: 1,3
Access: (0666/crw-rw-rw-)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-01-20 20:54:41.124354808 +0100
Modify: 2018-01-20 20:54:41.124354808 +0100
Change: 2018-01-20 20:54:41.124354808 +0100
 Birth: -