1. 文件属性信息概述
【注意】:文件名称信息 不属于 文件属性信息
文件的属性信息(1-8)
1. 文件数据的 inode 信息,index node -- 索引节点
作用:快速从磁盘中找到数据信息
2. 文件的数据类型:文件 目录 链接文件 设备文件 ……
作用:指明文件的数据类型
3. 权限位信息: r(read)读 w(write)写 x(execute)执行
作用:控制让不同用户对文件可以有不同的权限
4. 文件目录的硬链接数:类似于超市的多个门
作用:可以多个路径查看数据信息
5. 文件所属用户信息(属主):
作用:文件的创建者或者拥有者
6. 文件所属组信息(属组):
作用:文件或数据的所属用户组
7. 文件的大小信息
8. 文件的时间信息(修改时间)
9. 文件名称
2. 文件类型
Windows 系统中使用扩展名 来区分 文件类型
Linux 系统不用 扩展名 来区分文件类型
2.1 Linux 系统区分文件类型方法
2.1.1 按照颜色区分
2.1.2 利用属性信息区分
d --目录
- --文件
c --字符文件
b --块文件
l --链接文件
s --socket文件
2.1.3 利用特殊命令区分
file 文件名
2.2 Linux 系统中的常见文件类型
d -- 目录文件类型
- -- 普通文件
1. 纯文本文件(text) /etc/hosts -- 文本文件,可以直接编辑查看
2. 二进制文件(binary) /bin/ls -- 命令文件,不可以编辑查看
3. 数据型文件(data) /tmp/tar.gz -- 压缩文件
l -- 链接文件(快捷方式)
c/b -- 字符文件/块文件(设备文件)
块文件:存储的设备文件 光驱设备文件 磁盘
字符文件:根本停不下来的输出字符信息
磁盘设备文件 /dev/sda
随机设备文件 /dev/urandom(产生随机字符信息)
输出设备文件 /dev/zero(黑洞的出口文件)
输入设备文件 /dev/null(黑洞的入口文件)
s -- socket文件(网络编程)
3. 文件权限
3.1 文件数据权限
r read 4 -- 读权限
w write 2 -- 写权限
x execute 1 -- 执行权限
- 0 -- 没有权限
rwx --> 7
rw- --> 6
r-- --> 4
rw-r--r-- --> 644
3.2 权限位指定人
属主 -- 文件所有者 权限
属组 -- 文件所属组 权限
其他 -- 其他用户 权限
4. 用户信息(属主/属组)
4.1 系统中用户信息作用
- 利用用户登录系统
- 利用用户管理数据
- 利用用户管理进程
4.2 系统如何识别用户身份
利用用户的 uid
来识别用户身份
4.3 用户组的概念
运维 -- sa(system administrator)
开发 -- dev(development)
数据库 --dba(database administrator)
- 用户和用户组的关系
一个用户属于一个用户组 一对一
多个用户属于一个用户组 多对一
一个用户属于多个用户组 一对多
- 系统识别用户组 通过
gid
来识别
[root@yunxuanedu ~]# id
uid=0(root) gid=0(root) groups=0(root)
uid=0(root) -- 显示用户名和uid对应关系
gid=0(root) -- 显示属于的用户组,组名和gid对应关系
groups=0(root) -- 用户可能还属于哪些组
4.4 系统用户分类
- 超级管理员用户
root
通过 uid 区分,uid=0
- 虚拟用户
uid 1-999 (CentOS7)
uid 1-499 (CentOS6)
无家目录/无法登录系统
- 普通用户
uid 1000以上 (CentOS7)
uid 500以上 (CentOS6)
可以管理指定数据/指定进程/可登录系统/有家目录
- 扩展 - 安全防护
1. 修改远程端口号(ssh)
2. 禁止root用户远程登录
5. 索引节点 inode
5.1 索引节点 - inode
5.1.1 概述
相当于书籍的目录,用于存储文件属性的信息和文件或数据在磁盘中保存的位置
5.1.2 产生
创建文件系统之后,就产生了 inode 信息
5.1.3 特点说明
-
inode 用于存放文件属性
-
inode 用于存放块的指针位置
-
创建一个文件至少占用一个 inode 和一个 block
-
在同一个分区中,两个文件的inode号码相同,两个文件互为硬链接
5.2 block
5.2.1 概述
目录指向的内容,存储文件的具体内容
5.2.2 产生
创建文件系统之后,就产生了 block
5.2.3 特点说明
- block 用于存放数据信息
- block 默认大小为 4k,可以进行调整
- 比较大的文件,会占用多个 block
- 比较小的文件,一个 block 空间未用完,剩余空间无法使用,浪费磁盘空间
- 创建一个文件至少占用一个 inode 和 一个 block
- 磁盘读取数据时,按照 block 为单位读取的
- 读取一个 block 会消耗一次磁盘 I/O (input/output 磁盘读写)
5.2.4 扩展--block 默认大小可以调整,怎么设置较为合适(系统优化的一部分)
5.2.4.1 文件比较大的情况下
将block设置大点,节省I/O消耗 (如视频、图片类型文件)
5.2.4.2 文件普遍比较小的情况下
将block设置小点,节省磁盘空间,提高磁盘利用率 (互联网公司)
5.3 查看 inode 和 block 信息
5.3.1 inode 查看方法
[root@localhost ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/rhel-root 18348032 238359 18109673 2% /
5.3.2 block 查看方法
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/rhel-root 36678148 20314648 16363500 56% /
5.4 扩展-磁盘操作处理过程
磁盘 地皮
raid 将多块地皮连接起来
分区 将地皮进行规划
格式化 地皮进行整理
创建文件系统 建房风格(复古或现代) inode 和 block
挂载 安装门
5.5 读取数据原理
- 找到指定数据
- 读取数据内容,先获取文件数据的 inode 信息
- 根据 inode 信息在磁盘中找到对应的 block
- 根据 block 信息获取文件真实内容
5.6 扩展
- 文件的属性信息存储在 inode 中
- 文件的名称信息存储在上一级目录的block中
6. 时间信息
6.1 文件数据时间类型
访问时间 Access time -- atime
修改时间 Modify time -- mtime
改变时间 Change time -- ctime 数据属性信息发生改变
6.2 如何查看文件详细属性信息
stat 文件名
[root@yunxuanedu data]# stat index.conf
File: ‘index.conf’
Size: 4 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 1572874 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-08-14 12:21:34.931911740 +0800
Modify: 2021-08-14 12:17:58.855963278 +0800
Change: 2021-08-14 12:17:58.855963278 +0800
Birth: -
6.3 时间属性改变案例
# 查看当前时间属性信息
[root@yunxuanedu data]# stat index.conf
File: ‘index.conf’
Size: 4 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 1572874 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-08-14 13:58:18.350433799 +0800
Modify: 2021-08-14 13:58:18.350433799 +0800
Change: 2021-08-14 13:58:18.350433799 +0800
Birth: -
# 修改文件属性,ctime 将会变动
[root@yunxuanedu data]# chmod 600 index.conf
[root@yunxuanedu data]# stat index.conf
File: ‘index.conf’
Size: 4 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 1572874 Links: 1
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-08-14 13:58:18.350433799 +0800
Modify: 2021-08-14 13:58:18.350433799 +0800
Change: 2021-08-16 10:38:35.779929115 +0800
Birth: -
# 修改文件内容,mtime 和 ctime 都会变动(修改文件内容时,文件属性信息也发生改变)
[root@yunxuanedu data]# echo "qwer" >> index.conf
[root@yunxuanedu data]# stat index.conf
File: ‘index.conf’
Size: 9 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 1572874 Links: 1
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-08-14 13:58:18.350433799 +0800
Modify: 2021-08-16 10:39:04.322112606 +0800
Change: 2021-08-16 10:39:04.322112606 +0800
Birth: -
# 查看文件内容,atime 发生变动(访问时间)
[root@yunxuanedu data]# cat index.conf
123
qwer
[root@yunxuanedu data]# stat index.conf
File: ‘index.conf’
Size: 9 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 1572874 Links: 1
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-08-16 10:39:24.691957234 +0800
Modify: 2021-08-16 10:39:04.322112606 +0800
Change: 2021-08-16 10:39:04.322112606 +0800
Birth: -
7. 硬链接数
7.1 硬链接
相当于超市的多个门,互为硬链接的文件的 inode 号相同,指针指向的 block 相同
同一个分区中,inode 相同的文件 互为 硬链接
7.1.1 创建硬链接文件
ln 原文件 硬链接的文件信息
7.1.2 硬链接文件特征
- 一个硬链接文件相当于访问该文件内容的一个入口
- 硬链接数相当于访问该文件内容的入口数量
- 同一个分区中,inode号相同的文件互为硬链接文件
- 不能给目录创建硬链接
- 硬链接可以防止误删除,但是不能防止误修改。因此修改文件之前,做好备份。
7.2 软连接
相当于文件的快捷方式
7.2.1 创建软链接文件
ln -s 原文件 软链接的文件信息
7.2.2 软链接文件特征
- 软链接文件相当于 Windows 系统中文件的快捷方式
- 软链接文件用于存放指向源文件的路径信息
- 软链接创建最好采用绝对路径,否则容易失效
- 链接的源文件删除,容易影响软连接。建立相同名的文件后,软链接恢复,但是当前新建文件并不是被删除的文件,两者的inode号不相同。
7.3 软硬链接的区别
- 链接后的文件大小不一致
- 链接后的文件权限和类别不一致
- 连接后的文件和原文件inode信息有出入(硬链接与原文件inode一致,软链接与原文件inode不同)
- 原文件被删除,硬链接文件依然有效,软链接文件失效(可创建同名文件进行恢复)
- 软硬链接文件创建过程不一致
- 系统中的目录不能创建硬链接
7.4 扩展-关于目录硬链接数的说明
目录不能创建硬链接
root@yunxuanedu data]# ll -id /data
1572865 drwxr-xr-x 3 root root 4096 Aug 16 23:29 /data
[root@yunxuanedu data]# ll -ai
total 12
1572865 drwxr-xr-x 3 root root 4096 Aug 16 23:29 .
2 dr-xr-xr-x. 20 root root 4096 Aug 14 12:16 ..
1572866 drwxr-xr-x 2 root root 4096 Aug 16 23:29 admin
[root@yunxuanedu data]# cd admin/
[root@yunxuanedu admin]# ll -ai
total 8
1572866 drwxr-xr-x 2 root root 4096 Aug 16 23:29 .
1572865 drwxr-xr-x 3 root root 4096 Aug 16 23:29 ..
image-20210816233200546.png
目录的硬链接数 = 子目录的数量 + 当前目录(.) + 目录自己(/data)
网友评论