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