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

 更新时间:2018年09月20日 15:58:37   作者:xuyaowen  
这篇文章主要介绍了linux中crw brw lrw等等文件属性是什么 的相关资料,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

什么是文件?

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

今天在查看 /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.

(7)块设备文件 ('b', block file)

         也是虚拟文件,为fd创建,要使用API读写。

3. 如何获取一个文件的属性?

(1)shell 中使用 stat 命令

(2)程序中使用 stat API

4. 文件的权限

(1)文件权限如何获得?

在程序中使用 stat API,可以获得 st_mode 元素,st_mode 是一个以位为单位记录内容,所以只需要对对应位进行 & 即可,linux提供了对应的宏,可以用宏。

(2)如何判断程序对文件是否有权限?

首先,程序对文件的权限,是由执行程序的用户决定的,用户有权限,程序就有,用户没有,程序就没有,其次在程序中判断是否有权限使用 access API,最后,优秀程序在执行开始首先要对操作的文件判断权限,如果没有权限,需要对使用者进行提醒。

(3)如何修改权限?

shell中有chmod命令,同样也有chmod API,所以使用这个API即可。

(4)新创建的文件的权限是怎么确定的?

linux有个 umask 的类似于变量的东西,新文件的权限通过 umask 来确定。umask可以在shell中改变。

总结

以上所述是小编给大家介绍的linux中crw brw lrw等等文件属性是什么 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • Linux中hexdump命令用法

    Linux中hexdump命令用法

    这篇文章主要介绍了Linux中hexdump命令用法,并给大家例举了命令输出结果,有兴趣的学习下吧。
    2017-12-12
  • linux防墙iptables详细介绍、配置方法与案例

    linux防墙iptables详细介绍、配置方法与案例

    这篇文章主要介绍了linux防墙iptables详细介绍、配置方法与案例,需要的朋友可以参考下
    2020-02-02
  • Ubuntu18 给terminal改个漂亮的命令行提示符的方法

    Ubuntu18 给terminal改个漂亮的命令行提示符的方法

    这篇文章主要介绍了Ubuntu18 给terminal改个漂亮的命令行提示符的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • 阿里云centos7服务器搭建nginx  web服务经验示例

    阿里云centos7服务器搭建nginx web服务经验示例

    本篇文章主要介绍了阿里云centos7服务器搭建nginx web服务经验示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 解决Linux Centos yum-config-manager --add-repo添加仓库添加错误问题

    解决Linux Centos yum-config-manager --add-repo添

    这篇文章主要介绍了解决Linux Centos yum-config-manager --add-repo添加仓库添加错误问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • ubuntu中python调用C/C++方法之动态链接库详解

    ubuntu中python调用C/C++方法之动态链接库详解

    这篇文章主要给大家介绍了关于如何在ubuntu中python调用C/C++方法之动态链接库的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧
    2018-11-11
  • Centos 6.5环境实现本地局域网搭建YUM的方法【基于HTTP】

    Centos 6.5环境实现本地局域网搭建YUM的方法【基于HTTP】

    这篇文章主要介绍了Centos 6.5环境实现本地局域网搭建YUM的方法,较为详细的分析了CentOS6.5基于HTTP实现本地局域网搭建YUM的具体步骤、相关命令与操作注意事项,需要的朋友可以参考下
    2018-04-04
  • CentOS 7 安装vsftpd 服务器的具体操作步骤

    CentOS 7 安装vsftpd 服务器的具体操作步骤

    下面小编就为大家带来一篇CentOS 7 安装vsftpd 服务器的具体操作步骤。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Linux中让alias设置永久生效的方法详解

    Linux中让alias设置永久生效的方法详解

    在Linux中为我们提供了一个很方便的重命名命令 alias ,它的作用为如果要执行命令太长又不符合用户的习惯,那么我们可以为它指定一个别名。下面这篇文章主要给大家介绍了关于Linux中让alias设置永久生效的相关资料,需要的朋友可以参考下。
    2017-12-12
  • Linux redis-Sentinel配置详解

    Linux redis-Sentinel配置详解

    这篇文章主要介绍了Linux redis-Sentinel配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04

最新评论