文件压缩
为什么使用压缩
文件或目录太大,需要压缩传输
以后学的服务安装包都需要解压
压缩格式及命令
格式 | 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
# 解压命令
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命令
zip 压缩包名 文件
压缩包名 需要放入压缩包的文件
[root@localhost ~]# zip txt.zip 1.txt 2.txt 3.txt
# 压缩并指定位置
[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/
# 解压命令
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包
x:排除指定的文件
--exclude:排除指定文件
# 例:
# 压缩文件,指定压缩包路径,源文件还在
[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解压
万能解压:xf
# 注意
1.tar命令在解压开文件时,如果有文件名冲突,则不会询问,直接覆盖
2.tar命令,在打包时,会自动删除绝对路径的 /
3.以后打包,尽量使用相对路径,cd到需要打包命令或文件的上级目录
[root@localhost ~]# cd /
[root@localhost /]# tar zcf /tmp/opt.tgz opt/
原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/245712.html