四周第五次課(3月2日)
6.6 tar打包
6.7 打包並壓縮
6.5 zip壓縮工具
zip壓縮工具支持壓縮目錄。
開始zip之前做一下準備工作
首先將/tmp/aminglinux cp到/tmp/d6z下
# cd /tmp/d6z
# cp -r /tmp/aminglinux/ .
# tree aminglinux/
aminglinux/
├── 2
│ ├── 2.txt
│ └── 4.txt
└── aming2
├── 2
│ └── 2.txt
└── aming1
├── 2
│ └── 2.txt
└── aminglinux
└── 2
cp /d6z的4.txt到/aminglinux/2/,然後#du -sh 查看大小
# cp 4.txt aminglinux/2/
# du -sh aminglinux/
1.4M aminglinux/
zip壓縮使用
用法 zip 壓縮後的名稱 需要壓縮的文件或目錄
壓縮文件
# zip 2.txt.zip 2.txt
adding: 2.txt (deflated 74%)
zip壓縮大小,取決於文件內容多余少。壓縮率相對gzip,bzip2,xz來說比較中肯。
壓縮目錄加-r (此處因為還有文件,所以也添加上3.txt。)
# zip -r aming.zip 3.txt aminglinux/
adding: 3.txt (deflated 74%)
adding: aminglinux/ (stored 0%)
adding: aminglinux/2/ (stored 0%)
adding: aminglinux/2/2.txt (stored 0%)
adding: aminglinux/2/4.txt (deflated 74%)
adding: aminglinux/aming2/ (stored 0%)
adding: aminglinux/aming2/aming1/ (stored 0%)
adding: aminglinux/aming2/aming1/2/ (stored 0%)
adding: aminglinux/aming2/aming1/2/2.txt (stored 0%)
adding: aminglinux/aming2/aming1/aminglinux/ (stored 0%)
adding: aminglinux/aming2/aming1/aminglinux/2/ (stored 0%)
adding: aminglinux/aming2/aming1/aminglinux/2/2.txt (stored 0%)
adding: aminglinux/aming2/2/ (stored 0%)
adding: aminglinux/aming2/2/2.txt (stored 0%)
zip壓縮不刪除壓縮前的文件
# du -sh aming.zip
748K aming.zip
解壓縮:因為zip壓縮沒有把原文件刪除,所以,解壓當前位置時會有覆蓋動作沖突,具體選項根據實際情況來操作。
# unzip aming.zip
Archive: aming.zip
replace 3.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
inflating: 3.txt
extracting: aminglinux/2/2.txt
inflating: aminglinux/2/4.txt
extracting: aminglinux/aming2/aming1/2/2.txt
extracting: aminglinux/aming2/aming1/aminglinux/2/2.txt
extracting: aminglinux/aming2/2/2.txt
指定解壓位置 -d
# unzip 2.txt.zip -d test/
Archive: 2.txt.zip
inflating: test/2.txt
(unzip後面帶zip壓縮文件 -d 指定位置 test/代表/d6z/test/。一般當前目錄下是用./test或者 test/表示)
壓縮之前的文件名跟壓縮之後的文件名是一樣的,不能修改。
查看壓縮包的文件列表。(看不到文件內容)
#unzip -l aming.zip
6.6 tar打包
介紹
tar打包工具
打包目的:打包後的文件傳送會比較整齊和快捷。
例如要傳送100M的文件,裏面有幾千個文件,直接傳輸的話會很費時間,但是如果打包後,傳送會省時省時。
關於tar選項
-z 表示同時用gzip壓縮
-j 表示同時用bzip2壓縮
-J 表示同時用xz壓縮
-x 表示解包或者解壓縮
-t 表示查看tar包裏的文件
-c 表示建立一個tar包或者壓縮文件包
-v 表示可視化
-f 後面跟文件名(即-f filename ,註意:多個組合選項下 -f最好 放到最後)
--exclude filename 表示打包或者壓縮時,過濾filename的文件或 目錄,不打包filename。(排除,過濾用法)
將/aminglinux的文件和目錄打包,並創建且命名為aminglinux.tar的tar打包文件(-v是可視化,可以看到進度)
# tar -cvf aminglinux.tar aminglinux/
aminglinux/
aminglinux/2/
aminglinux/2/2.txt
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/aming1/
aminglinux/aming2/aming1/2/
aminglinux/aming2/aming1/2/2.txt
aminglinux/aming2/aming1/aminglinux/
aminglinux/aming2/aming1/aminglinux/2/
aminglinux/aming2/aming1/aminglinux/2/2.txt
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
如果重復已存在打包,不會提示任何信息,會直接覆蓋且再打包。
解tar包
# tar -xvf aminglinux.tar
aminglinux/
aminglinux/2/
aminglinux/2/2.txt
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/aming1/
aminglinux/aming2/aming1/2/
aminglinux/aming2/aming1/2/2.txt
aminglinux/aming2/aming1/aminglinux/
aminglinux/aming2/aming1/aminglinux/2/
aminglinux/aming2/aming1/aminglinux/2/2.txt
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
tar可以同時打包目錄和文件
# tar -cvf aminglinux.tar aminglinux/ 3.txt 4.txt
aminglinux/
aminglinux/2/
aminglinux/2/2.txt
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/aming1/
aminglinux/aming2/aming1/2/
aminglinux/aming2/aming1/2/2.txt
aminglinux/aming2/aming1/aminglinux/
aminglinux/aming2/aming1/aminglinux/2/
aminglinux/aming2/aming1/aminglinux/2/2.txt
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
3.txt
4.txt
--exclude 過濾用法
--exclude aming1
[root@centos7 d6z]# tar -cvf aminglinux.tar --exclude aming1 aminglinux/ 3.txt 4.txt
aminglinux/
aminglinux/2/
aminglinux/2/2.txt
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
3.txt
4.txt
--exclude aming1 --exclude 2.txt 多重過濾命令
[root@centos7 d6z]# tar -cvf aminglinux.tar --exclude aming1 --exclude 2.txt aminglinux/ 3.txt 4.txt
aminglinux/
aminglinux/2/
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/2/
3.txt
4.txt
--exclude aming1 --exclude "*.txt" 多重過濾,支持*.txt過濾,註意加""
[root@centos7 d6z]# tar -cvf aminglinux.tar --exclude aming1 --exclude "*.txt" aminglinux/ 3.txt 4.txt
aminglinux/
aminglinux/2/
aminglinux/aming2/
aminglinux/aming2/2/
6.7 打包並壓縮
介紹
tar打包並壓縮
gzip用法
[root@centos7 d6z]# tar -czvf aminglinux.tar.gz aminglinux 3.txt
4.txt
aminglinux/
aminglinux/2/
aminglinux/2/2.txt
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/aming1/
aminglinux/aming2/aming1/2/
aminglinux/aming2/aming1/2/2.txt
aminglinux/aming2/aming1/aminglinux/
aminglinux/aming2/aming1/aminglinux/2/
aminglinux/aming2/aming1/aminglinux/2/2.txt
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
3.txt
4.txt
[root@centos7 d6z]# du -sh aminglinux.tar.gz
1.1M aminglinux.tar.gz
bz2用法
[root@centos7 d6z]# tar -cjvf aminglinux.tar.bz2 aminglinux 3.txt
4.txt
aminglinux/
aminglinux/2/
aminglinux/2/2.txt
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/aming1/
aminglinux/aming2/aming1/2/
aminglinux/aming2/aming1/2/2.txt
aminglinux/aming2/aming1/aminglinux/
aminglinux/aming2/aming1/aminglinux/2/
aminglinux/aming2/aming1/aminglinux/2/2.txt
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
3.txt
4.txt
[root@centos7 d6z]# du -sh aminglinux.tar.bz2
408K aminglinux.tar.bz2
xz用法
[root@centos7 d6z]# tar -cJvf aminglinux.tar.xz aminglinux 3.txt
4.txt
aminglinux/
aminglinux/2/
aminglinux/2/2.txt
aminglinux/2/4.txt
aminglinux/aming2/
aminglinux/aming2/aming1/
aminglinux/aming2/aming1/2/
aminglinux/aming2/aming1/2/2.txt
aminglinux/aming2/aming1/aminglinux/
aminglinux/aming2/aming1/aminglinux/2/
aminglinux/aming2/aming1/aminglinux/2/2.txt
aminglinux/aming2/2/
aminglinux/aming2/2/2.txt
3.txt
4.txt
[root@centos7 d6z]# du -sh aminglinux.tar.xz
60K aminglinux.tar.xz
壓縮得越狠,時間越慢。
解壓縮 -c改成-x
例如# tar -zxvf aminglinux.tar.gz 解壓aminglinux.tar.gz
查看文件列表 #tar -tf
#tar -tf aminglinux.tar.gz
四周第五次課(3月2日)