Linux常用命令10 - unzip

zip 是最廣泛使用的歸檔文件, 除了linux,windows也是非常的廣泛。,支持無損數據壓縮。 zip 文件是包含一個或多個壓縮文件或目錄的數據容器。

接下來,我將解釋如何使用 unzip 命令通過命令行解壓縮 Linux 系統中的文件。
還有與之對應就是 zip。
0FPVdt

安裝unzip

在大多數 Linux 發行版中,unzip 不是默認安裝的,但是您可以使用您的發行版的包管理器輕鬆地安裝它。

  • 在 Ubuntu 和 Debian 上
sudo apt install unzip
  • Fedora 和 Fedora
sudo yum install unzip

如何解壓 ZIP 文件

最簡單的形式是,當不帶任何選項使用時,unzip 命令將指定 ZIP 歸檔文件中的所有文件解壓縮到工作目錄文件夾中。

舉個例子,假設你下載了 Wordpress 安裝 ZIP 文件。 要將這個文件解壓到工作目錄文件夾,你只需運行以下命令:

unzip latest.zip

zip 文件不支持 linux 樣式的所有權信息。提取的文件屬於運行命令的用戶。

您必須對解壓壓縮 ZIP 歸檔文件的目錄具有寫權限。

靜默運行

默認情況下,解壓縮將打印所提取的所有文件的名稱,並在提取完成時打印一個摘要。

使用 -q 開關禁止打印這些消息。

unzip -q filename.zip

ZIP 文件解壓縮到另一個目錄

要將 ZIP 文件解壓縮到與當前目錄不同的目錄,請使用 -d 開關:

unzip filename.zip -d /path/to/directory

例如,要將 WordPress 歸檔 latest.zip 解壓縮到/var/www/目錄,可以使用以下命令:

sudo unzip latest.zip -d /var/www

在上面的命令中,我使用 sudo 是因爲我登錄的用戶通常沒有對/var/www 目錄的寫權限。 當使用 sudo 對 ZIP 文件進行解壓縮時,提取的文件和目錄歸用戶根所有。

解壓密碼保護的 ZIP 文件

要解壓縮受密碼保護的文件,請調用 unzip 命令,並在 -P 選項後面加上密碼:

unzip -P PasswOrd filename.zip

在命令行中鍵入密碼是不安全的,應該避免。 一個更安全的選擇是正常地提取文件而不提供密碼。 如果 ZIP 文件是加密的,解壓縮會提示你輸入密碼:

unzip filename.zip
archive:  filename.zip
[filename.zip] file.txt password: 

只要是正確的,unzip 將對所有加密文件使用相同的密碼。

解壓縮 ZIP 文件時排除文件

要排除特定的文件或目錄進行解壓縮,請使用-x 選項,然後使用空格分隔的存檔文件列表排除解壓縮:

unzip filename.zip -x file1-to-exclude file2-to-exclude

在下面的示例中,我將從 ZIP 歸檔文件中提取除. git 目錄以外的所有文件和目錄:

unzip filename.zip -x "*.git/*"

覆蓋現有文件

假設您已經解壓縮了一個 ZIP 文件,並且再次運行相同的命令:

unzip latest.zip

默認情況下,解壓縮將詢問您是否只覆蓋當前文件、覆蓋所有文件、跳過當前文件的提取、跳過所有文件的提取,或者重命名當前文件。

Archive:  latest.zip
replace wordpress/xmlrpc.php? [y]es, [n]o, [A]ll, [N]one, [r]ename:

如果您想在沒有提示的情況下覆蓋現有文件,請使用-o 選項:

unzip -o filename.zip

謹慎使用此選項。如果對文件做了任何更改,更改將丟失。

解壓 ZIP 文件而不改寫現有文件

假設您已經解壓縮了一個 ZIP 文件,並且對一些文件進行了更改,但是不小心刪除了一些文件。 您希望保留更改並從 ZIP 歸檔文件中還原已刪除的文件。

在這種情況下,使用-n 選項強制 unzip 跳過提取已經存在的文件:

unzip -n filename.zip

解壓多個 ZIP 文件

您可以使用正則表達式來匹配多個歸檔文件。

例如,如果你當前的工作目錄文件夾中有多個 ZIP 文件,你可以只用一個命令解壓所有文件:

unzip '*.zip'

注意 * 旁邊的單引號。 如果你忘記引用參數,shell 會展開通配符,你會得到一個錯誤。

列出 zip 文件的內容

若要列出 ZIP 文件的內容,請使用-l 選項:

unzip -l filename.zip

在下面的例子中,我列出了所有的 WordPress 安裝文件:

unzip -l latest.zip

輸出結果如下:

Archive: latest.zip
Length Date Time Name


    0  2019-08-02 22:39   test/
 3065  2019-08-31 18:31   test/xmlrpc.php
  364  2019-12-19 12:20   test/wp-blog-header.php
 7415  2019-03-18 17:13   test/readme.html

...
...
21323 2019-03-09 01:15 test/wp-admin/themes.php
8353 2019-09-10 18:20 test/wp-admin/options-reading.php
4620 2019-10-24 00:12 test/wp-trackback.php
1889 2019-05-03 00:11 test/wp-comments-post.php


27271400 1648 files

小結

Unzip 是一個實用工具,可以幫助您列出、測試和解壓縮 ZIP 文檔。

要在 Linux 系統上創建 ZIP 歸檔文件,您需要使用 ZIP 命令。

ZCoBLj

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章