如何從linux終端壓縮或解壓檔案

ZIP檔案是一種通用的歸檔檔案,通常用於Windows、macOS甚至Linux系統。您可以使用一些常見的Linux終端命令建立zip存檔或從其中解壓檔案。...

ZIP檔案是一種通用的歸檔檔案,通常用於Windows、macOS甚至Linux系統。您可以使用一些常見的Linux終端命令建立zip存檔或從其中解壓檔案。

zip壓縮的存檔檔案格式

由於ZIP格式在Windows領域的主導地位,ZIP檔案可能是世界上最常見的壓縮存檔形式。

一會兒。焦油.gz以及焦油bz2檔案在Linux上很常見,Windows使用者可能會以ZIP格式向您傳送存檔檔案。而且,如果您想歸檔一些檔案並將它們傳送給Windows使用者,ZIP格式將是最簡單、最相容的解決方案。

相關:如何從檔案中提取檔案。焦油.gz或者。焦油bz2Linux上的檔案

zip、unzip和其他實用程式

您可能已經知道,Linux和類似Unix的作業系統(如macOS)具有允許您建立ZIP檔案並從中提取檔案的工具,稱為ZIP和unzip。但是有一系列相關的實用程式,比如zipcloak、zipdetails、zipsplit和zipinfo。

我們檢查了一些Linux發行版,看看它們是否在標準安裝中包含這些實用程式。所有這些實用程式都出現在ubuntu19.04、18.10和18.04中。它們也出現在Manjaro 18.04。Fedora29包括zip和unzip,但沒有其他實用程式,CentOS也是如此。

要在Fedora 29上安裝缺少的元素,請使用以下命令:

sudo dnf install perl-IO-Compress

如何從linux終端壓縮或解壓檔案

要在CentOS 7上安裝缺少的元素,請使用以下命令:

sudo yum install perl-IO-Compress

如何從linux終端壓縮或解壓檔案

如果上面沒有提到的Linux發行版中缺少任何zip實用程式,請使用該Linux發行版的包管理工具安裝所需的包。

如何使用zip命令建立zip檔案

要建立ZIP檔案,需要告訴ZIP歸檔檔案的名稱以及要包含哪些檔案。您不需要將“.zip”副檔名新增到存檔名稱中,但這樣做並沒有什麼壞處。

建立名為source的檔案_程式碼.zip包含當前目錄中的所有C原始碼檔案和標頭檔案,可以使用以下命令:

zip source_code *.c *.h

如何從linux終端壓縮或解壓檔案

每個檔案在新增時都會列出。將顯示檔名以及在該檔案上實現的壓縮量。

如何從linux終端壓縮或解壓檔案

如果您檢視新的ZIP存檔檔案,您可以看到“.ZIP”副檔名是由ZIP自動新增的。

ls -l source_code.zip

如何從linux終端壓縮或解壓檔案

如果不希望在建立zip檔案時看到zip的輸出,請使用-q(quiet)選項。

zip -q source_code *.c *.h

如何從linux終端壓縮或解壓檔案

包括zip檔案中的目錄

要在ZIP檔案中包含子目錄,請使用-r(遞迴)選項並在命令列中包含子目錄的名稱。要像以前一樣建立ZIP檔案幷包含存檔子目錄,請使用以下命令。

zip -r -q source_code archive/ *.c *.h

如何從linux終端壓縮或解壓檔案

為了體諒將從您建立的ZIP檔案中提取檔案的人,通常有禮貌地建立ZIP檔案,其中的檔案包含在目錄中。當接收ZIP檔案的人提取它時,所有檔案都整齊地放在他們計算機上的一個目錄中。

在下面的命令中,我們將歸檔工作目錄和所有子目錄。請注意,此命令是從工作資料夾的父目錄發出的。

zip -r -q source_code work/

如何從linux終端壓縮或解壓檔案

設定壓縮級別

您可以設定將檔案新增到ZIP存檔時對其應用的壓縮量。範圍從0到9,0表示完全沒有壓縮。壓縮越高,建立ZIP檔案的時間就越長。對於大小適中的ZIP檔案,時間差不是很大的損失。但是,對於大小適中的ZIP檔案,預設壓縮(級別6)可能已經足夠好了。

要使zip使用特定級別的壓縮,請在命令列上以“-”作為選項傳遞數字,如下所示:

zip -0 -r -q source_code work/

如何從linux終端壓縮或解壓檔案

預設壓縮級別為6。沒有必要提供-6選項,但如果您這樣做,它不會造成任何傷害。

zip -r -q source_code work/

如何從linux終端壓縮或解壓檔案

最大壓縮級別為9級。

zip -9 -r -q source_code work/

如何從linux終端壓縮或解壓檔案

在這裡存檔選擇的檔案和目錄中,無壓縮(級別0)和預設壓縮(級別6)之間的差異為400K。預設壓縮和最高壓縮級別(級別9)之間的差異僅為4K。

這看起來可能不多,但對於包含數百甚至數千個檔案的檔案來說,每個檔案的少量額外壓縮加起來就可以節省空間。

向zip檔案新增密碼

向ZIP檔案新增密碼很容易。使用-e(加密)選項,系統將提示您輸入密碼並重新輸入以進行驗證。

zip -e -r -q source_code work/

如何從linux終端壓縮或解壓檔案

如何使用unzip命令解壓縮zip檔案

要從ZIP檔案中提取檔案,請使用unzip命令,並提供ZIP檔案的名稱。請注意,您確實需要提供“.zip”副檔名。

unzip source_code.zip

如何從linux終端壓縮或解壓檔案

在提取檔案時,這些檔案將列在終端視窗中。

如何從linux終端壓縮或解壓檔案

ZIP檔案不包含檔案所有權的詳細資訊。所有提取的檔案都將所有者設定為提取它們的使用者。

就像zip一樣,unzip有一個-q(quiet)選項,這樣您就不需要在提取檔案時看到檔案列表。

unzip -q source_code.zip

如何從linux終端壓縮或解壓檔案

將檔案解壓縮到目標目錄

要在特定目錄中提取檔案,請使用-d(directory)選項,並提供要將存檔檔案提取到的目錄的路徑。

unzip -q source_code.zip -d ./development

如何從linux終端壓縮或解壓檔案

解壓縮受密碼保護的zip檔案

如果ZIP檔案是用密碼建立的,unzip將要求您輸入密碼。如果您沒有提供正確的密碼,解壓縮將不會提取檔案。

unzip -q source_code.zip

如何從linux終端壓縮或解壓檔案

如果您不關心您的密碼是否被其他人看到,也不關心它是否儲存在您的命令歷史記錄中,您可以在命令列中使用-P(password)選項提供密碼。(必須使用大寫“P”)

unzip -P fifty.treacle.cutlass -q source_code.zip

如何從linux終端壓縮或解壓檔案

排除檔案

如果不想提取特定檔案或檔案組,請使用-x(排除)選項。在本例中,我們要提取除以“.h”副檔名結尾的檔案以外的所有檔案。

unzip -q source_code.zip -x *.h

如何從linux終端壓縮或解壓檔案

覆蓋檔案

假設您提取了一個歸檔檔案,但錯誤地刪除了一些提取的檔案。

一個快速修復方法是再次提取檔案。但是,如果您嘗試在與以前相同的目錄中提取ZIP檔案,unzip將提示您決定覆蓋這些檔案。它將期待以下回應之一。

除了r(rename)響應外,這些響應區分大小寫。

  • y:是的,覆蓋這個檔案
  • n:不,不要覆蓋這個檔案
  • A:全部,覆蓋所有檔案
  • N:無,覆蓋所有檔案
  • r:重新命名,提取這個檔案,但是給它一個新的名字。系統將提示您輸入新名稱。

如何從linux終端壓縮或解壓檔案

要強制解壓縮以覆蓋任何現有檔案,請使用-o(overwrite)選項。

unzip -o -q source_code.zip

如何從linux終端壓縮或解壓檔案

替換丟失的檔案最有效的方法是隻解壓縮歸檔檔案中不在目標目錄中的任何檔案。為此,請使用-n(從不覆蓋)選項。

unzip -n source_code.zip

如何從linux終端壓縮或解壓檔案

檢視zip檔案

在解壓縮ZIP檔案之前,檢視ZIP檔案中的檔案列表通常很有用,而且很有啟發性。您可以使用-l(list archive)選項來實現這一點。它透過較少的管道傳輸以使輸出易於管理。

unzip -l source_code.zip | less

如何從linux終端壓縮或解壓檔案

輸出顯示ZIP檔案中的目錄和檔案、它們的長度以及它們新增到存檔的時間和日期。按“q”從“less”退出。

如何從linux終端壓縮或解壓檔案

我們將看到,還有其他方法可以窺視ZIP檔案內部,這些檔案提供不同型別的資訊。

使用zipcloak命令新增密碼

如果您建立了一個ZIP檔案,但忘記新增密碼,您能做什麼?您可以使用zipcloak命令向ZIP檔案快速新增密碼。在命令列上傳遞ZIP檔案的名稱。系統將提示您輸入密碼。您需要再次輸入密碼來驗證密碼。

zipcloak source_code.zip

如何從linux終端壓縮或解壓檔案

使用zipdetails命令檢視檔案詳細資訊

zipdetails命令將向您顯示許多有關ZIP檔案的資訊。處理此命令所能提供的輸出量的唯一合理方法是透過較少的管道傳遞它。

zipdetails source_code.zip | less

如何從linux終端壓縮或解壓檔案

請注意,即使ZIP檔案受密碼保護,這些資訊也將包括檔名。這種型別的資訊作為元資料儲存在ZIP檔案中,而不是加密資料的一部分。

如何從linux終端壓縮或解壓檔案

使用zipgrep命令搜尋檔案內部

zipgrep命令允許您在ZIP檔案中的檔案中進行搜尋。在下面的示例中,我們想知道ZIP檔案中哪些檔案中有文字“keyval.h”。

zipgrep keyval.h source_code.zip

如何從linux終端壓縮或解壓檔案

我們可以看到slang.c和getval.c檔案包含字串“keyval.h”。我們還可以看到,在ZIP檔案的不同目錄中,每個檔案都有兩個副本。

使用zipinfo命令檢視資訊

zipinfo命令提供了另一種檢視ZIP檔案內部的方法。像以前一樣,我們透過更少的管道輸出。

zipinfo source_code.zip | less

如何從linux終端壓縮或解壓檔案

從左到右,輸出顯示:

  • 檔案許可權
  • 用於建立ZIP檔案的工具的版本
  • 原始檔案大小
  • 檔案描述符(如下所述)
  • 壓縮的方法(在這種情況下是壓縮)
  • 資料和時間戳
  • 檔案和任何目錄的名稱

檔案描述符由兩個字元組成。第一個字元是“t”或“b”,表示文字或二進位制檔案。如果是大寫字母,則對檔案進行加密。第二個字元可以是四個字元中的一個。此字元表示此檔案包含的元資料型別:無、擴充套件本地頭、“額外欄位”或兩者兼有。

  • -:如果兩者都不存在,則字元將是連字元
  • l:如果有一個擴充套件的本地頭,但沒有額外的欄位
  • x:如果沒有擴充套件的本地頭,但是有一個額外的欄位
  • X:如果有一個擴充套件的本地頭並且有一個額外的欄位

如何從linux終端壓縮或解壓檔案

使用zipsplit命令拆分檔案

如果需要將ZIP檔案傳送給其他人,但檔案的傳輸存在大小限制或問題,可以使用zipsplit命令將原始ZIP檔案拆分為一組較小的ZIP檔案。

n(size)選項允許您為每個新ZIP檔案設定最大大小。在本例中,我們將拆分源_程式碼.zip檔案。我們不希望任**的ZIP檔案大於100KB(102400位元組)。

zipsplit -n 102400 source_code.zip

如何從linux終端壓縮或解壓檔案

您選擇的大小不能小於ZIP檔案中任何檔案的大小。

使用這些命令,您可以建立自己的ZIP檔案,解壓縮接收到的ZIP檔案,並在這些檔案上執行各種其他操作,而無需離開Linux終端。

  • 發表於 2021-04-03 14:07
  • 閱讀 ( 47 )
  • 分類:網際網路

你可能感興趣的文章

如何在任何使用python的計算機上安裝selenium webdriver

...lenium WebDriver。在本文中,我們將簡要介紹Selenium,並提供如何在系統上安裝Selenium WebDriver的詳細指南。 ...

  • 發佈於 2021-03-10 21:27
  • 閲讀 ( 63 )

如何在linux中設定raspberry pi

...dows計算機的,但是,如果您執行的是Linux,您可能不知道如何成功地設定Raspberry Pi。 ...

  • 發佈於 2021-03-13 11:04
  • 閲讀 ( 44 )

如何製作“exe”安裝檔案

...一起,然後在存檔中嵌入一個特殊的EXE檔案,該檔案知道如何解壓所有檔案。換句話說,接收者可以提取SFX歸檔檔案(它本身顯示為一個EXE檔案),即使他們沒有合適的軟體,這種情況也可能發生在7Z、RAR、TAR和ZIP等格式上。 ...

  • 發佈於 2021-03-14 16:22
  • 閲讀 ( 47 )

如何在不下載的情況下解壓google驅動器中的檔案

無論你在哪裡,你都需要一個可以解壓壓縮檔案的工具。畢竟,ZIP檔案是網路的數字信使——在共享檔案方面僅次於PDF。 ...

  • 發佈於 2021-03-17 18:25
  • 閲讀 ( 48 )

如何在mac上開啟和提取rar檔案

...速概述中,您將瞭解有關RAR檔案是什麼、存在的原因以及如何在Mac上開啟和提取RAR檔案內容的所有資訊。 ...

  • 發佈於 2021-03-25 09:15
  • 閲讀 ( 48 )

關於linux最常見的問題。。。回答

...也是免費的。不僅如此,你還可以自由地看看這些程式是如何**的。如果您有專業知識,您可以使用此程式碼建立自己的軟體。 ...

  • 發佈於 2021-03-25 12:19
  • 閲讀 ( 58 )

如何在windows10中解壓檔案

每個人都應該知道的一個基本Windows函式是如何解壓縮檔案。這並不難,事實上,這個選項就在作業系統內部。 ...

  • 發佈於 2021-03-27 04:26
  • 閲讀 ( 49 )

如何在mac上製作zip檔案

... 本指南將介紹什麼是ZIP檔案,以及如何在macOS中建立ZIP檔案。 ...

  • 發佈於 2021-03-28 16:40
  • 閲讀 ( 69 )

如何使用powershell壓縮(和解壓)檔案

...加密了資料,並使與其他人共享檔案變得容易。下面介紹如何使用PowerShell壓縮和解壓檔案。 如何使用powershell壓縮檔案 讓我們首先使用Compress-archive cmdlet將一些檔案壓縮到ZIP檔案存檔中。它獲取要壓縮的任何檔案的路徑。多個...

  • 發佈於 2021-04-02 01:39
  • 閲讀 ( 48 )

如何在mac上壓縮和解壓檔案和資料夾

...用程式,而是一個深入整合到Finder應用程式中的功能。 如何在mac上壓縮檔案和資料夾 要開始,請開啟“Finder”應用程式,找到要壓縮的檔案或資料夾。如果要選擇多個檔案,請在選擇檔案時按住Command鍵。 一旦你做了選擇,右...

  • 發佈於 2021-04-02 03:45
  • 閲讀 ( 43 )
我愛森森哈哈
我愛森森哈哈

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦