Linux 中文件壓縮方法與tar打包詳解

文件壓縮

壓縮方式有三種:

  • zip
  • gzip
  • bzip

對應的三種解壓方式:

  • unzip
  • gunzip
  • bunzip
  1. zip壓縮,解壓
    zip file.zip file -->將file壓縮爲file.zip
    unzip file.zip–>將file.zip解壓
    使用zip壓縮方法,得到壓縮文件的後綴名爲.zip
[root@xiaoagiao file3]# ls
file
[root@xiaoagiao file3]# zip file.zip file
  adding: file (stored 0%)
[root@xiaoagiao file3]# ls
file  file.zip

[root@xiaoagiao file3]# ls
file.zip
[root@xiaoagiao file3]# unzip file.zip
Archive:  file.zip
 extracting: file
[root@xiaoagiao file3]# ls
file  file.zip
  1. gzip壓縮,解壓。
    gzip file.gz file–>將file壓縮爲file.gz
    gunzip file.gz -->將file.gz解壓
    使用zip壓縮方法,得到壓縮文件的後綴名爲.gz

  2. bzip2壓縮解壓。
    bzip2 file.bz2 file–>將file壓縮爲file.bz2
    bunzip file.bz2 -->將file.bz2解壓

文件打包

tar 打包

選項:

-c 建立壓縮打包文件
-x 解壓
-t 查看壓縮包中的內容
-r 向包中追加新的文件
-u 更新包中文件
-A 歸檔

壓縮選項

-z 以 gzip格式壓縮
-j 以bz2格式壓縮
-J 壓縮爲後綴爲.xz格式文件
-v 顯示壓縮過程
-o 文件解壓後到標準輸出
-N[date file] somedir 指定需要打包的目錄。打包指定目錄中比date時間或者比file時間更新的文件。

必要選項:-f --> 選項的最後一個,後面要接的是壓縮文件名。

  • tar -cvf file.tar /tmp - ->將/tmp目錄下的所有文件打包命名爲file.tar
[root@xiaoagiao tmp]# ls
aa  as    file1  file3  log  
ac  file  file2  fstab  tmp
[root@xiaoagiao tmp]# tar -cvf  file.rar /tmp
//將/tmp目錄下的所有文件打包命名爲file.tar

[root@xiaoagiao tmp]# ls
aa  as    file1  file3     fstab  tmp
ac  file  file2  file.rar  log   
//生成一個名字爲filr.tar的包,不過並沒有被壓縮。
  • tar -zcvf file.tar.gz /tmp–>將/tmp目錄下的所有文件打包並且以gizp格式壓縮,生成一個名字爲file.tar.gz的壓縮包。
[root@xiaoagiao tmp]# ls
aa  as    file1  file3     fstab  tmp
ac  file  file2  file.rar  log   
[root@xiaoagiao tmp]# tar -zcvf file.tar.gz /tmp
//將/tmp目錄下的所有文件打包並且以gizp格式壓縮,生成一個名字爲file.tar.gz的壓縮包

[root@xiaoagiao tmp]# ls
aa  file   file3        fstab  
ac  file1  file.rar     log
as  file2  file.tar.gz  tmp
//生成了一個壓縮包,file.tar.gz。
  • tar -tf file.tar -->查看file.tar中的內容。
[root@xiaoagiao file3]# ls
aa  file  file1  file2  file.tar

[root@xiaoagiao file3]# tar -tf file.tar
tmp/file3/
tmp/file3/file1
tmp/file3/aa
tmp/file3/file2
tmp/file3/file
tmp/file3/.file/
  • tar -rf file.tar newfile -->向包中,添加新的文件。
[root@xiaoagiao file3]# touch newfile
[root@xiaoagiao file3]# tar -rf file.tar newfile
[root@xiaoagiao file3]# tar -tf file.tar
tmp/file3/
tmp/file3/file1
tmp/file3/aa
tmp/file3/file2
tmp/file3/file
tmp/file3/.file/
newfile
// 將文件newfile添加到包file.tar中。

  • tar -uf file.tar newfile -->文件更新,就是將修改後的新文件。再次放入包中。
  • tar -N 2020/03/12 -zcvf file.tar.gz /tmp -->打包壓縮目錄/tmp下,時間爲2020/03/12 之後的文件。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章