文件压缩
gzip
命令:
介绍:压缩文件,不可压缩目录,压缩后格式为filename.gz 原文件消失
格式:gzip [option] filename
用法:
-#(1-9) :选择压缩比,后缀名为 .gz ,比例越高,压缩越慢,压缩后文件越小
zcat
:查看.gz压缩文件内容
[root@localhost ~]# ls
1.txt.bak anaconda-ks.cfg package-lock.json
[root@localhost ~]# gzip 1.txt.bak
[root@localhost ~]# ls
1.txt.bak.gz anaconda-ks.cfg package-lock.json
[root@localhost ~]# zcat 1.txt.bak.gz
123
[root@localhost ~]# gzip -d 1.txt.bak.gz
[root@localhost ~]# ls
1.txt.bak anaconda-ks.cfg package-lock.json
bzip2
命令
介绍:后缀名为 .bz2 ,不可压缩目录 ,需要包 bzip2
用法:bzip2 [option] filename
bzcat
:查看.bz2压缩文件内容
[root@localhost ~]# bzip2 1.txt.bak
[root@localhost ~]# ls
1.txt.bak.bz2 anaconda-ks.cfg package-lock.json
[root@localhost ~]# bzcat 1.txt.bak.bz2
123
[root@localhost ~]# ls
1.txt.bak.bz2 anaconda-ks.cfg package-lock.json
[root@localhost ~]# bzip2 -d 1.txt.bak.bz2
[root@localhost ~]# ls
1.txt.bak anaconda-ks.cfg package-lock.json
zip
命令
介绍:将file压缩成file.zip 要先指定压缩后的文件名,原文件不消失
格式:zip [option] file.zip file ...
用法:
zip file.zip file1 file2 ... :压缩多个文,需要zip包
[root@localhost ~]# zip 1.zip 1.txt.bak package-lock.json
adding: 1.txt.bak (stored 0%)
adding: package-lock.json (deflated 25%)
[root@localhost ~]# ls
1.txt.bak 1.zip anaconda-ks.cfg package-lock.json
[root@localhost ~]# zip 1.zip 1.txt.bak package-lock.json /tmp
updating: 1.txt.bak (stored 0%)
updating: package-lock.json (deflated 25%)
adding: tmp/ (stored 0%)
[root@localhost ~]# zip 1.zip 1.txt.bak package-lock.json -r /tmp
updating: 1.txt.bak (stored 0%)
updating: package-lock.json (deflated 25%)
updating: tmp/ (stored 0%)
adding: tmp/systemd-private-1e6af59335334f7b9a1c91d0da27c0b7-chronyd.service-ezp86P/ (stored 0%)
adding: tmp/systemd-private-1e6af59335334f7b9a1c91d0da27c0b7-chronyd.service-ezp86P/tmp/ (stored 0%)
unzip
命令:
介绍 :解压后会提示是否替换原文件,需要unzip包
格式:unzip [option] dir.zip
用法:
[root@localhost ~]# unzip 1.zip
Archive: 1.zip
replace 1.txt.bak? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
extracting: 1.txt.bak
replace package-lock.json? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
inflating: package-lock.json
creating: tmp/systemd-private-1e6af59335334f7b9a1c91d0da27c0b7-chronyd.service-ezp86P/
creating: tmp/systemd-private-1e6af59335334f7b9a1c91d0da27c0b7-chronyd.service-ezp86P/tmp/
[root@localhost ~]# unzip 1.zip -d /tmp
Archive: 1.zip
extracting: /tmp/1.txt.bak
inflating: /tmp/package-lock.json
creating: /tmp/tmp/systemd-private-1e6af59335334f7b9a1c91d0da27c0b7-chronyd.service-ezp86P/
creating: /tmp/tmp/systemd-private-1e6af59335334f7b9a1c91d0da27c0b7-chronyd.service-ezp86P/tmp
xz
命令:
用法:
xzcat
查看.xz的压缩文件
[root@localhost ~]# xz 1.txt.bak
[root@localhost ~]# ls
1.txt.bak.xz 1.zip anaconda-ks.cfg package-lock.json tmp
[root@localhost ~]# xzcat 1.txt.bak.xz
123
[root@localhost ~]# xz -d 1.txt.bak.xz
[root@localhost ~]# ls
1.txt.bak 1.zip anaconda-ks.cfg package-lock.json tmp
文件打包
tar
命令:
介绍:打包工具
格式:tar [option] xx.tar filename ...
用法:
-f :
使用存档文件或设备存档, tar -cvf 1.tar 111 222 333 :将多个文件打包,原文件不消失
--exclude file1 [--exclude file2]:打包目录时过滤文件
-z :gzip 方式压缩,也是默认压缩方式,-zcvf 1.tar.gz 111 222:打包并压缩为gz文件
-j :bzip2方式压缩 ,-jcvf 1.tar.bz2 111 222 :打包并压缩为bz2文件 ,-jxvf 解压包 ,-tf 查看包
-J:xz 方式压缩,-Jcvf 1.tar.xz 111 222 :打包并压缩为xz文件 ,-Jxvf 解压包 ,-tJf 查看包
[root@localhost ~]# ls
1.txt 2.txt 3.txt anaconda-ks.cfg
[root@localhost ~]# tar -cvf 1.tar.gz 1.txt 2.txt --exclude 3.txt
1.txt
2.txt
[root@localhost ~]# tar -tf 1.tar.gz
1.txt
2.txt
[root@localhost ~]# tar -xvf 1.tar.gz
1.txt
2.txt
[root@localhost ~]# ls
1.tar.gz 1.txt 2.txt 3.txt anaconda-ks.cfg
[root@localhost ~]# tar -jcvf 1.tar.bz2 1.txt 2.txt 3.txt
1.txt
2.txt
3.txt
[root@localhost ~]# ls
1.tar.bz2 1.tar.gz 1.txt 2.txt 3.txt anaconda-ks.cfg
[root@localhost ~]# tar -Jcvf 1.tar.xz 1.txt 2.txt 3.txt
1.txt
2.txt
3.txt
[root@localhost ~]# ls
1.tar.bz2 1.tar.gz 1.tar.xz 1.txt 2.txt 3.txt anaconda-ks.cfg