linux文件概述
扫描二维码
随时随地手机看文章
其实linux就是一个文件系统。
文件的类型
普通文件,没有特殊功能的文件,普通文本文件,二进制可执行文件,音视频,都是普通文件
目录文件,目录也是一种文件,目录文件里面放其他文件
链接文件,专指软连接,相当于windows的快捷方式
设备文件,具有特殊功能的文件,代表一个物理设备或者虚拟的物理设备,如打印机,磁盘等,一般在/dev/下
管道文件,一般用于进程间通信,维护很少用到
文件属性
内容修改时间,mtime,最后modify内容的时间
文件访问时间,atime,最后访问文件的时间
权限变更事件,ctime,文件的属主,权限等变更的时间
出于性能考虑,atime可能不会立即更新
修改文件内容时,mtime和ctime同时更新
修改文件权限,属主时,ctime更新
文件权限
文件权限分读写执行
执行者分本人,同组,其他人
合起来9种,本人读写执行,同组读写执行,其他人读写执行
用9个bit表示
9个普通权限为前面还有3个特殊权限为,分别是euid,egid,sticky粘滞位
euid,egid分别是对可执行文件x权限的提升
sticky粘滞位用于共享目录包含文件
如用户的密码保存在/etc/passwd里面,普通用户并没有权限读这个文件,那么怎样修改自己的密码并且能够把新密码保存到passwd文件中,这就是/bin/passwd文件设置了一个euid,普通用户执行时,权限提升到root,就可以写/etc/passwd文件了。具有euid的权限的文件,本人权限x位显示s,如果x位为0,显示S,具有egid权限的文件,同组权限x位显示s,x位为0,显示S
stickey,看/tmp这个目录,他的其他人权限的x位显示t,这就说明这个目录设置有粘滞位,里面的文件受到保护,多个用户在同一个目录中写文件,只能删除自己的文件。
设置粘滞位的目录其他人权限的x位显示t,如果这个目录的其他人权限的x为是0,则显示T
inode
文件数据放在数据块中,磁盘上有一块,放数据块的索引号
要在/var/log/下面建立一个mysql.log,先找到根目录,然后找到var对应的inode,然后到inode表中,找到log的数据块,然后申请一个inode,在log的数据块中记录下申请的inode号。然后申请合适大小的数据块,在inode里面记录下数据块的位置,然后inode里面记录下权限。
所以,文件的删掉只是把inode节点删掉
软连接,硬链接
软连接相当于windows的快捷方式,软连接的inode里面放的不是数据块的位置,而是一个文件路径。所以,他可以跨磁盘
硬链接相当于别名,指向的是同一个文件的数据块。如/a/c 和 /b/c是同一个文件的硬链接,那么/a目录的数据块的c的inode和/b目录的数据块里面的c的inode相同。