Linux下常用的10個文件壓縮工具
作者簡介
李先生(Lemon),高級運維工程師(自稱),SRE專家(目標),夢想在35歲買一輛保時捷。喜歡鉆研底層技術(shù),認為底層基礎(chǔ)才是王道。一切新技術(shù)都離不開操作系統(tǒng)(CPU、內(nèi)存、磁盤)、網(wǎng)絡(luò)等。堅持輸入輸出,記錄自己學(xué)習的點滴,在平凡中堅持前行,總有一天會遇見不一樣的自己。
一、前言
作為運維人員,經(jīng)常會遇到“小李啊,幫我取一下今天的日志”,因此在Linux服務(wù)器上壓縮包、解壓包是經(jīng)常的事情,但是就我個人而言,經(jīng)常會遇到很多不一樣的壓縮解壓工具,最常用的是tar。雖然經(jīng)常用,但是還是很多參數(shù)記不住,當然不用去記住每一個參數(shù),--help就行。在十萬火急的情況下,一個解壓還要去google一下,好像也不合理,因此記住常用的幾個還是有必要的,再同樣的技術(shù)水平情況下,那就只能比速度了。
二、Linux下最常用的壓縮工具
1、tar
1)壓縮
- tar -zcvf too.tar.gz too
2)解壓
- #.tar.gz
- tar -zxvf too.tar.gz
- #.tar.gz2
- tar -jxvf too.tar.gz2
3)排除某個目錄打包
把too目錄打包成too.tar.gz,除logs目錄;注這里的too/logs后面不能加/,如果加的話還是會打包進去。
- tar -czvf too.tar.gz --exclude=too/logs too
4)只打包某個目錄,而不是全部打包進去
加-C參數(shù), 這樣的話可以只打包api3.0 ,而不會從/usr開始一個一個目錄都打包進去
- tar -zcf api3.0_`date +%Y%m%d%H%M%S`.tar.gz -C /usr/local/tomcat/webapps api3.0
2、gzip
gzip工具是Linux中最流行、最快的文件壓縮工具,Gzip工具保留原始文件名稱壓縮文件的擴展名.gz和時間戳。
1)打包
- gzip filename
2)解壓
- gzip -d filename # 打包的文件會被刪除
3、bzip2
Bzip2實用程序執(zhí)行更快的gzip,它壓縮文件和文件夾更緊湊。壓縮文件時需要更多的內(nèi)存,為了減少內(nèi)存消耗,在選項中通過-s標志。
1)壓縮
- bzip2 examplefile or bzip2 -s examplefile
2)解壓
- bzip2 -d examplefile.bz2 or bunzip2 examplefile.bz2
3)詳細說明
- bzip2 -v examplefile
4、Lzma
Lzma是一種壓縮工具,與zip或tar類似,但與bzip相比,它的執(zhí)行速度更快,雖然lzma是一個強大的工具,但它在Linux用戶中并不流行。
1)壓縮
- lzma -c --stdout examplefile> examplefile.lzma
2)解壓
- lzma -d --stdout examplefile.lzma >examplefile
5、xz
XZ是lzma實用程序的繼承者,它只能壓縮單個文件,但不能在一個命令中壓縮多個文件,它將自動為壓縮文件添加.xz擴展名。
1)壓縮
- xz examplefile
2)解壓
- xz -d examplefile
6、pax
Pax它的執(zhí)行速度很快,而且它不僅僅是一個壓縮器,它可以真正的歸檔它可以遠程復(fù)制文件,在Ubuntu/Mint Linux中,默認情況下Pax沒有安裝。
1)壓縮
- pax -wf examplefile.tar examplefile
- pax -wf examplefile.tar.gz examplefile
2)解壓
- pax -r <examplefile.tar
3)查看壓縮包文件清單
- pax -f examplefile.tar
7、7zip
7Zip文件壓縮器是一個開源工具,它最初是為微軟Windows開發(fā)的,它支持多種文件壓縮格式和高文件壓縮,它可以用一個命令壓縮多個文件。
1)安裝7zip
- wget https://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/epel/7/x86_64/Packages/p/p7zip-16.02-10.el7.x86_64.rpm
- wget https://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/epel/7/x86_64/Packages/p/p7zip-plugins-16.02-10.el7.x86_64.rpm
- sudo rpm -U --quiet p7zip-16.02-10.el7.x86_64.rpm
- sudo rpm -U --quiet p7zip-plugins-16.02-10.el7.x86_64.rpm
2)壓縮
- 7z a examplefile.7z examplefile
3)解壓
- 7z a examplefile.7z examplefile
8、shar
Shar是一個命令行工具,可以用來壓縮測試文件,Shar可以定義為“shell archive”。一個簡單而快速的文件存檔實用程序?qū)τ讷@取shell腳本的存檔非常有用。
1)安裝shar工具
- yum -y install sharutils
2)壓縮
- shar examplefile > examplefile.shar
3)解壓
- unshar examplefile.shar
9、cpio
可以定義為復(fù)制輸入和輸出,它在輸入中逐行讀取文件名列表,在輸出中讀取歸檔文件。這是一個內(nèi)置的經(jīng)典命令。
1)壓縮
- ls | cpio -ov >/home/username/backup.cpio
2)解壓
- cpio -idv <backup.cpio
10、ar
rar的前身,仍然在Debian及其衍生物中使用,它是一個簡單的歸檔工具,但并不是很流行。
1)壓縮
- ar cvsr examplefile.a examplefile
2)解壓
- ar -xv examplefile.a
11、iso
ISO制作iso鏡像
- dd if=/media/dvd of=/home/username/filename.iso
【編輯推薦】