Linux压缩命令实用版

一 打包命令tar
tar -cvf 打包文件名 源文件
选项:
-c:打包
-v:显示过程
-f:指定打包后的文件名
例如
tar -cvf abc.tar abc
tar -xvf 打包文件名
-x:解打包
例如
tar -xvf abc.tar
 
二 实战
[root@localhost test]# tar -cvf dirtest.tar dirtst
dirtst/
dirtst/ert
[root@localhost test]# ls
abc cdf dirtest.tar dirtst
[root@localhost test]# gzip dirtest.tar
[root@localhost test]# ls
abc cdf dirtest.tar.gz dirtst
[root@localhost test]# gzip -d dirtest.tar.gz
[root@localhost test]# ls
abc cdf dirtest.tar dirtst
[root@localhost test]# bzip2 dirtest.tar
[root@localhost test]# ls
abc cdf dirtest.tar.bz2 dirtst
[root@localhost test]# bzip2 -d dirtest.tar.bz2
[root@localhost test]# ls
abc cdf dirtest.tar dirtst
[root@localhost test]# rm -rf dirtst
[root@localhost test]# ls
abc cdf dirtest.tar
[root@localhost test]# tar -xvf dirtest.tar
dirtst/
dirtst/ert
[root@localhost test]# ls
abc cdf dirtest.tar dirtst
 
三 .tar.gz压缩格式和.tar.bz2格式
其实.tar.gz格式是先打包为.tar格式,再压缩成.gz格式
tar -zcvf 压缩包名.tar.gz 源文件
选项:
-z:压缩为.tar.gz格式
tar -zxvf 压缩包名.tar.gz
选项:
-x:解压缩.tar.gz格式
tar -jcvf 压缩包名.tar.bz2 源文件
选项:
-j:压缩为.tar.bz2格式
tar -jxvf 压缩包名.tar.bz2
选项:
-x:解压缩.tar.bz2格式
 
四 实战
[root@localhost test]# ls
abc cdf dirtst
[root@localhost test]# tar -zcvf dirtst.tar.gz dirtst
dirtst/
dirtst/ert
[root@localhost test]# ls
abc cdf dirtst dirtst.tar.gz
[root@localhost test]# rm -rf dirtst
[root@localhost test]# tar -zxvf dirtst.tar.gz
dirtst/
dirtst/ert
[root@localhost test]# ls
abc cdf dirtst dirtst.tar.gz
[root@localhost test]# tar -jcvf dirtst.tar.bz2 dirtst
dirtst/
dirtst/ert
[root@localhost test]# ls
abc cdf dirtst dirtst.tar.bz2 dirtst.tar.gz
[root@localhost test]# tar -jxvf dirtst.tar.bz2 -C /tmp
dirtst/
dirtst/ert
[root@localhost test]# ls /tmp
ab.soft qwert
cakin2425 systemd-private-6e910d9981134563a908c77bd50f6f7e-colord.service-LQ5tBA
dirtst systemd-private-6e910d9981134563a908c77bd50f6f7e-cups.service-XJLpHa
japan systemd-private-6e910d9981134563a908c77bd50f6f7e-rtkit-daemon.service-Lf9PxO
[root@localhost test]# ls
abc cdf dirtst
[root@localhost test]# tar -zcvf test.tar.gz abc dirtst
abc
dirtst/
dirtst/ert
[root@localhost test]# ls
abc cdf dirtst test.tar.gz
[root@localhost test]# tar -zcvf /tmp/test.tar.gz abc dirtst
abc
dirtst/
dirtst/ert
[root@localhost test]# ls /tmp
ab.soft systemd-private-6e910d9981134563a908c77bd50f6f7e-colord.service-LQ5tBA
cakin2425 systemd-private-6e910d9981134563a908c77bd50f6f7e-cups.service-XJLpHa
dirtst systemd-private-6e910d9981134563a908c77bd50f6f7e-rtkit-daemon.service-Lf9PxO
japan test.tar.gz
qwert
[root@localhost test]# cd /tmp
[root@localhost tmp]# tar -zxvf test.tar.gz
abc
dirtst/
dirtst/ert
[root@localhost tmp]# ls
abc dirtst systemd-private-6e910d9981134563a908c77bd50f6f7e-colord.service-LQ5tBA test.tar.gz
ab.soft japan systemd-private-6e910d9981134563a908c77bd50f6f7e-cups.service-XJLpHa
cakin2425 qwert systemd-private-6e910d9981134563a908c77bd50f6f7e-rtkit-daemon.service-Lf9PxO
[root@localhost tmp]# tar -ztvf test.tar.gz
-rw-r--r-- root/root 4 2017-07-15 07:52 abc
drwxr-xr-x root/root 0 2017-07-15 08:18 dirtst/
-rw-r--r-- root/root 0 2017-07-15 07:55 dirtst/ert
 
五 for循环实现解压缩
#!/bin/bash
 
cd /root/test/
ls *.tar.gz > ls.log
ls *.tgz >> ls.log
 
for i in $(cat ls.log)
do
tar -zxf $i &>/dev/null
done
rm -rf ls.log

猜你喜欢

转载自cakin24.iteye.com/blog/2393150
今日推荐