6月22日任務linux
6.1 壓縮打包介紹工具
6.2 gzip壓縮工具ip
6.3 bzip2壓縮工具 sed
6.4 xz壓縮工具打包
6.1 壓縮打包介紹:file
linux中常見的一些壓縮文件gzip
.zip .gz .bz2 .xz .tar .gz .tar .bz2 .tar.xz文件
創建一些文件的時候,要把文件的後綴名設置成該格式的後綴名sse
-----------------------------------------------------------------------------------------------------------------------------------------co
6.2 gzip壓縮工具:
gzip壓縮有9個級別,gzip -1 可設置級別,通常默認就好(6級別)
壓縮的級別越高越佔CPU
不可壓縮目錄
gzip file 可直接壓縮
gzip -d file 可解壓縮
gunzip file 也可解壓縮
gzip -c 1.txt > /tmp/1.txt.gz 可指定壓縮到這個目錄下,並且原文件不消失
gzip -d -c /tmp/1.txt.gz > /tmp/d6z/2.txt 可指定解壓到這個目錄下,並且源文件不消失,可更名字
對於壓縮文件,能夠用
file 來查看信息 例如file 1.txt.gz
zcat 可列出內容
實例:
咱們先輸出一個大的文件
find /etc -type f -name "*conf" -exec cat {} >> 1.txt \; 反覆幾回直至他變大
開始壓縮
[root@aminglinux-01 d6z]# du -sh 1.txt
1.9M 1.txt 可看他當前爲1.9M
[root@aminglinux-01 d6z]# wc -l 1.txt
48624 1.txt 48624行
[root@aminglinux-01 d6z]# gzip 1.txt 開始壓縮
[root@aminglinux-01 d6z]# du -sh 1.txt 再次查看
du: 沒法訪問"1.txt": 沒有那個文件或目錄 發現沒有那個文件,其實已經壓縮後自動更名爲後綴
[root@aminglinux-01 d6z]# ls
1.txt.gz 後綴自動加上.gz
[root@aminglinux-01 d6z]# du -sh 1.txt.gz
496K 1.txt.gz 能夠看到以壓縮成功
那再來解壓
[root@aminglinux-01 d6z]# gzip -d 1.txt.gz 開始解壓
[root@aminglinux-01 d6z]# ls 查看
1.txt 已自動更改回後綴名
[root@aminglinux-01 d6z]# du -sh 1.txt 看一下大小
1.9M 1.txt 和原先同樣
[root@aminglinux-01 d6z]# wc -l 1.txt 再看一下行數
48624 1.txt 和原先同樣
來指定壓縮和解壓
[root@aminglinux-01 d6z]# gzip -c 1.txt > /tmp/1.txt.gz 指定壓縮位置
[root@aminglinux-01 d6z]# ls 看下源文件確有
1.txt
[root@aminglinux-01 d6z]# ls /tmp/1.txt.gz 看下壓縮文件確有
/tmp/1.txt.gz 而且在指定目錄下
[root@aminglinux-01 d6z]# gzip -d -c /tmp/1.txt.gz > /tmp/d6z/2.txt 指定解壓文件到改目錄下
[root@aminglinux-01 d6z]# ls 看一下,兩個文件都在
1.txt 2.txt
[root@aminglinux-01 d6z]# wc -l *.txt 行數跟以前是同樣的
48624 1.txt
48624 2.txt
97248 總用量
[root@aminglinux-01 d6z]# du -sh *.txt 大小也是同樣的
1.9M 1.txt
1.9M 2.txt
---------------------------------------------------------------------------------------------------------------------------------------
6.3 bzip2壓縮工具 :
bzip2 比gzip壓縮的更狠一下
不支持壓縮目錄
bzip2默認壓縮級別就是9,因此咱們也不須要指定
bzip2 1.txt 可直接壓縮
bzip2 -d 1.txt 可直接解壓解壓
bunzip2 1.txt 也可解壓
bzip2 -c 1.txt > /tmp/1.txt.bz2 壓縮到指定目錄下,並保留原來的文件
bzip2 -d -c /tmp/1.txt.bz2 > 3.txt 指定解壓目錄,並保留原來的文件
bzcat 1.txt 可列出壓縮文件的內容
實例:
壓縮文件:
[root@aminglinux-01 tmp]# du -sh 1.txt 查看大小
1.9M 1.txt
[root@aminglinux-01 tmp]# wc -l 1.txt 查看行數
48624 1.txt
[root@aminglinux-01 tmp]# bzip2 1.txt 開始壓縮
[root@aminglinux-01 tmp]# du -sh 1.txt.bz2 壓縮後同樣會自動修改後綴名
188K 1.txt.bz2 壓縮的更狠
[root@aminglinux-01 tmp]# bzip2 -d 1.txt.bz2 開始解壓
[root@aminglinux-01 tmp]# du -sh 1.txt 查看大小
1.9M 1.txt
[root@aminglinux-01 tmp]# wc -l 1.txt 查看行數
48624 1.txt
壓縮和解壓指定目錄:
[root@aminglinux-01 tmp]# bzip2 -c /tmp/1.txt > /tmp/d6z/2.txt.bz2 指定壓縮目錄,並修更名字
[root@aminglinux-01 tmp]# du -sh !$ 查看大小
du -sh /tmp/d6z/2.txt.bz2
156K /tmp/d6z/2.txt.bz2
[root@aminglinux-01 tmp]# du -sh 1.txt 查看原始文件大小
1.4M 1.txt
[root@aminglinux-01 tmp]# wc -l 1.txt 查看原始文件行數
36468 1.txt
[root@aminglinux-01 tmp]# file !$ 查看要鎖文件是否壓縮成功
file /tmp/d6z/2.txt.bz2
/tmp/d6z/2.txt: bzip2 compressed data, block size = 900k 成功
[root@aminglinux-01 tmp]# bzip2 -d -c /tmp/d6z/2.txt.bz2 > /tmp/2.txt 指定解壓目錄
[root@aminglinux-01 tmp]# du -sh 2.txt 查看大小
1.4M 2.txt
[root@aminglinux-01 tmp]# wc -l 2.txt 查看行數
36468 2.txt
---------------------------------------------------------------------------------------------------------------------------------------
6.4 xz壓縮工具:
xz比bzip2壓縮的還要狠一下
一樣支持1-9的壓縮級別
不支持壓縮目錄
xz 1.txt 壓縮文件
xz -d 解壓文件
unxz 也可解壓
xz -c 1.txt > /tmp/1.txt.xz 指定壓縮目錄,並保留原來的文件
xz -d -c /tmp/1.txt.xz > /tmp/d6z/1.txt 指定解壓目錄,並保留原來的文件
xzcat 可列出這個壓縮文件
實例:
壓縮
[root@aminglinux-01 d6z]# xz 2.txt.out
[root@aminglinux-01 d6z]# ls
2.txt.out.xz
[root@aminglinux-01 d6z]# du -sh 2.txt.out.xz
56K 2.txt.out.xz
[root@aminglinux-01 d6z]# xz -d 2.txt.out.xz
[root@aminglinux-01 d6z]# du -sh 2.txt.out
1.4M 2.txt.out
指定壓縮和解壓目錄:
[root@aminglinux-01 d6z]# xz -c /tmp/2.txt > /tmp/d6z/2.txt.xz
[root@aminglinux-01 d6z]# ls !$
ls /tmp/d6z/2.txt.xz
/tmp/d6z/2.txt.xz
[root@aminglinux-01 d6z]# du -sh !$
du -sh /tmp/d6z/2.txt.xz
56K /tmp/d6z/2.txt.xz
[root@aminglinux-01 d6z]# xz -d -c /tmp/d6z/2.txt.xz > /tmp/3.txt
[root@aminglinux-01 d6z]# du -sh !$
du -sh /tmp/3.txt
1.4M /tmp/3.txt