☰
Elysia-07 Linux文件属性及打包压缩三剑客
2026/10/19 1:54:27 网站建设 项目流程

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 .bashshell脚本
.conf .cfg .xml .yaml .yml配置文件
.pypython脚本文件
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号码相同, 后年标着2
3.总结

软硬链接使用方法上类似

区别(面试必会):

软链接硬链接
指向文件名指向inode号码
  • 啥意思
  1. 软连接(符号链接) softlink/symlink,类似于 Windows 快捷方式,存放源文件的位置。

  2. 硬链接:同一个分区中 inode 号码相同的文件,互为硬链接。

  • 咋来的

软连接通过 ln -s 创建,硬链接通过 ln 创建。

  • 特点
  1. 软连接是比较常用的,可以给文件、目录创建。

  2. 硬链接只能给文件创建,不能跨分区,无法给目录创建硬链接,较少使用。

  • 咋没的
  1. 删除软连接,源文件不受影响。

  2. 删除源文件,软连接无法使用,红底白字闪烁。

  3. 删除硬链接,源文件,软连接无影响。

  4. 删除源文件和硬链接,这个文件就被删除了

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时间说明
mtimemodify 修改时间,最常用 (文件里面有内容变化了)
atimeaccess 访问时间
ctimechange 文件属性的变化时间(文件属性变了,大小,权限,软硬链接)
  • 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命令选项与说明
    创建 zcftar zcf 压缩包 被压缩的文件/目录
    查看 tftar tf /tmp/etc.tar.gz
    解压 xftar 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.gz
2.查看压缩包内容⭐️⭐️⭐️⭐️

核心指定好压缩包名字和位置

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
  • 由来:
  1. 这个是tar命令的安全保护机制。
  2. 提示出现的原因,我们打包的目标目录或文件是绝对路径。
  3. 为了防止压缩包中保留绝对路径,解压的时候可能发生覆盖,导致数据,配置丢失。
  • 如何避免提示:使用相对路径打包。
cd/tarzcf /tmp/etc.tar.gz etc/
6.小结
  • 核心:tar创建,查看,解压,解压到指定目录

  • zcf

    z 使用gzip进行压缩,压缩包以.tar.gz结尾

    j 使用bzip2进行压缩,压缩包.tar.bz2

    J 使用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.gz

    4.zip/unzip

专门处理.zip格式的压缩包 .tar无法处理.zip格式的压缩包。

.zip格式是windows和linux共同支持格式。

主要掌握,上传zip格式压缩包,在Linux系统里可以解压即可

  • 对于这个命令大部分会使用解压即可。
压缩zipr etc.zip /etc/-r用于压缩目录 解压unzipetc.zip

5.小结

压缩命令应用场景
tar大部分使用tar即可,创建,查看,解压,解压到指定目录核心使用
gzip一般配合其他命令使用
zip一般用于解压zip格式的压缩包unzip目前会使用unzip

3.总结

  • 核心:熟练掌握ll -hi每一列含义
  • 熟练掌握什么是inode和block
  • 熟练掌握常见的文件类型
  • 熟练掌握软硬链接区别⭐⭐⭐
  • 熟练掌握什么是mtime
  • 理解:一个基于软连接服务升级流程
  • 打包压缩:tar创建,查看,解压,解压到指定目录,unzip解压
  • 命令:df,file,ln,stat,tar,gzip,zip,unzip,du

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询