Linux文件属性体系及压缩
1.文件属性体系
1.1文件属性体系概述
[root@oldboy-yang-01 ~]# ls -lhi
总用量 3.3M
67146818 -rw-------. 1 root root 1.4K 7月 12 00:08 anaconda-ks.cfg
67193782 -rw-r--r--. 1 root root 26 8月 10 00:31 bgx1.txt
101091594 drwxr-xr-x. 2 root root 6 7月 14 23:02 odboy
1094 drwxr-xr-x. 2 root root 6 7月 14 23:04 oldboy
67193756 -rw-r--r--. 1 root root 10 8月 7 07:56 oldboy-a.txt
67193759 -rw-r--r--. 1 root root 11 8月 7 07:57 oldboy-b.txt
67193755 -rw-r--r--. 1 root root 844 8月 7 08:40 passwd
67193757 -rw-r--r--. 1 root root 66 8月 7 08:23 sort-age.txt
67193768 -rw-r--r--. 1 root root 3.3M 8月 8 23:26 sort.log
67193758 -rw-r--r--. 1 root root 36 8月 7 08:15 sost.txt
高清无码传送
门:https:www.processon.com/view/link/6222e1f25653bb072826daa5
1.2 inode 与 block 部分
大概了解:inode和block含义即可.未来在磁盘部分有故障使用
概述
-
inode 索引节点,inode号码类似于身份证号码,通过inode号码 可以找到文件的内容.
-
inode 是一个空间,inode号是空间的位置,类似于身份 证,inode空间存放:
- inode 空间中存放的是 文件属性信息 ,文件大小,修改 时间,权限,所有者
- inode 空间中存放block的位置(指向文件实体的指针) 这里不存放文件名
-
block 块(数据块): 存放数据
1.3 inode和block的关系
- 用户访问查看oldboy.txt文件内容的流程:
- 1.用户访问oldboy.txt的时候,系统会找出他对应的 inode空间(根据inode号码)。
- 2.访问来到inode空间后,确认用户,确认权限
- 3.权限信息正确就准许通过,可以访问inode对应的 block区域(数据)。
1.4 inode 和 block 特点
- inode索引节点,存放文件属性信息,block位置。
- 每创建1个非空文件至少占用1个inode,1个block,一般文件都 要有1个inode。
- 1个block默认是4k。
- inode,block数量是在格式化的时候创建的。
- 正常情况下block的使用会更快.
- 创建小文件不足4k,1个block还有剩余空间,无法给其他文件使 用.
- 创建文件大于4k,占用多个block.
1.5 如何查看文件大小
- 查看block的使用情况命令:(平时说的磁盘空间) df -h
磁盘空间使用情况
- 查看inode的使用情况命令: df -i
小结
核心掌握inode,block是啥就行,未来在磁盘部分会有故障案例
2. 文件类型部分
2.1.windows与linux文件类型区别
这里熟悉Linux和windows扩展名即可.
-
windows下面通过 扩展名 的区分不同文件类型,如果扩展名修 改则无法使用. 微信.exe 游戏.exe lidao.avi 4kblue-ray.torrent
-
Linux下面扩展名仅仅用于展示,随意修改
虽然Linux不区分扩展名,但是李导推荐大家创建文件的时候给他 加上.
常用的扩展名 | 说明 |
---|---|
.txt | 普通文件 |
.sh .bash | shell脚本 |
.conf .cfg .xml .yaml .yml | 配置文件 |
.py | python脚本文件 |
2.2 Linux文件类型
这里以ls -l 查看的为例
Linux常见文件类型 | 含义 |
---|---|
- | 文件 file ,范围较广 |
d | 目录 directory |
l | 软连接,类似与windows快捷方式 |
c | 字符设备 char 特殊文件,不断输入,吸出 |
b | 块设备 block 硬盘 |
s | 套接字 socket 文件 |
p | 管道文件 |

2.3 如何查看文件类型
- file 命令查看详细文件
文件的分类 | 说明 |
---|---|
text | 普通文件(文本文件),我们日常可以查看或直接修改,平时 书写就是这种,脚本. |
date | 数据文件,需要用专用命令查看. 比如压缩包. |
二进制文件 | 大部分都是命令. |
file查看文件的详细类型
[root@oldboy-yang-01 ~]# file /etc/hostname /etc/rc.local /dev/null /dev/sda /etc/hostname: ASCII text /etc/rc.local: symbolic link to `rc.d/rc.local' /dev/null: character special /dev/sda: block special
3. 软硬链接
3.1概述
- 软链接: 类似于windows中快捷方式,也是一种文件;用于存放源 文件的路径(位置+名字),应用最多.
- 硬链接: 在同一个分区中,不同的文件的inode号码相同了,这些 文件互为硬链接,很少使用.
3.2 如何创建
- ln (link)创建软连接或硬链接,默认创建硬链接
- 创建软连接
- ln -s 源文件 软连接文件**
[root@oldboy-yang-01 new]# ln -s olddoy.txt olddoy.txt_soft
[root@oldboy-yang-01 new]# ll
总用量 0
-rw-r--r--. 1 root root 0 8月 11 23:42 olddoy.txt
lrwxrwxrwx. 1 root root 10 8月 11 23:43 olddoy.txt_soft -> olddoy.txt
[root@oldboy-yang-01 new]# echo liao >> olddoy.txt
[root@oldboy-yang-01 new]# cat olddoy.txt
liao
[root@oldboy-yang-01 new]# echo olddoy.txt_soft
olddoy.txt_soft
[root@oldboy-yang-01 new]# echo yang >> olddoy.txt_soft
[root@oldboy-yang-01 new]# cat olddoy.txt
liao
yang
[root@oldboy-yang-01 new]# cat olddoy.txt_soft
liao
yang
[root@oldboy-yang-01 new]# \
# 创建绝对路径的软连接
[root@oldboy-yang-01 new]# ln -s /oldboy/new/olddoy.txt olddoy.txt_soft_jue
[root@oldboy-yang-01 new]# ll
总用量 4
-rw-r--r--. 1 root root 10 8月 11 23:44 olddoy.txt
lrwxrwxrwx. 1 root root 10 8月 11 23:43 olddoy.txt_soft -> olddoy.txt
lrwxrwxrwx. 1 root root 22 8月 11 23:48 olddoy.txt_soft_jue -> /oldboy/new/olddoy.txt
[root@oldboy-yang-01 new]#
**温馨提示: 如果源文件被删除或改名或移动走,软连接会如何? **
绝对路径下不会闪缩
红色闪烁
- 硬连接
[root@oldboy-yang-01 new]# ln olddoy.txt olddoy.txt_hard
[root@oldboy-yang-01 new]# ll
总用量 8
-rw-r--r--. 2 root root 10 8月 11 23:44 olddoy.txt
-rw-r--r--. 2 root root 10 8月 11 23:44 olddoy.txt_hard
[root@oldboy-yang-01 new]# ll -i
总用量 8
67193776 -rw-r--r--. 2 root root 10 8月 11 23:44 olddoy.txt
67193776 -rw-r--r--. 2 root root 10 8月 11 23:44 olddoy.txt_hard
通过使用发现,软连接硬链接使用上类似.
下面解密软连接与硬链接的区别.(面试必会)
3.3软硬链接区别
-
啥意思
- 软连接(符号链接) softlink/symlink,类似于 windows快捷方式,存放源文件的位置。
- 硬链接: 同一个分区中inode号码相同的文件,互为硬链接。
-
咋来的
- 软连接通过ln -s创建,硬链接通过ln创建。
-
特点
- 软件连接是比较常用的,可以给文件,目录创建。
- 硬链接只能给文件创建,不能跨分区,无法给目录创建硬 链接,较少使用。
-
咋没的
-
删除软连接,源文件不受影响。
-
删除源文件,软连接无法使用,红底白字闪烁.
-
删除硬链接,源文件,软连接无影响.
-
删除源文件和硬链接,这个文件就被删除了.
-
4. 用户与用户组
5. 权限
6. 文件大小
- 查看文件大小
ll -h /etc/hosts
ll -h /etc/
- 查看目录大小
du -sh /etc/
-h 人类可读形式显示大小.
-s 不要显示目录中所有的子目录了,只显示汇总信息,不显示所有查看指定目录所占的空间.(block)
7. 时间
Linux文件时间 | 说明 |
---|---|
mtime | modify 修改时间,最常用. |
atime | access 访问时间 |
ctime | change 文件属性的变化时间 |
- stat 查看文件的属性信息+文件名
8. 企业案例-一个基于软链接服务升 级流程
说明:这个案例目前能够理解流程即可。后面第2个阶段讲解架构 的时候,会使用。
- 未来可以设计基于软连接的升级与回滚流程
- 升级:删除旧的软连接,创建软连接指向新的版本即可
- 回滚:删除旧的软连接,创建软连接指向旧的可用的版本即可.
这个过程涉及到服务升级,代码更新,详细在第3阶段-DevOPS
9. 打包压缩三剑客
运维的日常工作中,我们需要备份文件,备份某一个目录中的文 件,这时候使用cp等命令不行了。
占用空间巨大,避免空间浪费,选择打包压缩目录实现备份的目的
未来:备份单个文件就是cp即可,备份多个文件或目录推荐使用 打包压缩。
9.1 概述
压缩命令 | 应用场景 |
---|---|
tar | 大部分使用tar即可. 创建,查看, 解压,解压到 指定目录 . |
gzip | 一般配合其他命令使用. |
zip . unzip | 一般用于解压zip格式的压缩包unzip |
9.2 tar
-
windows 压缩
-
linux 打包压缩
- 打包(文件放在一起)tar
- 压缩(进行压缩,节约空间) tar 命令的选项
-
tar 命令要熟练掌握的功能
- 创建压缩包
- 查看压缩包
- 解压压缩包
- 解压压缩包到指定目录
tar 命令 | 选项与说明 |
---|---|
创建 zcf | tar zcf 压缩包 被压缩的文集/目录.... |
查看 tf | tar tf /tmp/etc.tar.gz |
解压 xf | tar xf /tmp/etc.tar.gz |
2.1 创建压缩包
需要指定压缩包存放位置和名字还有被压缩的文件或目录
#请把/etc/目录压缩,压缩包放在/tmp/etc.tar.gz
tar zcvf /tmp/etc.tar.gz /etc/
tar zcf /tmp/etc.tar.gz /etc/
v verbose 显示过程(未来不加)
c create 创建包(打包),如果只放cf选项就是打包,不压缩
z gzip tar命令创建包后,通过gzip压缩工具进行压缩 所以:tar打包 gz压缩 扩展名.tar.gz
f file 指定压缩包,f选项放在这几个选项的最后
2.2 查看压缩包内容
核心指定好压缩包名字和位置
tar ztvf /tmp/etc.tar.gz
tar tf /tmp/etc.tar.gz
t list 列表,查看压缩包内容.
2.3 解压压缩包
核心指定好压缩包名字和位置
默认解压到当前目录.
tar zxvf /tmp/etc.tar.gz
tar xf /tmp/etc.tar.gz
x extract 解压
- 解压后的文集
2.4 解压到指定目录
解压etc.tar.gz 到/mnt目录下
-C解压到指定目录
tar xf 压缩包 -C 解压后的存放目录
tar xf /tmp/etc.tar.gz -C /mnt/
2.5 tar: 从成员名中删除开头的“/”
- 结论:是个警告而已,可以忽略
tar: Removing leading `/' from member names
-
由来:
- 这个是tar命令的安全保护机制
- 提示出现的原因,我们打包的目标目录或文件是绝对路 径.
- 把我们使用的绝对路径转换为相对路径.
- 为了防止压缩包中保留绝对路径,解压的时候可能发生覆 盖,导致数据,配置丢失.
-
避免提示:使用相对路径打包.
cd /
tar zcf /tmp/etc.tar.gz etc/
这里使用相对路径打包,提示警告消失了
10. gzip
- 创建gz压缩包
touch lidoa.txt
gzip liado.txt
ll lidao.txt.gz
- 解压
gzip -d lidao.txt.gz
11. zip/unzip
专门处理.zip格式的压缩包.tar无法处理.zip格式的压缩包. .zip格式是windows和linux共同支持格式.
主要掌握,上传zip格式压缩包,在Linux里面可以解压即可.
- 对于这个命令大部分会使用解压即可
压缩
zip -r etc.zip /etc/
-r 用于压缩目录
解压
unzip etc.zip
⚠ 温馨提示:如果命令没有请yum安装yum install -y unzip
总结:
压缩命令 | 应用场景 | |
---|---|---|
tar | 大部分使用tar即可.创建,查看, 解压,解 压到指定目录. | 核心使用 |
gzip | 一般配合其它命令使用 | |
zip | 一般用于解压zip格式的压缩包unzip | 目前会使用unzip |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现