文件压缩
文件压缩
为什么使用压缩
文件或目录太大,需要压缩传输
以后学的服务安装包都需要解压
压缩格式及命令
格式 | Linux命令 |
---|---|
.zip | zip |
.gz | gzip |
.tar | tar |
.tar.gz | tar.gz |
压缩命令-gzip
# 安装gzip命令
[root@localhost ~]# yum install -y gzip
# gzip命令使用
gzip 普通文件名
-r:递归压缩目录下的所有文件,每个文件会被压缩成单独一个包
# 特性
1.压缩文件后,源文件不存在
2.只能压缩文件,不能压缩目录
3.压缩后,压缩包的位置在源文件的目录下
4.压缩包可以直接查看文件内容 zcat
5.一个压缩包中,只会有一个文件
6.解压后,压缩包没了,只剩源文件
# 例:
[root@localhost ~]# gzip lza.txt
[root@localhost ~]# ll
total 4
-rw-r--r--. 1 root root 24 Apr 18 15:58 lza.txt.gz
[root@localhost ~]# zcat lza.txt.gz
111
222
333
# -r:
[root@localhost ~]# gzip -r .
[root@localhost ~]# ll
total 8
-rw-r--r--. 1 root root 36 Apr 18 16:04 lza1.txt.gz
-rw-r--r--. 1 root root 40 Apr 18 16:01 lza.txt.gz
# 查看压缩包内容
zcat 压缩包名
# 解压命令
gzip -d 压缩包名
[root@localhost ~]# gzip -d lza.txt.gz
[root@localhost ~]# ll
total 4
-rw-r--r--. 1 root root 12 Apr 18 16:01 lza.txt
压缩命令-zip
# 安装zip和unzip命令
[root@localhost ~]# yum install -y zip
[root@localhost ~]# yum install -y unzip
# zip命令
[root@localhost ~]# zip txt.zip 1.txt 2.txt 3.txt
zip 压缩包名 需要放入压缩包的文件
# 压缩并指定位置
[root@localhost ~]# zip /opt/lza.zip 1.txt 2.txt 3.txt
# 特性
1.压缩文件后,源文件存在
2.可以指定压缩包后保存的路径
3.可以压缩目录,也可以压缩文件,也可以指定多个文件一起压缩
4.压缩目录需要加选项,如果不加,压缩后,只有一个空目录,没有里面的文件
5.解压后,压缩包不会消失,如果同一目录下出现同名文件则询问是否要覆盖
# 选项
-r:递归压缩,包括目录下的所有文件
[root@localhost ~]# zip -r lza.zip lza/
-q:quiet静默输出,不输出压缩的过程
# 解压命令
unzip 压缩包名
[root@localhost ~]# unzip lza.zip
-l:查看压缩包里面都有那些文件
[root@localhost ~]# unzip -l lza.zip
-d:指定解压路径
[root@localhost ~]# unzip zls.zip -d /tmp
压缩命令-tar
tar命令本身是归档
# 选项
c:归档
f:指定压缩包名
z:使用gzip把归档文件压缩
v:显示压缩/解压的过程
x:解压归档文件
C:指定解压的位置
t:查看压缩包里的文件都有哪些
j:使用bzip2压缩文件
J:压缩成.xz包
h:打包软链接(如果软链接文件是绝对路径,那么不加h打包出来的文件会失效)
P:压缩时带绝对路径,解压时按绝对路径解压
X:排除指定的文件
--exclude:排除指定文件
--hard-dereference:打包硬链接文件
# 例:
# 压缩文件,指定压缩包路径,源文件还在
[root@localhost ~]# tar zcvf /tmp/lza.tar.gz .
./
./.bash_logout.gz
./.bash_profile.gz
./.cshrc.gz
./.tcshrc.gz
./.bash_history.gz
./.bashrc.gz
./.zls.gz
./.viminfo.gz
./lza.txt
./lza1.txt
[root@localhost ~]# ll /tmp/
total 4
-rw-r--r--. 1 root root 2045 Apr 18 16:13 lza.tar.gz
[root@localhost ~]# tar tf /tmp/lza.tar.gz
# 解压,指定路径,且压缩包还在
[root@localhost ~]# tar xf /tmp/lza.tar.gz -C /tmp/
[root@localhost ~]# ll /tmp/
total 12
-rw-r--r--. 1 root root 7 Apr 18 16:04 lza1.txt
-rw-r--r--. 1 root root 2045 Apr 18 16:13 lza.tar.gz
-rw-r--r--. 1 root root 12 Apr 18 16:01 lza.txt
# 特性
1.压缩文件后,源文件存在
2.目录和文件都可以压缩
3。压缩后,压缩包的位置可以指定任意目录
[root@localhost ~]# tar zcf /tmp/lza.tar.gz /opt /tmp
4.可以查看压缩包里有那些文件,但是看不了文件内容
[root@localhost ~]# tar tf /tmp/lza.tar.gz
5.一个压缩包中,可以有多个文件或目录
6.解压后,压缩包还在,源文件也可以随意指定路径 -C
7.使用zcf压缩,zxf解压
使用jcf压缩,jxf解压
使用Jcf压缩,Jxf解压
# 8.万能解压:xf
# 注意
1.tar命令在解压开文件时,如果有文件名冲突,则不会询问,直接覆盖
2.tar命令,在打包时,会自动删除绝对路径的 /
3.以后打包,尽量使用相对路径,cd到需要打包命令或文件的上级目录
[root@localhost ~]# cd /
[root@localhost /]# tar zcf /tmp/opt.tgz opt/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律