20181008 zip壓縮工具、tar打包、打包並壓縮

zip壓縮工具

  • 支持壓縮目錄
  • 壓縮後不刪除源文件/目錄
  • 安裝: yum install -y zip
[root@centos01 d6]# zip 1.txt.zip 1.txt # 壓縮1.txt爲1.txt.zip
  adding: 1.txt (deflated 73%)

[root@centos01 d6]# zip -r test_dir.zip 1.txt test_dir/  # 壓縮目錄test_dir、文件1.txt到test_dir.zip
  adding: 1.txt (deflated 73%)
  adding: test_dir/ (stored 0%)
  adding: test_dir/1.cp2.txt (deflated 73%)
  adding: test_dir/1.txt (deflated 73%)
  adding: test_dir/test.txt (stored 0%)
[root@centos01 d6]# du -sh test_dir.zip
1.1M    test_dir.zip

unzip解壓縮

  • 安裝: yum install -y unzip
[root@centos01 tmp]# unzip d6/test_dir.zip -d test_dir_cp 
# 把d6/test_dir.zip解壓到目錄test_dir_cp
Archive:  d6/test_dir.zip
  inflating: test_dir_cp/1.txt
   creating: test_dir_cp/test_dir/
  inflating: test_dir_cp/test_dir/1.cp2.txt
  inflating: test_dir_cp/test_dir/1.txt
 extracting: test_dir_cp/test_dir/test.txt

[root@centos01 tmp]# unzip -l d6/test_dir.zip  # 查看zip壓縮包中的文件列表
Archive:  d6/test_dir.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
  1361328  09-30-2018 07:38   1.txt
        0  10-02-2018 23:07   test_dir/
  1361328  10-02-2018 22:57   test_dir/1.cp2.txt
  1361328  10-02-2018 22:57   test_dir/1.txt
        0  10-02-2018 23:07   test_dir/test.txt
---------                     -------
  4083984                     5 files

tar 打包工具

[root@centos01 d6]# tar -cvf test_dir.tar test_dir # 將目錄test_dir打包爲test_dir.tar
test_dir/
test_dir/1.cp2.txt
test_dir/1.txt
test_dir/test.txt
[root@centos01 d6]# tar -cf test_dir.tar test_dir # 打包過程不可視化

[root@centos01 d6]# tar -xvf test_dir.tar  # 解包,覆蓋時不會提示
test_dir/
test_dir/1.cp2.txt
test_dir/1.txt
test_dir/test.txt

[root@centos01 d6]# tar -cvf test_dir.tar test_dir 2.cp.txt 1.txt #t同時打包目錄與文件
test_dir/
test_dir/1.cp2.txt
test_dir/1.txt
test_dir/test.txt
2.cp.txt
1.txt

[root@centos01 d6]# tar -tf test_dir.tar  # 列出包的內容
test_dir/
test_dir/1.cp2.txt
test_dir/1.txt
test_dir/test.txt
2.cp.txt
1.txt

[root@centos01 d6]# tar -cvf test_dir.tar test_dir --exclude 1.txt  
# 打包時要過濾的目錄或文件
test_dir/
test_dir/1.cp2.txt
test_dir/test.txt
[root@centos01 d6]# ls test_dir
1.cp2.txt  1.txt  test.txt

[root@centos01 d6]# tar -cvf test_dir.tar test_dir --exclude "test.*" 
# 過濾名字是test.開頭的文件或目錄
test_dir/
test_dir/1.cp2.txt
test_dir/1.txt

打包並壓縮

  • tar -zcvf # 打包時支持gzip壓縮
  • tar -jcvf # 打包時支持bz2壓縮
  • tar -Jcvf # 打包時支持xz壓縮
[root@centos01 d6]# tar -zcvf test_dir.tar.gz test_dir 1.txt
test_dir/
test_dir/1.cp2.txt
test_dir/1.txt
test_dir/test.txt
1.txt
[root@centos01 d6]# tar -jcvf test_dir.tar.bz2 test_dir 1.txt
test_dir/
test_dir/1.cp2.txt
test_dir/1.txt
test_dir/test.txt
1.txt
[root@centos01 d6]# tar -Jcvf test_dir.tar.xz test_dir 1.txt
test_dir/
test_dir/1.cp2.txt
test_dir/1.txt
test_dir/test.txt
1.txt
[root@centos01 d6]# du -sh test_dir.tar.*
384K    test_dir.tar.bz2
1.1M    test_dir.tar.gz
56K     test_dir.tar.xz
相關文章
相關標籤/搜索