0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

unzip命令的作用及用法

CHANBAEK ? 來源:TIAP ? 作者: 劉光錄 ? 2023-01-30 15:57 ? 次閱讀

unzip 命令往往用于解壓縮 zip 文件,但它能做的不僅僅是如此。 今天我們主要介紹一下該命令的作用及用法。

在某些 Linux 發(fā)行版上,可能沒有默認安裝該命令,那需要先安裝,可以使用包管理器,比如 Debian 系統(tǒng)中:

sudo apt install unzip

下面我們來看一下它的用法。

Linux 中的 unzip 命令

unzip 命令的語法很簡單:

unzip [option] zip_file

如果不使用任何選項,那么它會解壓整個給定的文件,看下面的例子:

unzip webdesign.zip 
Archive:  webdesign.zip
  inflating: 339252-PAJF05-394.ai    
  inflating: 339252-PAJF07-322.eps   
  inflating: 339252-PALBTI-224.ai    
  inflating: 339252-PALBTL-394.eps   
  inflating: 339252-PALBTM-53.jpg    
  inflating: License free.txt        
  inflating: License premium.txt

有時候,這可能并不是我們想要的。 因為如果給定的壓縮文件中的文件太多,那么解壓后,當前目錄中會充斥了大量的文件:

ls
 339252-PAJF05-394.ai    339252-PALBTI-224.ai    339252-PALBTM-53.jpg  'License premium.txt'
 339252-PAJF07-322.eps   339252-PALBTL-394.eps  'License free.txt'      webdesign.zip

1,解壓到某個目錄

一般情況下,我們希望將文件解壓到某個目錄,然后目錄通常是與 zip 文件同名。 可以使用 -d 選項,指定將文件提?。▔嚎s)到某個目標目錄:

unzip -d target_directory zip_file

如果目標目錄不存在,就會創(chuàng)建。 但是不會創(chuàng)建嵌套的目錄。

另外,也可以將目標目錄(連同選項 -d)放在壓縮文件后面,但并不是所有選項都可以放到命令后面。 如下所示:

unzip zip_file -d target_directory

2,在不解壓的情況下,查看壓縮文件的內容

如果只想查看 zip 文件包中的內容,但是并不想解壓它,可以使用 -l 選項,該選項可以讓我們查看 zip 文件的內容:

unzip -l zip_file

在輸出的文件列表中,還會現實文件的時間戳和大小(以字節(jié)為單位),如下所示:

$ unzip -l webdesign.zip 
Archive:  webdesign.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
   205358  2023-01-18 23:14   339252-PAJF05-394.ai
   996906  2023-01-18 23:14   339252-PAJF07-322.eps
   213968  2023-01-20 00:00   339252-PALBTI-224.ai
  1005362  2023-01-20 00:00   339252-PALBTL-394.eps
   305531  2023-01-20 00:00   339252-PALBTM-53.jpg
     1462  2023-01-20 09:45   License free.txt
     1116  2023-01-20 09:45   License premium.txt
---------                     -------
  2729703

如果需要,可以使用 -v 選項來獲得更多信息,如壓縮大小、壓縮比等。 輸出中的 CRC-32 是循環(huán)冗余檢查。

$ unzip -v webdesign.zip 
Archive:  webdesign.zip
 Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
--------  ------  ------- ---- ---------- ----- --------  ----
  205358  Defl:N   142097  31% 2023-01-18 23:14 792f2380  339252-PAJF05-394.ai
  996906  Defl:N   221228  78% 2023-01-18 23:14 440390d3  339252-PAJF07-322.eps
  213968  Defl:N   147568  31% 2023-01-20 00:00 cdb64dfc  339252-PALBTI-224.ai
 1005362  Defl:N   226727  77% 2023-01-20 00:00 aed3d97a  339252-PALBTL-394.eps
  305531  Defl:N   183363  40% 2023-01-20 00:00 e4ced90f  339252-PALBTM-53.jpg
    1462  Defl:N      728  50% 2023-01-20 09:45 0eb9e17b  License free.txt
    1116  Defl:N      558  50% 2023-01-20 09:45 165dd84e  License premium.txt
--------          -------  ---                            -------
 2729703           922269  66%                            7 files

3,在不提示的情況下覆蓋已有文件

如果在當前目錄中,已經存在同名的文件,那么在解壓的時候,會有提示“是否要覆蓋當前文件”,可以使用 -o 選項,來跳過詢問,強制覆蓋:

unzip -o -d target_directory zip_file

4,不要覆蓋任何文件

如果不希望覆蓋現有文件,可以使用 -n 選項:

unzip -n -d target_directory zip_file

5,更新且在必要的時候創(chuàng)建文件

更新文件,與覆蓋略有不同。 當某些文件的時間戳比現有文件更新的時候,才會被覆蓋。 如果文件不存在,將會直接創(chuàng)建。 這種情況下,需要使用 -u 選項:

unzip -u -d target_directory zip_file

6,更新現有文件,但是不創(chuàng)建新文件

這個例子與前一個略有不同。 在本例中,如果有某些文件的時間戳更新,會覆蓋這些文件,但是如果文件不存在,那么不會創(chuàng)建新文件。 這種情況,可使用 -f 選項:

unzip -f -d target_directory zip_file

7,在安靜模式下解壓文件

在解壓文件的時候,會在屏幕上現實已經解壓的文件。 但是當文件有幾百個的時候... 屏幕會一直出現滾動信息。

可以使用 -q 選項來選擇安靜模式,這種情況下,在解壓的過程中屏幕不會有信息輸出。

unzip -q -d target_directory zip_file

8,解壓的時候,排除某些文件

unzip 命令,可以實現在解壓的時候,排除某些文件,或者某些類型的文件:

unzip zip_file -x file_to_exclude

比如,我想在解壓的時候,排除 .eps 文件,如下:

$ unzip webdesign.zip -x *.eps
Archive:  webdesign.zip
  inflating: 339252-PAJF05-394.ai    
  inflating: 339252-PALBTI-224.ai    
  inflating: 339252-PALBTM-53.jpg   
  inflating: License free.txt        
  inflating: License premium.txt

以上例子是關于 unzip 命令的一些常用的,大家可以查看 man 手冊來獲取其更多的信息。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11212

    瀏覽量

    208721
  • Zip
    Zip
    +關注

    關注

    0

    文章

    17

    瀏覽量

    8623
  • 文件
    +關注

    關注

    1

    文章

    561

    瀏覽量

    24671
  • 命令
    +關注

    關注

    5

    文章

    678

    瀏覽量

    21965
收藏 人收藏

    評論

    相關推薦

    掌握find命令的這幾種用法,就沒有找不到的文件!

    今天浩道跟大家分享linux下關于find命令的幾種經典用法,讓你在linux茫茫的文件海洋中可以找出任何想要的文件!
    發(fā)表于 12-06 14:19 ?796次閱讀

    at命令用法

    at命令用法At列出在指定的時間和日期在計算機上運行的已計劃命令或計劃命令和程序。必須正在運行“計劃”服務才能使用 at 命令。at [\\
    發(fā)表于 07-01 00:27

    linux中comm命令用法

    linux系統(tǒng)中comm命令用法詳解 linux系統(tǒng)下的comm命令是一個非常實用的文件對比命令。 comm命令功能:選擇或拒絕兩個已排序的
    發(fā)表于 07-04 08:22

    AT命令集詳解

    對AT命令的介紹,特別是用法的介紹很到位,是AT命令的入門文章
    發(fā)表于 10-09 17:04 ?13次下載

    VirtualBox 的命令用法

    VBoxManage --help 命令,你可以獲得 VBoxManage 的完整用法。本文并不打算解釋其中的每一個選項,僅給出創(chuàng)建一個虛擬機的必要步驟。如果你感興趣,不妨親自去探索 VBoxManage 的其他用法
    發(fā)表于 04-02 14:36 ?1362次閱讀

    各種Shell命令用法作用

    【前言】通過排查挖礦病毒的一次“有趣”經歷,本文不僅展示了各種 Shell 命令用法作用,也能加深讀者對Linux 進程和文件系統(tǒng)的理解。 同時在本文中,還出現了各種不同的工具類網站,相信對于
    的頭像 發(fā)表于 01-11 10:47 ?2342次閱讀

    命令行工具Kubectl的別樣用法

    ? kubectl 是 K8s 官方附帶的命令行工具,可以方便的操作 K8s 集群。這篇文章主要介紹一些 kubectl 的別樣用法,希望讀者有一定基礎的 K8s 使用經驗。 ? 有一篇文章也介紹了
    的頭像 發(fā)表于 10-12 09:31 ?1847次閱讀

    Ping命令的7個基礎用法

    IT行業(yè)中ping命令經常被用到,今天整理了一下關于網絡基礎知識中的網絡命令ping命令在項目中是使用頻率最高的,一般我們用的都是它的基本功能,今天和大家來詳細看下Ping命令的7個基
    的頭像 發(fā)表于 10-12 09:16 ?3806次閱讀

    模擬初始狀態(tài)相關的.ic和.save命令用法

    .step 和 .meas 命令用法。本文將繼續(xù)探討 LTspice 仿真命令,介紹 .ic 和 .save 命令用法,在評估開關電源時,它
    的頭像 發(fā)表于 10-26 10:52 ?1350次閱讀

    Linux系統(tǒng)維護命令用法

    Linux有很多命令,每個命令基本可以用一篇文章介紹,本文僅簡單總結一些常用系統(tǒng)維護命令用法
    的頭像 發(fā)表于 04-17 14:57 ?994次閱讀
    Linux系統(tǒng)維護<b class='flag-5'>命令</b>的<b class='flag-5'>用法</b>

    一款運行于windows上的linux命令神器-Cmder

    Cmder是一款Windows的命令行工具,用起來和Linux的命令一樣順暢??梢允褂么罅康腖inux 命令,比如 grep, curl,vim, grep, tar, unzip,
    的頭像 發(fā)表于 05-05 10:30 ?1789次閱讀
    一款運行于windows上的linux<b class='flag-5'>命令</b>神器-Cmder

    nmcli命令的一些常用選項和用法

    以下是nmcli命令的一些常用選項和用法: connection show -- 顯示所有網絡連接的詳細信息。 connection up --啟動網絡連接。 connection down -- 停止網絡連接。
    發(fā)表于 10-08 11:15 ?1254次閱讀
    nmcli<b class='flag-5'>命令</b>的一些常用選項和<b class='flag-5'>用法</b>

    linux常用命令用法

    Linux是一種開源的操作系統(tǒng),它以穩(wěn)定、高效和安全的特點受到廣大用戶的喜愛。掌握Linux的常用命令及其用法對于操作系統(tǒng)的管理和開發(fā)都至關重要。本文將詳盡、詳實、細致地介紹Linux常用命令及其
    的頭像 發(fā)表于 11-17 09:47 ?613次閱讀

    總結linux命令行的主要用法

    Linux命令行是一種在Linux操作系統(tǒng)中通過文本界面來執(zhí)行指令和管理系統(tǒng)的方式。它提供了豐富的功能和靈活性,幫助用戶完成各種任務。本文將詳細介紹Linux命令行的主要用法,包括常見命令
    的頭像 發(fā)表于 11-17 10:19 ?599次閱讀

    Linux lsof命令的基本用法

    在 linux 系統(tǒng)中,一切皆文件。通過文件不僅僅可以訪問常規(guī)數據,還可以訪問網絡連接和硬件。所以 lsof 命令不僅可以查看進程打開的文件、目錄,還可以查看進程監(jiān)聽的端口等 socket 相關的信息。本文將介紹 lsof 命令的基本
    的頭像 發(fā)表于 10-23 11:52 ?155次閱讀
    Linux lsof<b class='flag-5'>命令</b>的基本<b class='flag-5'>用法</b>