linux中crw brw lrw等等文件属性是什么

2019-01-16 21:23:21刘景俊

什么是文件?

所有的文件其实都是一串字符流,不过当用合适的解析方法,可以得到有效信息,人们为了方便对文件进行操作,便按照文件的解析方法的不同,给了文件不同的种类,并用下边的方式来标记给人看。

今天在查看 /dev/fuse 文件的属性的时候,看到了crw_ 权限位,一时反应不过来:

[root@localhost ~]# ll /dev/fuse crw-rw-rw-. 1 root root 10, 229 Sep 20 11:12 /dev/fuse

在这里进行备注一下,相关答案来源于网络。

linux中c表示字符设备文件,b表示块设备文件,l表示符号链接文件,r表示可读权限,w表示可写权限。

linux文件属性解读:

文件类型:

-:普通文件 (f)
d:目录文件
b:块设备文件 (block)
c:字符设备文件 (character)
l:符号链接文件(symbolic link file)
p:命令管道文件(pipe)
s:套接字文件(socket)
文件权限: 9位,每3位一组,每一组:rwx(读,写,执行),当改组不具有某一权限用-代替。
第一组为: 文件拥有者的权限, 该文件的拥有者可以读写,但不可执行;
第二组为: 同群组的权限
第三组为: 其他非本群组的权限

下面看下linux中的文件种类

(1)普通文件('-', regluar file)

         分为:二进制文件和文本文件

         二进制文件,是给机器看的,例如:.bin, .elf文件

         文本文件:给人看的,一般为ASCII编码,需要用ASCII编码解析,例如:.txt,.c文件。

(2)文件夹文件 ( 'd ',  directory file)

         一种特殊的文件,特殊在:需要用其库函数打开。

(3)链接文件 ('l', link file)

         这里是软连接文件,

         注意:软连接文件和硬链接文件的差别,

         软连接文件,本身就是一个独立的文件,有自己的 inode,

         硬链接文件,不是独立的文件,他和被链接的文件共用同一个 inode.

(4)管道文件 ('p', piple file)

         用于进程通信。

(5)套接字文件 ('s', socket file)

         用于网络。

(6)字符设备文件 ('c', character file)

         为虚拟文件,因为本身不存在于硬盘中,是fs创建的。

         不能直接读写,要使用API.