Linux文件属性
在日常操作linux系统是,ls命令用的可能是最多的,但是你知道ls命令输出结果都携带了哪些信息吗?今天就来看看linux的文件属性. 在一台CentOS系统上执行:
ls -lhi
total 40K
287060 -rw-------. 1 root root 1.1K May 6 22:30 anaconda-ks.cfg
262150 -rw-r--r--. 1 root root 22K May 6 22:29 install.log
262152 -rw-r--r--. 1 root root 5.8K May 6 22:28 install.log.syslog
265232 drwxr-xr-x 1 root root 4.0K Jul 4 13:16 test/
以上ls命令的输出结果,各列从左到右分别表示:
- 是文件的索引节点号,相当于文件的身份证号,在系统中唯一,系统读取文件时,首先通过文件名找到inode,然后才能读取到文件内容
- 文件类型以及权限,算上点一共十一个字符,第一个代表文件类型,’-‘是文件,’d’是目录,后就个是文件的权限,你能不能访问,修改删除它,点号和selinux相关的标识
- 硬链接的数量,硬链接就是同一个文件不同的访问入口,相当于windows的快捷方式
- 属主,文件所有者
- 文件和目录所属的组
- 文件大小
- 七八九列是文件的时间 时间有修改时间modify(内容的改变),改变时间change(属性的改变)
- 文件名或者目录名
第一列 索引号
存储设备被格式化为ext4文件系统后,一般生生成两部分:第一部分是inode,第二部分是block block是用来存储实际数据用的,如照片视频, inode就是用来存贮这些数据的属性信息的(也就是ls -i的结果),你所看到的所有信息在系统里面都是有一个空间存放的,要不然你不可能看见它,既然是存储文件属性信息,就要对应相应的文件,所以还包含指向文件实体的指针功能,但是inode里面不包含文件名。inode号相同的文件,互为硬链接文件,可以认为是一个文件的不同入口,每个文件被创建后只能占用一个inode.每个inode是有大小的,centos5系列inode的默认大小是128字节,而6系列默认大小是256字节,block大小一般1k2k4k集中,引导分区一般为1k,其他分区多为4k.
第二列 文件类型
在linux系统中,一切(目录,普通文件,设备文件等)皆为文件,文件类型包含有普通文件,目录,字符设备文件,符号链接文件,管道文件等等,下面分别说明
- d(directroy)目录文件
- -(regular file)普通文件
- l(link)符号链接文件
- b(block)块设备
- c(character)字符设备文件
- s(socket)socket文件
- p(named pipe)管道文件
第三列 权限
- r read可读权限,对应数字是4
- w write可写权限,对应数字是2
- x execute 可执行权限,对应数字是1
每一个文件有三组权限,如rwx|r-x|r–(754) 第一组权限是属主的权限,可读可写可执行 第二组是属组权限,属于改组的用户对文件可读可执行 第三组是其他用户权限,只可读
第四列 文件链接
硬链接
在linux系统中,多个文件名指向同一个inode,这种情况文件就称为硬链接,硬链接的文件就相当于文件的另外一个入口,硬链接的作用之一是使一个文件拥有多个有效的路径(多个入口),这样用户就可以建立硬链接到重要文件,防止误删源数据.
软连接
一个文件的软连接(ln -s创建)是指向这个文件的,并不是像硬链接那样直接对应block中的文件,类似于文件的快捷方式
第五列 属主
linux里面用户的角色是通过UID和GID识别的,UID标识一个系统用户账号,GID标识用户组,在linux系统中,一个UID标识一个系统用户账号(相当于身份证),用户系统账号名称如root,是给人看的,系统能够识别的仅仅是UID和GID这样的数字.
- UID :user identify 用户Id,相对于身份证,在系统中唯一
- GID:group identify 组id ,相当于家庭或者学校的ID
第七八九列 时间
默认是修改时间modify