Linux.打包和压缩命令
這里之所以把壓縮和打包的命令放在一塊,原因是表象上,這兩個命令類似。
打包:只是將很多個文件放在一個文件中。把棉花裝在一個袋子中。
壓縮:打包后,對文件進行壓縮。把棉花裝在一個袋子中,并用繩子捆住減少體積。
但壓縮是把文件進行壓縮的,打包其實只是將文件復制在一塊捆綁起來。
壓縮和解壓的文件格式:.tar ,.tar.gz, tar.bz2 ,tar.Z, .rar, .zip
區別:
.tar / .tar.gz / tar.bz2 / tar.Z?? -- tar命令
.rar? -- rar & unrar 打包命令
.zip? --zip & unzip 壓縮&減壓命令
.zp?? --gzip & zunzip 壓縮&減壓命令
.bz?? --bzip2 & bunzip2 壓縮&減壓命令
.tar標識 已打包
.bz .zp? 標識 已壓縮
.tar.bz? .tar.zp 標識使用tar打包后,又使用壓縮或者解壓命令
常見解壓/壓縮命令
tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是壓縮!)
.gz
解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName
.tar.gz 和 .tgz
解壓:tar zxvf FileName.tar.gz
壓縮:tar zcvf FileName.tar.gz DirName
.bz2
解壓1:bzip2 -d FileName.bz2
解壓2:bunzip2 FileName.bz2
壓縮: bzip2 -z FileName
.tar.bz2
解壓:tar jxvf FileName.tar.bz2
壓縮:tar jcvf FileName.tar.bz2 DirName
.bz
解壓1:bzip2 -d FileName.bz
解壓2:bunzip2 FileName.bz
壓縮:未知
.tar.bz
解壓:tar jxvf FileName.tar.bz
壓縮:未知
.Z
解壓:uncompress FileName.Z
壓縮:compress FileName
.tar.Z
解壓:tar Zxvf FileName.tar.Z
壓縮:tar Zcvf FileName.tar.Z DirName
.zip
解壓:unzip FileName.zip
壓縮:zip FileName.zip DirName
.rar
解壓:rar x FileName.rar
壓縮:rar a FileName.rar DirName
tar
linux下最常用的打包程序就是tar了,使用tar程序打出來的包我們常稱為tar包,tar包文件的命令通常都是以.tar結尾的。生成tar包后,就可以用其它的程序來進行壓縮。
1.命令格式:
tar[必要參數][選擇參數][文件]
2.命令功能:
用來壓縮和解壓文件。tar本身不具有壓縮功能。他是調用壓縮功能實現的
3.命令參數:
必要參數有如下:
-A 新增壓縮文件到已存在的壓縮
-B 設置區塊大小
-c 建立新的壓縮文件
-d 記錄文件的差別
-r 添加文件到已經壓縮的文件
-u 添加改變了和現有的文件到已經存在的壓縮文件
-x 從壓縮的文件中提取文件
-t 顯示壓縮文件的內容
-z 支持gzip解壓文件
-j 支持bzip2解壓文件
-Z 支持compress解壓文件
-v 顯示操作過程
-l 文件系統邊界設置
-k 保留原有文件不覆蓋
-m 保留文件不被覆蓋
-W 確認壓縮文件的正確性
-可選參數如下:
-b 設置區塊數目
-C 切換到指定目錄
-f 指定壓縮文件
--help 顯示幫助信息
--version 顯示版本信息
常用命令:
# tar -cf all.tar *.jpg
這條命令是將所有.jpg的文件打成一個名為all.tar的包。-c是表示產生新的包,-f指定包的文件名。
# tar -rf all.tar *.gif
這條命令是將所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
這條命令是更新原來tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
這條命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
這條命令是解出all.tar包中所有文件,-x是解開的意思
壓縮
tar –cvf jpg.tar *.jpg? 將目錄里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg?? 將目錄里所有jpg文件打包成jpg.tar后,并且將其用gzip壓縮,生成一個gzip壓縮過的包,命名為jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg 將目錄里所有jpg文件打包成jpg.tar后,并且將其用bzip2壓縮,生成一個bzip2壓縮過的包,命名為jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg?? 將目錄里所有jpg文件打包成jpg.tar后,并且將其用compress壓縮,生成一個umcompress壓縮過的包,命名為jpg.tar.Z
rar a jpg.rar *.jpg rar格式的壓縮,需要先下載rar for linux
zip jpg.zip *.jpg?? zip格式的壓縮,需要先下載zip for linux
解壓
tar –xvf file.tar? 解壓 tar包
tar -xzvf file.tar.gz 解壓tar.gz
tar -xjvf file.tar.bz2?? 解壓 tar.bz2
tar –xZvf file.tar.Z?? 解壓tar.Z
unrar e file.rar 解壓rar
unzip file.zip 解壓zip
總結
*.tar 用 tar –xvf 解壓
*.gz 用 gzip -d或者gunzip 解壓
*.tar.gz和*.tgz 用 tar –xzf 解壓
*.bz2 用 bzip2 -d或者用bunzip2 解壓
*.tar.bz2用tar –xjf 解壓
*.Z 用 uncompress 解壓
*.tar.Z 用tar –xZf 解壓
*.rar 用 unrar e解壓
*.zip 用 unzip 解壓
使用實例
實例1:將文件全部打包成tar包
命令:
tar -cvf log.tar log2012.log
tar -zcvf log.tar.gz log2012.log
tar -jcvf log.tar.bz2 log2012.log
其他命令
zip
unzip
gzip
gunzip
bzip2
bunzip2
總結
以上是生活随笔為你收集整理的Linux.打包和压缩命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: H5 移动端文件下载的方法
- 下一篇: 全生命周期能碳管控平台