文件压缩

文件压缩

为什么使用压缩

文件或目录太大,需要压缩传输
以后学的服务安装包都需要解压

压缩格式及命令

格式 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/
posted @   安(za)  阅读(344)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示