linux文件属性
396746 - rw-r--r-- . 1 root root 29 Dec 31 16:35 oldboy.txt
inodek号 文件类型 文件权限 selinux 文件的硬链接数 所有者 组 大小 时间 文件名称
inode:用来存放内存属性的空间(除文件名外)
特点:
- inode存放文件属性
- 存放block的位置(block的指针)
- 创建一个文件要占一个inode
- inode节点号相同的文件,互为硬链接文件
- inode号在一个分区内是唯一的
inode的默认大小为256k
ls -i:查看inode
df -i:查看剩余多少inode号
block:实际存放数据的位置
特点:
- block实际存放数据的位置
- block的默认大小为4K(在centos6.x)
- 创建大文件用占用多个block,如果文件小于1k,剩余空间会被浪费
- 创建一个非空文件要占用一个inode和至少一个block
每读取一个block就会消耗一个I/0(磁盘读写)
df -h:磁盘block用情况
文件类型
文件类型主要有三类:目录/普通文件/软链接
1.目录:d(directory)
2.软链接:l(softlink)
3.普通文件:(file)
其中普通文件分为三种:
3.1:文本文件(txt)
3.2:数据文件(data)
3.3:二进制文件(executable)
扩展文件类型
- h:脚本文件
- conf:配置文件
用户与用户组
用户分三种
1.root用户:超级管理员,root用户的UID为0
2.虚拟用户:无法使用的用户,只能用来执行程序,UID为1-499
3.普通用户:正常的用户,UID为500+
查看用户UID与GID(组id)
id 用户名
与用户相关的文件
/etc/passwd:存放用户的信息
/etc/shadow:存放用户的密码
/etc/group:存放用户的组信息
/etc/passwd文件详解
root: x: 0: 0: root: /root: /bin/bash /sbin/nologin
root:表示用户名
x:表示密码存放的位置
0:表示用户的UID
0:表示用户的GID
root:表示用户说明信息
/root:表示用户的家目录
/bin/bash:表示centos的默认命令解释器
/sbin/nologin:表示虚拟用户,用户无法登陆系统
文件权限基础介绍
r:read可以读取文件的内容,数字代表4
w:write可以修改文件内容,数字代表2
x:execute可以执行文件(命令,脚本),数字代表1
-:没有任何的权限,数字代表0
[root@web02 tmp]# ls -l /etc/passwd
- rw- r-- r--. 1 root root 1097 Jan 1 03:05 /etc/passwd
文件类型 用户 用户组 陌生人
软硬链接
软链接
创建软链接
ln -s 源文件名 快捷方式名
特点
软链接可以对目录或文件进行链接
软链接删除后对源文件无影响
软链接可以跨文件系统进行链接
可对不存在的文件进行软链接,当链接的文件存在时,可直接访问
硬链接
创建硬链接
ln 源文件 硬链接名字
特点
文件相同的inode号,则为硬链接
只能对存在的文件进行硬链接
不能对目录进行硬链接,只能对文件进行硬链接
不能跨文件系统链接
删除一个硬链接对相同inode号的文件无影响
软硬链接的区别
硬链接不能跨分区建立,软链接可以
硬链接不能对目录建立,软链接可以
硬链接inode相同则为硬链接,软链接则相当于一个快捷方式
硬链接创建不带参数为硬链接,带-s参数为软链接
删除硬链接与相同的inode号文件,则真正删除,删除软件源文件,则软件失效(红底白字闪烁)
文件删除原理
彻度删除文件需要满足以下两个条件:
- 1.删除文件所有的硬链接
- 2.文件的进程调用数为0
案例:文件没有被彻底删除,但是容量满了
模拟命令:
seq 900000000 > /var/log/secure
查看磁盘容量:
找到占用容量最大的目录然后删除文件
再查看磁盘容量,会发现容量还是满的
查找文件没有被彻底删除,或找出文件硬链接为0,进程不为0(deleted:表示硬链接为0,进程数不为0)
rsyslogd 1282 root 2w REG 8,2 6021058560 270652 /var/log/secure (deleted)
软件名 文件大小 文件名称
重启软件即把磁盘容量进行释放
linux文件属性之三种时间
mtime:modified time 文件的修改时间,文件内容的变化时间
ctime:change time 文件属性的改变时间(硬链接数,文件大小,文件权限)
atime:access time 文件的访问时间
查询文件时间
stat 文件的名称
修改后的时间
文件属性改变后
访问后时间
文件权限
文件权限与目录权限的区别
文件 | 目录 | |
---|---|---|
r | 读取文件内容 | 读取目录的内容(需要x权限配合) |
w | 修改文件内容(需要r权限配合) | 在目录下创建、删除文件(需要X权限配合) |
x | 执行命令或者脚本(需要r权限配合) | 进入到目录(cd) |
linux系统默认权限之umask
usmask的默认数字是:022
usmask的计算方式:
1.文件最大权限值,666减去umask值,如果umask某一位上面是奇数,减完umask之后奇数位上需要+1
2.目录最大权限,777值减去usmask值
查看umask
修改umask
修改后的umask创建文件和目录的权限
[root@web02 ~]# umask 014
[root@web02 ~]# umask
0014
[root@web02 ~]# touch file032
[root@web02 ~]# mkdir dir032
[root@web02 ~]# ls -dl *032
# 目录777-014=763
d rwx rw- -wx 2 root root 4096 Jan 13 00:37 dir032
7 6 3
# 文件666-014=652+010=662 注:因umask有一位是奇数位,先减umask再+1
- rw- rw- -w- 1 root root 0 Jan 13 00:37 file032
6 6 2
文件系统的属性
lsattr:查看文件系统的隐藏属性
[root@web02 ~]# lsattr file032
-------------e- file032
chattr:修改文件系统的隐藏属性
[root@web02 ~]# chattr +a file032
[root@web02 ~]# lsattr file032
-----a-------e- file032
参数:
+a:表示文件只能进行追加,不能删除,不能修改
+i:表示文件不能追加,不能删除,不能修改,只能查看