1.文件属性
1.inode(索引节点)和block(磁盘空间)
df -h和df -i
blockdf查看磁盘空间df-h以人类可读形式查看[root@elysia ~]# dfFilesystem 1K-blocks Used Available Use% Mounted on devtmpfs97610809761080% /dev tmpfs98722409872240% /dev/shm tmpfs98722414489857761% /run tmpfs98722409872240% /sys/fs/cgroup /dev/vda14115271670044163234946018% / tmpfs19744801974480% /run/user/0[root@elysia ~]# df -hFilesystem Size Used Avail Use% Mounted on devtmpfs 954M0954M0% /dev tmpfs 965M0965M0% /dev/shm tmpfs 965M1.5M 963M1% /run tmpfs 965M0965M0% /sys/fs/cgroup /dev/vda1 40G6.7G 31G18% / tmpfs 193M0193M0% /run/user/0 inode[root@elysia ~]# df -iFilesystem Inodes IUsed IFree IUse% Mounted on devtmpfs2440273582436691% /dev tmpfs24680612468051% /dev/shm tmpfs2468066592461471% /run tmpfs246806162467901% /sys/fs/cgroup /dev/vda126214408173025397104% / tmpfs24680612468051% /run/user/0 总数 已用 可用文件名是放在block中的,不在inode中 ,所以文件名不是文件属性
2.文件类型
1.liinux文件类型
[root@elysia ~]# ll -hitotal 284K132941-rw-r--r--1root root 248K Jul816:20 attack.log786433drwxr-xr-x3root root4.0K Jun2210:48 elysia"-"代表文件"d"代表文件夹"l"软链接,,,,应该还有其他的Linux不区分扩展名,但是建议创建文件的时候加上
| 常用扩展名 | 说明 |
|---|---|
| .txt | 普通文件 |
| .sh .bash | shell脚本 |
| .conf .cfg .xml .yaml .yml | 配置文件 |
| .py | python脚本文件 |
| Linux常见文件类型 | 含义 |
|---|---|
| - | 文件file,范围较广 |
| d | 目录,directory |
| l | 软连接,类似于windows的快捷方式 |
| c | 字符设备 char 特殊文件 ,不断输出,吸入 |
| b | 块设备 block 硬盘 |
| s | 套接字 socket文件 |
| p |
2.如何查看文件类型
| 文件的分类 | 说明 |
|---|---|
| text | 普通文件(文本文件),我们日常可以查看或直接修改,平时书写就是这种,脚本。 |
| data | 数据文件,需要用专用命令查看。比如压缩包 |
| 二进制文件 | 大部分都是命令 |
file + 文件或目录可查看属性
[root@elysia ~]# ll /etc/hostname /var/log/wtmp /bin/ls-rwxr-xr-x.1root root117608Aug202019/bin/ls -rw-r--r--1root root7Sep182025/etc/hostname -rw-rw-r--1root utmp38016Jul2800:13 /var/log/wtmp[root@elysia ~]# file /etc/hostname /var/log/wtmp /bin/ls /elysia//etc/hostname: ASCII text /var/log/wtmp: data /bin/ls: ELF64-bit LSB executable, x86-64, version1(SYSV), dynamically linked(uses shared libs),forGNU/Linux2.6.32, BuildID[sha1]=aaf05615b6c91d3cbb076af81aeff531c5d7dfd9, stripped /elysia/: directory[root@elysia ~]#3.软硬链接
1.概述
- 软链接:类似windows的快捷方式,也是一种文件;用于存放源文件的路径(位置+名字),应用最多。
- 硬链接:同一分区中,不同文件的inode号码相同了,这些文件互为硬链接,很少使用。
2.如何创建
1.软链接
命令:
ln -s 软链接指向的源文件 软链接名字和路径
相对路径[root@elysia new]# ln -s test.txt test.txt_soft[root@elysia new]# lltotal0-rw-r--r--1root root0Aug810:55 test.txt lrwxrwxrwx1root root8Aug810:56 test.txt_soft ->test.txt[root@elysia new]# cat test.txt_soft[root@elysia new]# cat test.txt_soft_jue绝对路径[root@elysia new]# pwd/root/new[root@elysia new]# ln -s /root/new/test.txt test.txt_soft_jue[root@elysia new]# lltotal0-rw-r--r--1root root0Aug810:55 test.txt lrwxrwxrwx1root root8Aug810:56 test.txt_soft ->test.txt lrwxrwxrwx1root root18Aug811:07 test.txt_soft_jue ->/root/new/test.txt[root@elysia new]# cat test.txt_soft666[root@elysia new]# cat test.txt_soft_jue666把这俩移到/mnt/下[root@elysia new]# mv test.txt_s* /mnt/[root@elysia new]# cd /mnt[root@elysia mnt]# lstest.txt_soft test.txt_soft_jue[root@elysia mnt]# cat test.txt_softcat: test.txt_soft: No suchfileor directory ----- 相对路径创建的软链接移动后报错,无法查看[root@elysia mnt]# cat test.txt_soft_jue666----- 绝对路径创建的软链接移动后没有报错,可以查看
2.硬链接(很少使用)
创建硬链接命令ln+ 源文件 + 硬链接文件[root@elysia new]# ln /root/new/test.txt test.txt_hard[root@elysia new]# lstest.txt test.txt_hard test.txt_soft_jue[root@elysia new]# ll -itotal0786438-rw-r--r--2root root0Aug810:55 test.txt786438-rw-r--r--2root root0Aug810:55 test.txt_hard786441lrwxrwxrwx1root root18Aug1509:58 test.txt_soft_jue ->/root/new/test.txt 硬链接和源文件inode号码相同, 后年标着23.总结
软硬链接使用方法上类似
区别(面试必会):
| 软链接 | 硬链接 |
|---|---|
| 指向文件名 | 指向inode号码 |
- 啥意思
软连接(符号链接) softlink/symlink,类似于 Windows 快捷方式,存放源文件的位置。
硬链接:同一个分区中 inode 号码相同的文件,互为硬链接。
- 咋来的
软连接通过 ln -s 创建,硬链接通过 ln 创建。
- 特点
软连接是比较常用的,可以给文件、目录创建。
硬链接只能给文件创建,不能跨分区,无法给目录创建硬链接,较少使用。
- 咋没的
删除软连接,源文件不受影响。
删除源文件,软连接无法使用,红底白字闪烁。
删除硬链接,源文件,软连接无影响。
删除源文件和硬链接,这个文件就被删除了
4.查看文件大小
- 查看文件大
ll-h/etc/[root@elysia ~]# ll -h /etc/total1.5M drwxr-xr-x.3root root4.0K Jan262021abrt -rw-r--r--.1root root16Jan262021adjtime -rw-r--r--.1root root1.5K Apr12020aliases -rw-r--r--.1root root 12K Jan262021aliases.db drwxr-xr-x.2root root4.0K Dec52023alternatives -rw-------.1root root541Aug92019anacrontab -rw-r--r--.1root root55Aug82019asound.conf..... 显示文件大小和文件夹名字大小 ll-h/etc/hosts[root@elysia ~]# ll -h /etc/hosts-rw-r--r--.1root root207Sep182025/etc/hosts- 查看目录大小
du-sh/etc/ 查看指定目录所占的空间.(block)[root@elysia ~]# du -sh /etc/36M /etc/du/etc/ 如果不加-sh(不指定目录),会显示目标目录下所有目录的大小,最后给出目标目录大小 -h:以人类可读形式显示 -s:不要显示目录中所有的子目录了,只显示汇总信息,不显示所有[root@elysia ~]# du /etc/12/etc/infiniband-diags4/etc/opt.....8/etc/gss8/etc/plymouth36116/etc/5.时间
| Linux时间 | 说明 |
|---|---|
| mtime | modify 修改时间,最常用 (文件里面有内容变化了) |
| atime | access 访问时间 |
| ctime | change 文件属性的变化时间(文件属性变了,大小,权限,软硬链接) |
- stat + 文件名 查看文件的属性信息
[root@elysia ~]# stat /etc/File: ‘/etc/’ Size:12288Blocks:24IO Block:4096directory Device: fd01h/64769d Inode:393218Links:94Access:(0755/drwxr-xr-x)Uid:(0/ root)Gid:(0/ root)Access:2026-08-1513:05:55.162536449 +0800 —————— atime Modify:2026-06-08 06:54:49.970965223 +0800 —————— mtime Change:2026-06-08 06:54:49.970965223 +0800 —————— ctime Birth: -6.小结
- 核心:熟练掌握什么是inode和block
- 核心: 熟练掌握常见的文件类型
- 核心:熟练掌握软硬链接的区别
- 核心:熟练掌握什么是mtime
- 命令:df, file, du, ln -s
2.打包压缩三剑客
1.概述
工作中对多个文件备份时,用cp命令会占用过大空间,所以用压缩来解决这个问题
| 压缩命令 | 应用场景 |
|---|---|
| tar⭐⭐⭐ | 大部分场景可使用tar,创建,查看,解压,解压到指定目录 |
| gzip | 一般配合其他命令使用 |
| zip、unzip | 一般用于解压zip格式的压缩包unzip |
2.tar⭐⭐⭐⭐️
windows:压缩
Linux:打包压缩
打包:文件放在一起 tar
压缩:文件压缩在一起,节省空间 tar命令的选项
tar命令要熟练掌握的功能:
创建压缩包;
查看压缩包;
解压压缩包;
解压压缩包到指定目录;
tar命令 选项与说明 创建 zcf tar zcf 压缩包 被压缩的文件/目录 查看 tf tar tf /tmp/etc.tar.gz 解压 xf tar xf /tmp/erc.tar.gz
1.创建压缩包⭐️⭐️⭐️⭐️
需要指定压缩包存放位置和名字还有被压缩的文件或目录。
例:把/etc/目录压缩,压缩包放在/tmp/etc.tar.gz
tarzcvf /tmp/etc.tar.gz /etc/tarzcf /tmp/etc.tar.gz /etc/vverbose 显示过程(未来不加) c create 创建包(打包),如果只放cf选项就是打包,不压缩 zgziptar命令创建包后,通过gzip压缩工具进行压缩 tar打包 gz压缩 .tar.gz扩展名 ffile指定压缩包,f选项放在这几个选项最后[root@elysia ~]# tar zcvf /tmp/etc.tar.gz /etc/tar: Removing leading `/' from member names /etc/ /etc/centos-release-upstream /etc/subuid......../etc/login.defs /etc/filesystems /etc/inputrc[root@elysia ~]# ll /tmp-rw-r--r--1root root10635925Aug1815:28 etc.tar.gz2.查看压缩包内容⭐️⭐️⭐️⭐️
核心指定好压缩包名字和位置
tarztvf /tmp/etc.tar.gztartf /tmp/etc.tar.gz 未来用这个 t list 列表,查看压缩包内容[root@elysia ~]# tar tf /tmp/etc.tar.gzetc/ etc/centos-release-upstream etc/subuid etc/printcap.......3.解压压缩包 ⭐️⭐️⭐️⭐️
核心指定好压缩包名字和位置.
默认解压到当前目录
tarzxvf /tmp/etc.tar.gztarxf /tmp/etc.tar.gz x extract 解压[root@elysia ~]# tar xf /tmp/etc.tar.gz[root@elysia ~]# ls... etc...[root@elysia ~]# ll etctotal1496drwxr-xr-x3root root4096Jan262021abrt -rw-r--r--1root root16Jan262021adjtime -rw-r--r--1root root1529Apr12020aliases....... 解压成功4.解压到指定目录⭐️⭐️⭐️⭐️
tarxf 压缩包-C解压后的存放目录[root@elysia tmp]# tar xf etc.tar.gz -C /opt/[root@elysia tmp]# ls /opt/avalokita bcm-agent bsm-agent etc heyeAgent knem-1.1.4.90mlnx1 mellanox rh[root@elysia tmp]#5.tar:从成员名中删除开头的“/”
- 这是一个警告,可以忽略
tar: Removing leading`/`from member names- 由来:
- 这个是tar命令的安全保护机制。
- 提示出现的原因,我们打包的目标目录或文件是绝对路径。
- 为了防止压缩包中保留绝对路径,解压的时候可能发生覆盖,导致数据,配置丢失。
- 如何避免提示:使用相对路径打包。
cd/tarzcf /tmp/etc.tar.gz etc/6.小结
核心:tar创建,查看,解压,解压到指定目录
zcf
z 使用gzip进行压缩,压缩包以.tar.gz结尾
j 使用bzip2进行压缩,压缩包.tar.bz2J 使用xz进行压缩,tar.xz
tf 查看 无论什么格式,.tar.gz tar.bz2 .tar.xz
xf 解压 无论什么格式,.tar.gz tar.bz2 .tar.xz
-C 解压到指定目录
3.gzip
创建gz压缩包
touchelysia.txtgzipelysia.txt ll elysia.txt.gz解压
gzip-delysia.txt.gz4.zip/unzip
专门处理.zip格式的压缩包 .tar无法处理.zip格式的压缩包。
.zip格式是windows和linux共同支持格式。
主要掌握,上传zip格式压缩包,在Linux系统里可以解压即可
- 对于这个命令大部分会使用解压即可。
压缩zipr etc.zip /etc/-r用于压缩目录 解压unzipetc.zip5.小结
| 压缩命令 | 应用场景 | |
|---|---|---|
| tar | 大部分使用tar即可,创建,查看,解压,解压到指定目录 | 核心使用 |
| gzip | 一般配合其他命令使用 | |
| zip | 一般用于解压zip格式的压缩包unzip | 目前会使用unzip |
3.总结
- 核心:熟练掌握ll -hi每一列含义
- 熟练掌握什么是inode和block
- 熟练掌握常见的文件类型
- 熟练掌握软硬链接区别⭐⭐⭐
- 熟练掌握什么是mtime
- 理解:一个基于软连接服务升级流程
- 打包压缩:tar创建,查看,解压,解压到指定目录,unzip解压
- 命令:df,file,ln,stat,tar,gzip,zip,unzip,du