tar命令 ---- 主要用来打包和压缩(解压缩)文件。
只说说常用的吧,参数太多了,也记不住,有些也不常用。
1)gz和bz2是两种常见的压缩文件的格式,后缀是gz的表示gzip文件,后缀是bz2的表示bzip2文件
2)压缩常用: - c 你可以理解为create是创建压缩文件,也可以理解为compress是压缩文件
- v 表示显示出压缩或解压的过程(verbose)
- z 表示指定压缩后的文件格式是gz格式
- j 表示指定压缩后的文件格式是bz2格式
-J 表示指定压缩后的文件格式是xz格式
下面就小试牛刀了:
apuser@kdv:tar$ ls
apuser@kdv:tar$ touch my.txt
apuser@kdv:tar$ tar -cf my.tar my.txt
apuser@kdv:tar$ ls -al
total 20
drwxr-xr-x 2 root kdvmt 4096 2021-03-03 17:52 .
drwxr-xr-x 5 root kdvmt 4096 2021-03-03 17:51 ..
-rw-r--r-- 1 root kdvmt 10240 2021-03-03 17:52 my.tar
-rw-r--r-- 1 root kdvmt 0 2021-03-03 17:52 my.txt
----1)压缩为tar.gz包
apuser@kdv:tar$ tar -czf 1.tar.gz my.txt
apueer@kdv:tar$ ls
1.tar.gz my.tar my.txt
apuser@kdv:tar$ tar -xzf 1.tar.gz -C ../
----2)压缩为tar.bz2包
apuser@kdv:tar$ tar -cjf 2.tar.bz2 my.txt
apuser@kdv:tar$ ls
1.tar.gz 2.tar.bz2 my.tar my.txt
----3)压缩为tar.xz包
apuser@kdv:tar$ tar -cJf 3.tar.xz my.txt
apuser@kdv:tar$ ls
1.tar.gz 2.tar.bz2 3.tar.xz my.tar my.txt
里面没有用-v,下面展示一下带有参数-v和只打包不压缩的过程:
apuser@pc:~/share$ tar -cvf three.tar 123.txt
123.txt
apuser@pc:~/share$ ls
123.txt global.tcl one.tar.gz three.tar two.tar.bz2
apuser@pc:~/share$ tar -czvf 4.tar.gz 123.txt global.tcl
123.txt
global.tcl
apuser@pc:~/share$ ls
123.txt 4.tar.gz global.tcl one.tar.gz three.tar two.tar.bz2
因为只是一个文件,所以打包的过程中列表就只有一个,若是两个文件,列表里就有两个,以此类推。
我们常常打包的是一个文件夹,所以-v会显示打包的细节,但是可能会很长,可以酌情使用。
3)解压常用: - x 解开一个压缩文件
- z 对应gz压缩文件
- j 对应bz2压缩文件
- v 显示解压过程
-C 改变路径,多数只解压后重新存放的位置(change directory)
----1)mkdir新建一个文件夹one,将one.tar.gz解压到one文件夹中。
apuser@pc:~/share$ mkdir one
apuser@pc:~/share$ ls
123.txt 4.tar.gz global.tcl one one.tar.gz three.tar two.tar.bz2
apuser@pc:~/share$ cd one
apuser@pc:~/share/one$ tar -xzf ../one.tar.gz
apuser@pc:~/share/one$ ls
123.txt
----2)新建文件夹two,将two.tar.bz2解压到two文件夹中。
apuser@pc:~/share/one$ cd ..
apuser@pc:~/share$ mkdir two
apuser@pc:~/share$ ls
123.txt 4.tar.gz global.tcl one one.tar.gz three.tar two two.tar.bz2
apuser@pc:~/share$ cd two
apuser@pc:~/share/two$ tar -xjvf ../two.tar.bz2
123.txt
apuser@pc:~/share/two$ ls
123.txt
/usr/bin/font # ls
ttf.tar.gz
/usr/bin/font # tar -xzvf ttf.tar.gz /usr/font/
tar: /usr/font: not found in archive
/usr/bin/font # tar -xzvf ttf.tar.gz -C /usr/font/
KDVUNI.TTF
----3)新建文件夹4,将4.tar.gz解压到名为4的文件夹中。
apuser@pc:~/share/two$ cd ..
apuser@pc:~/share$ mkdir 4
apuser@pc:~/share$ ls
123.txt 4 4.tar.gz global.tcl one one.tar.gz three.tar two two.tar.bz2
apuser@pc:~/share$ cd 4
apuser@pc:~/share/4$ tar -xzvf ../4.tar.gz
123.txt
global.tcl
---- 4)其他常用参数
-t 查看压缩包里的文件,比较重要,当你不想解压时,你想看到压缩包里都有哪些文件。
-p 使用文件的原来属性
apuser@pc:~/share$ ls
123.txt 4 4.tar.gz global.tcl one one.tar.gz three.tar two two.tar.bz2
apuser@pc:~/share$ tar -tf three.tar
123.txt
apuser@pc:~/share$ tar -ztf one.tar.gz
123.txt
apuser@pc:~/share$ tar -ztf 4.tar.gz
123.txt
global.tcl
apuser@pc:~/share$ tar -jtf two.tar.bz2
123.txt
---- gzip的压缩和解压
gzip: 压缩和解压缩
-c : compress,如果不加重定向符号,会将压缩的内容输出到标准输出
-d:(decompress)解压缩
-v :(verbose)可以显示出原文件/压缩文件的压缩比等信息
-(1,2,...,9):压缩等级,1最快,但是压缩比最差;9最慢,但是压缩比最好,默认是6。
apuser@kdv:gzip$ ls
1.txt
apuser@kdv:gzip$ gzip -c 1.txt > 1.gz
apuser@kdv:gzip$ ls
1.gz 1.txt
apuser@kdv:gzip$ gzip -v 1.txt
1.txt: -9.5% -- replaced with 1.txt.gz
apuser@kdv:gzip$ ls
1.gz 1.txt.gz
apuser@kdv:gzip$ gzip -d 1.txt.gz
apuser@kdv:gzip$ ls
1.gz 1.txt