作为一个初学者,我问如何知道linux中的文件是否特殊?是否有任何命令显示此数据?
答案 0 :(得分:0)
一种方法是使用file
命令:
cd /dev
file tty
这将输出如下内容:tty: character special
告诉你文件" tty"是字符类型的特殊文件。还有块特价。
有关man file
命令的更多信息,请参阅:file
或https://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: -