zip
是最廣泛使用的歸檔文件, 除了linux,windows也是非常的廣泛。,支持無損數據壓縮。 zip 文件是包含一個或多個壓縮文件或目錄的數據容器。
接下來,我將解釋如何使用 unzip
命令通過命令行解壓縮 Linux 系統中的文件。
還有與之對應就是 zip。
安裝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
命令。