文件压缩解压
打包:是将多个文件变成一个总的文件,它的学名叫存档、归档。
- 压缩:是将一个大文件(通常指归档)压缩变成一个小文件。
我们常常使用 tar 将多个文件归档为一个总的文件,称为 archive 。然后用 gzip 或 bzip2 命令将 archive 压缩为更小的文件。
tar
创建一个 tar 归档。
tar -cvf 打包后的文件夹名.tar 要打包的文件
[root@localhost home]# cd 203312032134/
[root@localhost 203312032134]# touch a.txt
[root@localhost 203312032134]# touch b.txt
[root@localhost 203312032134]# touch c.txt
[root@localhost 203312032134]# tar -cvf 2135.tar *.txt
a.txt
b.txt
c.txt
[root@localhost 203312032134]# ls
2135.tar a.txt b.txt c.txt
[root@localhost 203312032134]#
常用参数
-cvf 表示 create(创建)+ verbose(细节)+ file(文件),创建归档文件并显示操作细节;
tar -cvf 2135.tar *.txt
[root@localhost 203312032134]# tar -cvf 2135.tar *.txt
a.txt
b.txt
c.txt
-tf 显示归档里的内容,并不解开归档;
tar -tf 2135.tar
[root@localhost 203312032134]# tar -tf 2135.tar
a.txt
b.txt
c.txt
[root@localhost 203312032134]#
-rvf 追加文件到归档
tar -rvf 2135.tar d.txt
[root@localhost 203312032134]# touch d.txt
[root@localhost 203312032134]# tar -rvf 2135.tar d.txt
d.txt
[root@localhost 203312032134]# tar -tf 2135.tar
a.txt
b.txt
c.txt
d.txt
-xvf 解开归档
tar -xvf 2135.tar
[root@localhost 203312032134]# ls
2135.tar a.txt b.txt c.txt d.txt
[root@localhost 203312032134]# rm *.txt
rm: remove regular empty file ‘a.txt’? y
rm: remove regular empty file ‘b.txt’? y
rm: remove regular empty file ‘c.txt’? y
rm: remove regular empty file ‘d.txt’? y
[root@localhost 203312032134]# ls
2135.tar
[root@localhost 203312032134]# tar -xvf 2135.tar
a.txt
b.txt
c.txt
d.txt
[root@localhost 203312032134]# ls
2135.tar a.txt b.txt c.txt d.txt
[root@localhost 203312032134]#
gzip / gunzip
“压缩/解压”归档,默认用 gzip 命令,压缩后的文件后缀名为 .tar.gz 。
gzip 2135.tar
[root@localhost 203312032134]# gzip 2135.tar
[root@localhost 203312032134]# ls
2135.tar.gz a.txt b.txt c.txt d.txt
tar 归档+压缩
可以用 tar 命令同时完成归档和压缩的操作,就是给 tar 命令多加一个选项参数,使之完成归档操作后,还是调用 gzip 或 bzip2 命令来完成压缩操作。
tar -zcvf 2142.tar.gz *.txt 压缩
[root@localhost 203312032134]# tar -zcvf 2142.tar.gz *.txt
a.txt
b.txt
c.txt
d.txt
[root@localhost 203312032134]# ls
2135.tar.gz 2142.tar.gz a.txt b.txt c.txt d.txt
tar -zxvf 2142.tar.gz 解压
[root@localhost 203312032134]# ls
2135.tar.gz 2142.tar.gz a.txt b.txt c.txt d.txt
[root@localhost 203312032134]# rm -f *.txt
[root@localhost 203312032134]# ls
2135.tar.gz 2142.tar.gz
[root@localhost 203312032134]# tar -zxvf 2142.tar.gz
a.txt
b.txt
c.txt
d.txt
[root@localhost 203312032134]# ls
2135.tar.gz 2142.tar.gz a.txt b.txt c.txt d.txt
zcat、zless、zmore
压缩文件的内容使用 zcat、zless、zmore 进行查看。
zip/unzip
安装方式
yum install zip
yum install unzip
zip 压缩后的文件名.zip 想要压缩的目标文件
unzip 想要解压的文件夹
[root@localhost 203312032134]# zip 1.zip *.txt
adding: a.txt (stored 0%)
adding: b.txt (stored 0%)
adding: c.txt (stored 0%)
adding: d.txt (stored 0%)
[root@localhost 203312032134]# ls
1.zip a.txt b.txt c.txt d.txt
[root@localhost 203312032134]# rm -f *.txt
[root@localhost 203312032134]# unzip 1.zip
Archive: 1.zip
extracting: a.txt
extracting: b.txt
extracting: c.txt
extracting: d.txt
[root@localhost 203312032134]# ls
1.zip a.txt b.txt c.txt d.txt
[root@localhost 203312032134]#