《Linux Shell脚本攻略》 笔记
第六章:打包压缩
//1、打包、解包
[root@localhost program_test]# tar -cf output.tar 11.txt 22.txt 33.txt
[root@localhost program_test]# tar -xf output.tar -C ./tar-file/ //-C指定要提取到哪个路径?
//列举出归档文件中的内容
[root@localhost program_test]# tar -tvf output2.tar
-rw-rw-r-- yy/yy 101843 2014-12-18 07:40 33.txt
drwxrwxr-x yy/yy 0 2014-12-31 18:11 abc/
-rw-rw-r-- yy/yy 0 2014-12-31 18:11 abc/def
//
[root@localhost program_test]# tar -tf output.tar
11.txt
22.txt
33.txt
33.txt
abc/
abc/def
//删除给定归档文件中的文件
[root@localhost program_test]# tar -f output.tar --delete 33.txt
[root@localhost program_test]# tar -tf output.tar
11.txt
22.txt
abc/
abc/def
2、压缩
//批量打包和压缩的实现
[root@localhost touch_more]# cat gzip_all_files.sh
#!/bin/bash
textfiles=`ls | grep ".txt" | xargs`
echo $textfiles
for textfile in $textfiles;
do
tar -rvf archive.tar $textfile //以追加的形式打包文件.
done
gzip archive.tar
//压缩归档文件
//解压缩 -x提取文件; -z采用gzip样式.
[root@localhost touch_more]# tar -zxvf archive.tar.gz -C ./test_unzip/