linux文件的打包与下载总结,linux下文件的打包和压缩
一、文件壓縮的原理
簡(jiǎn)單來(lái)說(shuō),壓縮技術(shù)就是在存儲(chǔ)時(shí)將文件里面沒(méi)有使用的空間利用起來(lái),主要有以下兩種情況。
存儲(chǔ)時(shí)去掉沒(méi)有用到的空間。假設(shè)我們只是存儲(chǔ)一個(gè)數(shù)字 1 ,二進(jìn)制表示數(shù)字1只需1個(gè)bit是1就可以表示(1=1*2^0),但是為了滿足操作系統(tǒng)對(duì)數(shù)據(jù)的存取要求,只能通過(guò)byte的形態(tài)來(lái)記錄。1 byte = 8 bits,所以每個(gè)byte當(dāng)中會(huì)有8個(gè)bits,而其他的7個(gè)bits將自動(dòng)的被填上0,其實(shí)那7個(gè)bits是沒(méi)有用到的。
另外一種壓縮技術(shù)是將重復(fù)的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)記錄。舉例來(lái)說(shuō),如果數(shù)據(jù)為[1111…]共有100個(gè)1,那么記錄為“100個(gè)1”也能精簡(jiǎn)文件的大小。
二、linux常見(jiàn)的壓縮指令
Linux支持的壓縮指令可以通過(guò)不同的后綴名進(jìn)行區(qū)分,常見(jiàn)的擴(kuò)展名:
.zip:zip程序壓縮的文件
.gz:gzip程序壓縮的文件
.bz2:bzip2程序壓縮的文件
.xz:xz程序壓縮的文件
.tar:tar程序打包的數(shù)據(jù),并沒(méi)有壓縮過(guò)
.tar.gz:tar程序打包的數(shù)據(jù),經(jīng)過(guò)gzip壓縮過(guò)
.tar.bz2:tar程序打包的數(shù)據(jù),經(jīng)過(guò)bzip2壓縮過(guò)
.tar.xz:tar程序打包的文件,經(jīng)過(guò)xz壓縮過(guò)
三、常用實(shí)例
以把/etc中內(nèi)容打包壓縮到/tmp/etc.*,然后在解壓回/etc為例
1、tar命令
打包:tar -cvf /tmp/etc.tar /etc
解包:tar -xvf /tmp/etc.tar /etc
常用參數(shù) :
-c :建立壓縮檔案(create 的意思);
-x :解壓檔案!
-v : 顯示所有過(guò)程 ,執(zhí)行過(guò)程會(huì)打印在屏幕上!
-f : 使用檔案名字,這個(gè)參數(shù)是最后一個(gè)參數(shù),后面只能接檔案名。
2、zip命令
壓縮:zip -r /tmp/etc.zip /etc
解壓:unzip /tmp/etc.zip /etc
-r: 將指定的目錄下的所有子目錄以及文件一起處理
3、gz命令
壓縮:tar -czvf /tmp/etc.tar.gz /etc
解壓:tar -xzvf /tmp/etc.tar.gz /etc
-z:使用gzip命令對(duì)文件進(jìn)行壓縮或解壓縮。
4、bz2命令
壓縮:tar -cjvf /tmp/etc.tar.bz2 /etc
解壓:tar -xjvf /tmp/etc.tar.bz2 /etc
-j:使用bz2命令對(duì)文件進(jìn)行壓縮或解壓縮。
5、xz命令(必須分兩步)
打包:tar -cvf /tmp/etc.tar /etc
壓縮:xz -z /tmp/etc.tar #將 /tmp/etc.tar壓縮成為 /tmp/etc.tar.xz
解壓縮:xz -d etc.tar.xz #將 etc.tar.xz解壓成 etc.tar
解包:tar -xvf etc.tar
-z:使用xz命令對(duì)文件進(jìn)行壓縮操作。
-d:使用xz命令對(duì)文件進(jìn)行解壓縮操作。
以上命令均可以將多個(gè)文件夾或文件打包壓縮到一個(gè)文件中
總結(jié):
沒(méi)有特殊要求推薦使用bz2命令,它是速度和壓縮比都比較折中的命令,如果想要快速壓縮文件,可以使用gz命令,如果追求最高的壓縮比,可以使用xz命令 。
總結(jié)
以上是生活随笔為你收集整理的linux文件的打包与下载总结,linux下文件的打包和压缩的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux建立普通用户命令,Linux普
- 下一篇: linux编译动态库未定义,自定义动态库