Linux壓縮與解壓命令完全指南:tar.gz、zip等格式詳解

Linux壓縮與解壓命令完全指南:tar.gz、zip等格式詳解

在Linux系統中,文件壓縮和解壓是日常操作中不可或缺的一部分。本文將全面介紹Linux下常用的壓縮和解壓命令,包括tar.gz、tar、zip等格式的區別和使用方法,幫助你高效管理文件。

一、Linux常見壓縮格式對比

格式壓縮工具特點適用場景
.tartar僅打包不壓縮,保留文件權限和屬性需要保留文件屬性的歸檔
.tar.gzgzip壓縮率高,速度較快,Linux最常用軟件發布、日志歸檔
.tar.bz2bzip2壓縮率比gzip高,但速度較慢對壓縮率要求高的場景
.tar.xzxz壓縮率最高,但速度最慢極致的空間節省需求
.zipzip跨平臺兼容性好,Windows/Linux/macOS通用跨平臺文件分享
.7z7z開源,壓縮率極高,支持多種壓縮算法需要極高壓縮率的場景

二、tar命令詳解

tar是Linux下最強大的歸檔工具,可以結合不同壓縮程序實現高效壓縮。

1. 基本打包與解包

# 打包文件/目錄(不壓縮)
tar -cvf archive.tar file1 file2 dir1# 查看tar包內容
tar -tvf archive.tar# 解包
tar -xvf archive.tar

參數說明:

  • -c:創建新的歸檔文件
  • -x:從歸檔中提取文件
  • -v:顯示處理過程
  • -f:指定歸檔文件名
  • -t:列出歸檔內容

2. 壓縮與解壓tar.gz

# 壓縮為tar.gz(使用gzip)
tar -czvf archive.tar.gz file1 dir1# 解壓tar.gz
tar -xzvf archive.tar.gz# 解壓到指定目錄
tar -xzvf archive.tar.gz -C /target/directory

3. 壓縮與解壓tar.bz2

# 壓縮為tar.bz2(使用bzip2)
tar -cjvf archive.tar.bz2 file1 dir1# 解壓tar.bz2
tar -xjvf archive.tar.bz2

4. 壓縮與解壓tar.xz

# 壓縮為tar.xz(使用xz)
tar -cJvf archive.tar.xz file1 dir1# 解壓tar.xz
tar -xJvf archive.tar.xz

三、zip命令詳解

zip格式因其跨平臺特性,在Linux中也有廣泛應用。

1. 壓縮文件/目錄

# 壓縮文件
zip archive.zip file1 file2# 遞歸壓縮目錄
zip -r archive.zip dir1# 設置壓縮級別(0-9,9最高)
zip -9 -r archive.zip dir1# 排除特定文件
zip -r archive.zip dir1 -x "*.tmp"

2. 解壓zip文件

# 解壓zip文件
unzip archive.zip# 解壓到指定目錄
unzip archive.zip -d /target/directory# 查看zip文件內容
unzip -l archive.zip# 靜默解壓(不顯示輸出)
unzip -q archive.zip

四、其他壓縮工具

1. gzip/gunzip

# 壓縮文件(會刪除源文件)
gzip file.txt# 解壓.gz文件
gunzip file.txt.gz# 壓縮并保留源文件
gzip -c file.txt > file.txt.gz

2. bzip2/bunzip2

# 壓縮文件
bzip2 file.txt# 解壓.bz2文件
bunzip2 file.txt.bz2

3. 7z

# 安裝7z(Ubuntu/Debian)
sudo apt install p7zip-full# 壓縮文件/目錄
7z a archive.7z file1 dir1# 解壓7z文件
7z x archive.7z

五、實用技巧

  1. 批量解壓當前目錄所有zip文件

    find . -name "*.zip" -exec unzip {} \;
    
  2. 創建分卷壓縮包(適合大文件):

    tar -cvzf - bigfile | split -b 100M - bigfile.tar.gz.
    
  3. 查看壓縮文件內容不解壓

    zcat file.gz         # 查看gzip壓縮文件
    bzcat file.bz2       # 查看bzip2壓縮文件
    unzip -l file.zip    # 查看zip文件內容
    
  4. 壓縮時排除特定文件

    tar -czvf archive.tar.gz --exclude='*.tmp' dir1
    
  5. 網絡傳輸時直接壓縮/解壓

    # 壓縮并傳輸
    tar -czf - dir1 | ssh user@host "cat > /remote/path/archive.tar.gz"# 接收并解壓
    ssh user@host "tar -czf - /remote/path" | tar -xzvf -
    

六、如何選擇合適的壓縮格式

  1. 需要最佳兼容性:選擇.zip格式
  2. Linux系統使用,需要高壓縮率:選擇.tar.xz
  3. 平衡壓縮率和速度:選擇.tar.gz
  4. 需要保留文件權限和屬性:使用tar格式(.tar/.tar.gz等)
  5. 需要極高壓縮率:選擇.7z格式

七、常見問題解決

  1. 解壓時報"gzip: stdin: not in gzip format"錯誤

    • 可能原因:文件損壞或實際不是gzip格式
    • 解決方案:先用file命令檢查實際文件類型
  2. tar: This does not look like a tar archive

    • 可能原因:文件損壞或格式錯誤
    • 解決方案:檢查文件完整性,確認正確的解壓命令
  3. 解壓中文文件名亂碼

    unzip -O GBK archive.zip  # 指定編碼格式
    

掌握這些壓縮解壓命令,你將能夠高效地管理Linux系統中的各種文件。根據實際需求選擇合適的壓縮格式和參數,可以顯著提高工作效率。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/76423.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/76423.shtml
英文地址,請注明出處:http://en.pswp.cn/web/76423.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++ STL 環形隊列模擬實現

C STL 環形隊列模擬實現 下面是一個使用C STL實現的環形隊列&#xff08;Circular Queue&#xff09;的完整示例&#xff1a; #include <iostream> #include <vector> #include <stdexcept>template <typename T> class CircularQueue { private:std…

部署rocketmq集群

容器化部署RocketMQ5.3.1集群 背景: 生產環境單機的MQ不具有高可用,所以我們應該部署成集群模式,這里給大家部署一個雙主雙從異步復制的Broker集群 一、安裝docker yum install -y docker systemctl enable docker --now # 單機部署參考: https://www.cnblogs.com/hsyw/p/1…

mysql的函數(第一期)

一、字符串函數?? 處理文本數據&#xff0c;常用函數&#xff1a; ??CONCAT(str1, str2, ...)?? ??作用??&#xff1a;拼接字符串。??示例??&#xff1a;SELECT CONCAT(Hello, , World); → Hello World??注意??&#xff1a;若任一參數為 NULL&#xff0c;…

Linux下的網絡管理

注意&#xff1a;本文使用的Linux系統版本為Red Hat Enterprise Linux 9 (RHEL 9)。 在RHEL9上&#xff0c;使用NM&#xff08;NetworkManager&#xff09;進行網絡配置&#xff0c;ifcfg &#xff08;也稱為 文件&#xff09;將不再是網絡配置文件的主存儲。雖然 ifcfg 樣式仍…

游戲引擎學習第233天

原地歸并排序地方很蒙圈 game_render_group.cpp&#xff1a;注意當前的SortEntries函數是O(n^2)&#xff0c;并引入一個提前退出的條件 其實我們不太討論這些話題&#xff0c;因為我并沒有深入研究過計算機科學&#xff0c;所以我也沒有太多內容可以分享。但希望在過去幾天里…

從《周游記3》演繹歌劇版《菊花臺》,周杰倫婚禮曲目意大利文版驚喜亮相

今天&#xff08;4月19日&#xff09;22:00&#xff0c;由魔胴西西里咖啡冠名的戶外實境互動綜藝《周游記3》第四期即將播出。本期節目中&#xff0c;“J式之旅”發起人周杰倫和林暐恒、杜國璋、陳冠霖、陳冠廷&#xff0c;將繼續意大利之旅&#xff0c;從那不勒斯的百年老店到…

Linux系統編程 day6 進程間通信mmap

父子共享的信息&#xff1a;文件描述符&#xff0c;mmap建立的共享映射區&#xff08;MAP_SHARED&#xff09; mmap父子間進程通信 var的時候 &#xff1a;讀時共享&#xff0c;寫時復制 父進程先創建映射區&#xff0c;指定共享MAP_SHARED權限 &#xff0c; fork創建子進程…

opencv--圖像處理

圖像處理技術 圖像處理技術是利用計算機對圖像進行計算,分析和處理的技術,包括數字圖像處理和計算機視覺兩大領域。 對圖像的處理包括濾波,縮放,分割,識別(兩種信息對比)等。 鏈接 數字圖像處理 1. 數字圖像處理(Digital Image Processing) 數字圖像處理主要關注圖…

Spring 學習筆記之 @Transactional詳解

一、數據庫事務基礎 數據庫事務&#xff08;Transaction&#xff09;是數據庫管理系統中用于確保數據一致性和完整性的一種機制。它是一組操作的集合&#xff0c;這些操作要么全部成功&#xff0c;要么全部失敗&#xff0c;從而保證數據庫狀態的正確性。 1.1 事務的基本概念 定…

【Openlayers】Openlayers 入門教程

Openlayers 入門教程 -系列文章列表 openlayers 入門教程&#xff08;一&#xff09;&#xff1a;openlayers簡介 openlayers 入門教程&#xff08;二&#xff09;&#xff1a;Map 篇 openlayers 入門教程&#xff08;三&#xff09;&#xff1a;View 篇 openlayers 入門教程&a…

【Lua語言】Lua語言快速入門

初始Lua Lua是一種輕量小巧的腳本語言&#xff0c;他使用標準C語言編寫并以源代碼形式開放。這意味著Lua虛擬機可以很方便的嵌入別的程序中&#xff0c;從而為應用程序提供靈活的擴展和定制功能。同時&#xff0c;在目前腳本引擎中&#xff0c;Lua的運行速度占有絕對優勢。 變…

車載診斷新架構--- SOVD初入門(上)

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 周末洗了一個澡,換了一身衣服,出了門卻不知道去哪兒,不知道去找誰,漫無目的走著,大概這就是成年人最深的孤獨吧! 舊人不知我近況,新人不知我過…

linux查看目錄相關命令

查看目錄命令 學習目標 能夠使用Linux命令查看目錄信息 1. 查看目錄命令的使用 命令說明ls查看當前目錄信息tree以樹狀方式顯示目錄信息 ls命令效果圖: tree命令效果圖: 2. 查看當前目錄路徑 命令說明pwd查看當前目錄路徑 pwd命令效果圖: 3. 清除終端內容 命令說明clear…

JavaScript中的Event事件對象詳解

一、事件對象&#xff08;Event&#xff09;概述 1. 事件對象的定義 event 對象是瀏覽器自動生成的對象&#xff0c;當用戶與頁面進行交互時&#xff08;如點擊、鍵盤輸入、鼠標移動等&#xff09;&#xff0c;事件觸發時就會自動傳遞給事件處理函數。event 對象包含了與事件…

OSPF綜合實驗(HCIP)

1&#xff0c;R5為ISP&#xff0c;其上只能配置Ip地址&#xff1b;R4作為企業邊界路由器&#xff0c; 出口公網地址需要通過ppp協議獲取&#xff0c;并進行chap認證 2&#xff0c;整個OSPF環境IP基于172.16.0.0/16劃分&#xff1b; 3&#xff0c;所有設備均可訪問R5的環回&…

2024-04-19| Java: Documented注解學習 JavaDoc

在 Java 中&#xff0c;Documented 是一個元注解&#xff08;meta-annotation&#xff09;&#xff0c;用于標記其他注解&#xff0c;表明這些注解應該被包含在 JavaDoc 文檔中。以下是關于 Documented 注解的作用的簡要說明&#xff1a; 作用 記錄注解信息到 JavaDoc&#x…

15.Chromium指紋瀏覽器開發教程之WebAudio指紋定制

WebAudio指紋概述 瀏覽器中的 WebAudio API 提供了豐富的功能&#xff0c;其中包括了大量生成和處理音頻數據的API。WebAudio API 的音頻指紋技術是一種利用音頻信號的特征來唯一標識音頻的技術。因為WebAudio API 提供了豐富的音頻處理功能&#xff0c;包括合成、過濾、分析等…

2025年贛教云智慧作業微課PPT模板

江西的老師們注意&#xff0c;2025年贛教云智慧作業微課PPT模版和往年不一樣&#xff0c;千萬不要搞錯了&#xff0c;圖上的才是正確的2025年的贛教云智慧作業微課PPT模版&#xff0c;贛教云智慧作業官網有問題&#xff0c;無法正確下載該模板&#xff0c;需要該模板的&#xf…

2.5.1DOS下常用工具 curl,netstat,telnet命令使用

curl命令 Win10及以上系統默認已安裝Curl&#xff0c;打開命令提示符輸入 curl --help&#xff0c;若顯示幫助信息則無需安裝 ??手動安裝方法?? 官網下載&#xff1a;訪問 curl官網 選擇Windows版本curl for Windows若需在 Windows XP 等舊系統使用&#xff0c;需選擇更…

使用Redis實現實時排行榜

為了實現一個實時排行榜系統&#xff0c;我們可以使用Redis的有序集合&#xff08;ZSet&#xff09;&#xff0c;其底層通常是使用跳躍表實現的。有序集合允許我們按照分數&#xff08;score&#xff09;對成員&#xff08;member&#xff09;進行排序&#xff0c;因此非常適合…