如何在 Linux 中壓縮檔案?
簡介
Linux 是一種流行的開源作業系統,它帶有一套有用的工具和命令,您可以利用這些工具和命令來完成日常任務。其中一項任務是檔案壓縮,Linux 提供了多種方法來壓縮或解壓縮檔案和目錄。本指南將引導您瞭解如何在 Linux 中使用“gzip”、“zip”和“tar”等命令壓縮檔案。
使用“gzip”命令
“gzip”(GNU zip)是 Linux 中廣泛使用的檔案壓縮命令。以下是如何使用它的示例:
gzip filename.txt
此命令將壓縮檔案“filename.txt”並將其重新命名為“filename.txt.gz”。原始檔案“filename.txt”將被刪除並替換為壓縮版本。
但是,“gzip”僅適用於單個檔案。如果您想壓縮目錄,則需要將“tar”與“gzip”結合使用。
將“tar”和“gzip”命令結合使用
“tar”命令是一個磁帶歸檔程式,可以從歸檔檔案中儲存和提取檔案。以下是如何將其與“gzip”結合使用以壓縮目錄:
tar -czvf archive_name.tar.gz directory_name/
此命令從目錄“directory_name”建立一個名為“archive_name.tar.gz”的 gzip 壓縮 tar 歸檔檔案。“c”標誌建立新的歸檔檔案,“z”壓縮歸檔檔案,“v”提供詳細輸出,“f”允許您指定歸檔檔名。
輸出可能如下所示:
directory_name/ directory_name/file1.txt directory_name/file2.txt
使用“zip”命令
大多數 Linux 發行版預設情況下未安裝“zip”命令,但您可以使用特定發行版的包管理器安裝它。例如,在 Ubuntu 或 Debian 上,您可以使用以下命令安裝它:
sudo apt-get install zip
安裝完成後,您可以像這樣壓縮單個檔案:
zip archive_name.zip filename.txt
這將建立一個名為“archive_name.zip”的 zip 歸檔檔案,其中包含“filename.txt”。
要壓縮目錄,請使用“-r”(遞迴)選項:
zip -r archive_name.zip directory_name/
此命令遞迴地將目錄“directory_name”及其內容壓縮到“archive_name.zip”中。
輸出將是:
adding: directory_name/ (stored 0%) adding: directory_name/file1.txt (deflated 36%) adding: directory_name/file2.txt (deflated 29%)
使用“gzip”命令設定不同的壓縮級別
“gzip”命令支援各種壓縮級別,從 1(最快,壓縮率最低)到 9(最慢,壓縮率最高)。預設級別為 6。以下是如何使用其他級別:
gzip -9 filename.txt
此命令將使用最大壓縮級別壓縮“filename.txt”。
使用“tar”和“gzip”命令排除檔案
如果您想壓縮目錄但要排除某些檔案,可以使用“tar”的“--exclude”選項:
tar -czvf archive_name.tar.gz --exclude='directory_name/file_to_exclude.txt' directory_name/
此命令將建立“directory_name”的壓縮 tar 歸檔檔案,但不會包含檔案“file_to_exclude.txt”。
使用“zip”命令新增或刪除檔案
“zip”命令還允許您從現有的 zip 歸檔檔案中新增或刪除檔案:
zip -d archive_name.zip file_to_remove.txt
此命令將從“archive_name.zip”中刪除“file_to_remove.txt”。
zip archive_name.zip file_to_add.txt
此命令將“file_to_add.txt”新增到“archive_name.zip”中。
使用“bzip2”命令
“bzip2”是您可以使用的另一個壓縮工具。它通常比“gzip”提供更好的壓縮率,但速度也較慢。
bzip2 filename.txt
此命令將“filename.txt”壓縮到“filename.txt.bz2”中。原始檔案將被壓縮版本替換。要解壓縮,請使用“bunzip2”:
bunzip2 filename.txt.bz2
此命令將“filename.txt.bz2”解壓縮回“filename.txt”。
同樣,就像“gzip”一樣,“bzip2”不支援壓縮目錄。為此,您需要將其與“tar”結合使用:
tar -cjvf archive_name.tar.bz2 directory_name/
此命令從目錄“directory_name”建立一個名為“archive_name.tar.bz2”的“bzip2”壓縮 tar 歸檔檔案。“j”選項用於“bzip2”壓縮。
使用密碼保護 Zip 檔案
“zip”命令允許您使用“-e”(加密)選項使用密碼保護 zip 歸檔檔案:
zip -e secure.zip file.txt
執行此命令時,系統將提示您輸入密碼。該檔案將被壓縮到“secure.zip”中,並且需要密碼才能解壓縮內容。
使用“gzip”處理多個檔案
雖然“gzip”主要用於處理單個檔案,但您可以透過先使用“tar”將檔案捆綁在一起,然後將多個檔案壓縮到單個 gzip 歸檔檔案中:
tar -cf - file1.txt file2.txt | gzip > files.tar.gz
此命令從“file1.txt”和“file2.txt”建立 tar 檔案(“-cf -”),然後將 tar 檔案(“|”)傳遞給“gzip”,並將輸出重定向到“files.tar.gz”。
列出 Tar 或 Zip 檔案的內容
您可以分別使用“-tf”或“-l”選項列出 tar 或 zip 檔案的內容,而無需提取它:
tar -tf archive.tar.gz
此命令列出“archive.tar.gz”的內容。
unzip -l archive.zip
此命令列出“archive.zip”的內容。
使用“7zip”命令
“7zip”是另一個功能強大的檔案歸檔程式,具有很高的壓縮率。但是,它通常不會在大多數 Linux 發行版上預設安裝。您可以使用您的包管理器安裝它。例如,在 Ubuntu 或 Debian 上:
sudo apt-get install p7zip-full
要使用“7zip”壓縮檔案或目錄,請使用“7z”命令:
7z a archive.7z filename.txt
此命令將“filename.txt”壓縮到“archive.7z”中。“a”選項表示我們正在新增到歸檔檔案中。
7z a archive.7z directory_name/
此命令將目錄“directory_name”壓縮到“archive.7z”中。
要提取“7z”檔案,請使用“e”(提取)或“x”(使用完整路徑提取)選項:
7z e archive.7z
此命令將“archive.7z”中的檔案提取到當前目錄。
在 Linux 中解壓縮檔案
在 Linux 中解壓縮檔案也是一個簡單的過程。您可以使用“gunzip”命令處理“gzip”檔案、“tar”處理“tar.gz”檔案和“unzip”處理“zip”檔案。
例如:
gunzip filename.txt.gz
此命令將“filename.txt.gz”解壓縮回“filename.txt”。
tar -xzvf archive_name.tar.gz
此命令將“archive_name.tar.gz”的內容提取到當前目錄。
unzip archive_name.zip
此命令將“archive_name.zip”的內容提取到當前目錄。
結論
檔案壓縮是管理儲存和傳輸 Linux 中檔案的重要任務。無論您使用“gzip”、“tar”還是“zip”,這些命令都提供了可靠且靈活的方法來壓縮 Linux 系統上的檔案和目錄。瞭解這些命令是精通 Linux 系統管理的基本部分。