动态

详情 返回 返回

Linux中tar、zip、gz、rar文件 解壓縮歸類 - 动态 详情

tar命令解壓縮

擴展名説明:

.tar 表示只是打包文件,並不壓縮,操作時命令選項中為不含有z;

.tar.gz 表示使用了tar打包後,再使用gunzip進行壓縮的文件,該文件進行了實際的壓縮(操作時命令選項中含有z)。

基本語法

tar [選項] -f 歸檔文件名 目錄/文件

各類參數詳解:

-z : 使用 gzip 來壓縮和解壓文件

-v : –verbose 詳細的列出處理的文件

-f : –file=ARCHIVE 使用檔案文件或設備,這個選項通常是必選的

-c : –create 創建一個新的歸檔(壓縮包)

-x : 從壓縮包中解出文件

tar壓縮

# 打包單文件並不壓縮
tar -cvf 212.tar 212.txt

# 打包多文件並不壓縮
tar -cvf test01.tar 212.txt 12.txt 21.txt

# 打包文件並壓縮,單/多文件格式類似,歸檔文件後綴為.tar.gz
tar -zcvf test02.tar.gz 212.txt

 tar解壓縮

# .tar解壓
tar -xvf test01.tar

# .tar.gz解壓
tar -zxvf test02.tar.gz

 

gzip命令解壓縮

注意:gzip直接壓縮文件後會把源文件刪除掉,它是不支持保留源文件的

-c:將壓縮數據輸出到標準輸出中,可以用於保留源文件
-d:解壓縮
-r:壓縮目錄

gzip壓縮

gzip 命令不能打包,用 gzip 命令壓縮目錄,它會把你目錄下的文件進行壓縮,不會把你這個目錄進行壓縮

# 不保留源文件,直接壓縮
gzip abc.txt

# 壓縮(保留源文件)
gzip -c asd.txt > asd.txt.gz

# 遞歸壓縮(將此目錄下的所有文件都壓縮,而不會壓縮此目錄)
gzip -r /usr/loacl/src/

gzip解壓縮

# 以下兩種解壓縮方式都可以
gzip -d 壓縮包名

gunzip 壓縮包名

zip命令解壓縮

zip壓縮:

zip常用的參數彙總整理如下:

參數

參數描述信息

-A

調整可執行的自動解壓縮文件。

-b<工作目錄>

指定暫時存放文件的目錄。

-c

替每個被壓縮的文件加上註釋。

-d

從壓縮文件內刪除指定的文件。

-D

壓縮文件內不建立目錄名稱。

-f

更新現有的文件。

-F

嘗試修復已損壞的壓縮文件。

-g

將文件壓縮後附加在既有的壓縮文件之後,而非另行建立新的壓縮文件。

-h

在線幫助。

-i<範本樣式>

只壓縮符合條件的文件。

-j

只保存文件名稱及其內容,而不存放任何目錄名稱。

-J

刪除壓縮文件前面不必要的數據。

-k

使用MS-DOS兼容格式的文件名稱。

-l

壓縮文件時,把LF字符置換成LF+CR字符。

-ll

壓縮文件時,把LF+CR字符置換成LF字符。

-L

顯示版權信息。

-m

將文件壓縮並加入壓縮文件後,刪除原始文件,即把文件移到壓縮文件中。

-n<字尾字符串>

不壓縮具有特定字尾字符串的文件。

-o

以壓縮文件內擁有最新更改時間的文件為準,將壓縮文件的更改時間設成和該文件相同。

-q

不顯示指令執行過程。

-r

遞歸處理,將指定目錄下的所有文件和子目錄一併處理。

-S

包含系統和隱藏文件。

-t<日期時間>

把壓縮文件的日期設成指定的日期。

-T

檢查備份文件內的每個文件是否正確無誤。

-u

與 -f 參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其他文件解壓縮到目錄中。

-v

顯示指令執行過程或顯示版本信息。

-V

保存VMS操作系統的文件屬性。

-w

在文件名稱裏假如版本編號,本參數僅在VMS操作系統下有效。

-x<範本樣式>

壓縮時排除符合條件的文件。

-X

不保存額外的文件屬性。

-y

直接保存符號連接,而非該連接所指向的文件,本參數僅在UNIX之類的系統下有效。

-z

替壓縮文件加上註釋。

-$

保存第一個被壓縮文件所在磁盤的卷冊名稱。

-<壓縮效率>

壓縮效率是一個介於1-9的數值。

 test文件夾下有:admin文件夾、index 和test兩個文件,現在將其打包為一個admin.zip壓縮文件,其執行的命令是:

# test文件夾下有:admin文件夾、index 和test兩個文件,現在將其打包為一個admin.zip壓縮文件,其執行的命令是:
zip -p -r admin.zip *

 

unzip解壓

unzip常用的參數彙總整理如下:

參數

參數描述信息

-c

將解壓縮的結果顯示到屏幕上,並對字符做適當的轉換。

-f

更新現有的文件。

-l

顯示壓縮文件內所包含的文件。

-p

與-c參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換。

-t

檢查壓縮文件是否正確。

-u

與-f參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其他文件解壓縮到目錄中。

-v

執行是時顯示詳細的信息。

-z

僅顯示壓縮文件的備註文字。

-a

對文本文件進行必要的字符轉換。

-b

不要對文本文件進行字符轉換。

-C

壓縮文件中的文件名稱區分大小寫。

-j

不處理壓縮文件中原有的目錄路徑。

-L

將壓縮文件中的全部文件名改為小寫。

-M

將輸出結果送到more程序處理。

-n

解壓縮時不要覆蓋原有的文件。

-o

不必先詢問用户,unzip執行後覆蓋原有文件。

-P<密碼>

使用zip的密碼選項。

-q

執行時不顯示任何信息。

-s

將文件名中的空白字符轉換為底線字符。

-V

保留VMS的文件版本信息。

-X

解壓縮時同時回存文件原來的UID/GID。

.zip文件

指定.zip壓縮文件。

文件

指定要處理.zip壓縮文件中的哪些文件。

-d<目錄>

指定文件解壓縮後所要存儲的目錄。

-x<文件>

指定不要處理.zip壓縮文件中的哪些文件。

-Z

unzip

# 解壓縮文件
unzip admin.zip

不解壓文件的情況下查看壓縮文件中都包含哪些內容

zipinfo命令:用於列出壓縮文件信息

 zipinfo admin.zip 

可以看到壓縮文件的基本信息,包括壓縮文件的大小、文件的數量、文件的權限信息、文件的日期信息、具體的文件名稱和文件夾信息,還是非常全面的。

image

zipinfo常用的參數彙總整理如下:

參數

參數描述信息

-1

只列出文件名稱。

-2

此參數的效果和指定”-1″參數類似,但可搭配”-h”,”-t”和”-z”參數使用。

-h

只列出壓縮文件的文件名稱。

-l

此參數的效果和指定”-m”參數類似,但會列出原始文件的大小而非每個文件的壓縮率。

-m

此參數的效果和指定”-s”參數類似,但多會列出每個文件的壓縮率。

-M

若信息內容超過一個畫面,則採用類似more指令的方式列出信息。

-s

用類似執行”ls -l”指令的效果列出壓縮文件內容。

-t

只列出壓縮文件內所包含的文件數目,壓縮前後的文件大小及壓縮率。

-T

將壓縮文件內每個文件的日期時間用年,月,日,時,分,秒的順序列出。

-v

詳細顯示壓縮文件內每一個文件的信息。

-x<範本樣式>

不列出符合條件的文件的信息。

-z

如果壓縮文件內含有註釋,就將註釋顯示出來。

rar命令解壓縮

安裝rar:

  • CentOS/RHEL:yum install rar
  • Ubuntu/Debian:sudo apt-get install rar

語法:  rar <命令> -<開關 1> -<開關 N> <壓縮文件> <文件...>
               <@列表文件...> <解壓路徑\>

<命令參數>

  a             添加文件到壓縮文件
  c             添加壓縮文件註釋
  cf            添加文件註釋
  ch            改變壓縮文件參數
  cw            寫入壓縮文件註釋到文件
  d             刪除壓縮文件中的文件
  e             解壓壓縮文件到當前目錄
  f             刷新壓縮文件中的文件
  i[參數]=<串>  在壓縮文件中查找字符串
  k             鎖定壓縮文件
  l[t,b]        列出壓縮文件[技術信息,簡潔]
  m[f]          移動到壓縮文件[僅對文件]
  p             打印文件到標準輸出設備
  r             修復壓縮文件
  rc            重建丟失的卷
  rn            重命名壓縮文件
  rr[N]         添加數據恢復記錄
  rv[N]         創建恢復卷
  s[名字|-]     轉換壓縮文件為自解壓格式或轉換回壓縮文件
  t             測試壓縮文件
  u             更新壓縮文件中的文件
  v[t,b]        詳細列出壓縮文件[技術信息,簡潔]
  x             用絕對路徑解壓文件


<開關>
  -             停止掃描
  @[+]          禁用[啓用]文件列表
  ac            壓縮或解壓後清除存檔屬性
  ad            添加壓縮文件名到目標路徑
  ag[格式]      使用當前日期生成壓縮文件名
  ai            忽略文件屬性
  ao            添加具有壓縮屬性的文件
  ap<格式>      添加路徑到壓縮文件中
  as            同步壓縮文件內容
  av            添加用户身份校驗(僅註冊版本可用)
  av-           禁用用户身份校驗
  c-            禁用註釋顯示
  cfg-          禁用讀取配置
  cl            名稱轉換為小寫
  cu            名稱轉換為大寫
  df            壓縮後刪除文件
  dh            打開共享文件
  dr            刪除文件到回收站
  ds            對固實壓縮文件禁用名稱排序
  dw            檔案處理後清除文件
  e[+]<屬性>    設置文件排除和包括屬性
  ed            不添加空目錄
  en            不添加"壓縮文件結束"標誌
  ep            從名稱中排除路徑
  ep1           從名稱中排除基本目錄
  ep2           展開為完整路徑
  ep3           擴展路徑為包含盤符的完全路徑
  f             刷新文件
  hp[密碼]      同時加密文件數據和文件頭
  id[c,d,p,q]   禁用消息
  ieml[屬性]    用 E-mail 發送壓縮文件
  ierr          發送所有消息到標準錯誤設備
  ilog[名稱]    把錯誤寫到日誌文件(只有註冊版本可用)
  inul          禁用所有消息
  ioff          完成一個操作後關閉 PC 電源
  isnd          啓用聲音
  k             鎖定壓縮文件
  kb            保留損壞的已解壓文件
  log[f][=name] 寫入名稱到日誌文件
  m<0..5>       設置壓縮級別(0-存儲...3-默認...5-最大)
  mc<參數>      設置高級壓縮參數
  md<大小>      以KB為單位的字典大小(64,128,256,512,1024,2048,4096 or A-G)
  ms[ext;ext]   指定存儲的文件類型
  mt<線程>      設置線程數
  n<文件>       僅包含指定的文件
  n@            從標準輸入設備讀取文件名到包括
  n@<列表>      包含在指定的列表文件中列出的文件
  o[+|-]        設置覆蓋模式
  oc            設置 NTFS 壓縮屬性
  or            自動重命名文件
  os            保存 NTFS 流
  ow            保存或恢復文件所有者和組
  p[密碼]       設置密碼
  p-            不詢問密碼
  r             遞歸子目錄
  r-            禁用遞歸
  r0            僅遞歸通配符名稱的子目錄
  ri<P>[:<S>]   設置優先級(0-默認,1-最小..15-最大)和以毫秒為單位的休眠時間
  rr[N]         添加數據恢復記錄
  rv[N]         創建恢復卷
  s[<N>,v[-],e] 創建固實壓縮文件
  s-            禁用固實壓縮文件
  sc<chr>[obj]  指定字符集
  sfx[名稱]     創建自解壓壓縮文件
  st[名稱]      從標準輸入設備讀取數據(stdin)
  sl<大小>      處理小於指定大小的文件
  sm<大小>      處理超過指定大小的文件
  t             壓縮後測試文件
  ta<日期>      添加日期 <日期> 後修改的文件,日期格式 YYYYMMDDHHMMSS
  tb<日期>      添加日期 <日期> 前修改的文件,日期格式 YYYYMMDDHHMMSS
  tk            保留原始壓縮文件時間
  tl            設置壓縮文件時間為最新文件時間
  tn<時間>      添加 <時間> 以後的文件
  to<時間>      添加 <時間> 以前的文件
  ts<m,c,a>[N]  保存或恢復文件時間(修改,創建,訪問)
  u             更新文件
  v             自動檢測創建卷的大小或者列出所有的卷
  v<大小>[k,b]  創建卷大小=<大小>*1000 [*1024, *1]
  vd            創建容量前清除磁盤內容
  ver[n]        文件版本控制
  vn            使用舊風格的卷命名方案
  vp            每卷之前暫停
  w<路徑>       指定工作目錄
  x<文件>       排除指定的文件
  x@            從標準輸入設備讀取要排除的文件名
  x@<列表>       排除在指定的列表文件中列出的文件
  y             假設對全部詢問都回答是
  z[文件]       從文件讀取壓縮文件註釋

 rar壓縮:

# a為壓縮 把F盤game下的兩個文件到E盤test目錄下,壓縮為a.rar文件:-ep:從文件名稱中排除路徑
rar a -ep e:\test\a.rar f:\game\GETUP.WAV f:\game\Game.dat  

# 加密壓縮 將1.txt 加密壓縮為a.rar,密碼為123  
rar a -ep -p123 a.rar 1.txt

# 分卷壓縮D盤API目錄下的所有文件及文件夾(使用-r參數,遞歸壓縮),每個分卷為20MB,結構為:test.part1.rar、test.part2.rar,test.part3.rar等
rar a -m0 -r -v20m c:\test.rar d:\API  

# 給壓縮文件添加註釋,comment.txt為註釋文件:
①rar.exe c 1.rar<comment.txt      
②rar.exe c -z comment.txt<1.rar  

 rar解壓:

 

# e為解壓到當前目錄。x表示絕對路徑解壓

# 把E盤中test_src.rar解壓到F盤的te目錄下
rar x -ep2 E:\test_src.rar F:\te  

# 把密碼為123的a.rar解壓到F盤的test目錄下
rar e -p123 a.rar f:\test  

 

擴展

.bz2格式(不能壓縮目錄

".bz2" 格式,是 Linux 的另一種壓縮格式,從理論上來講,".bz2" 格式的算法更先進、壓縮比更好;而 ".gz" 格式相對來講壓縮時間更快

語法:bzip2 [選項] 源文件

-d:解壓縮
-k:壓縮時保留源文件
-v:顯示壓縮的詳細信息

".bz2" 格式壓縮:

# 壓縮保留源文件 注:這條命令不能壓縮目錄,壓縮目錄就會報錯。
bzip2 -k abc.txt

 ".bz2" 格式解壓縮: 

# 以下兩種命令都可
bzip2 -d 壓縮包名
bunzip2 壓縮包名

 

user avatar yuezhang_5e5e7da0beeea 头像 aitaokedemiehuoqi 头像 jimru 头像 mingtiaoiv 头像 damenge 头像
点赞 5 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.