Linux壓縮文件打包與解壓縮技巧

一、打包文件

在Linux系統中,我們可以使用tar命令進行文件打包。通過將多個文件或目錄打包成一個文件,可以方便地進行傳輸、備份或歸檔。

使用tar命令打包文件的基本格式為:

tar -czvf <壓縮包名稱.tar.gz> <待壓縮文件或目錄>

其中:

  • -c:新建一個打包文件;
  • -z:使用gzip格式壓縮文件;
  • -v:顯示打包的詳細過程;
  • -f:指定打包文件的名稱。

例如,將/home/user1目錄下的所有文件打包成名為myfiles.tar.gz的文件,可以使用以下命令:

tar -czvf myfiles.tar.gz /home/user1

此命令會將/home/user1目錄下所有的文件和子目錄打包成myfiles.tar.gz文件,並且使用gzip格式進行壓縮。在執行該命令後,會在當前目錄下生成一個myfiles.tar.gz壓縮包。

二、解壓縮文件

在Linux系統中,我們可以使用tar命令進行文件解壓縮。通過解壓縮文件,可以還原出原始的多個文件或目錄。

使用tar命令解壓縮文件的基本格式為:

tar -xzvf <壓縮包名稱.tar.gz> [-C <解壓縮目錄>]

其中:

  • -x:解壓縮文件;
  • -z:使用gzip格式解壓縮文件;
  • -v:顯示解壓縮的詳細過程;
  • -f:指定待解壓縮的文件。
  • -C:指定解壓縮目錄,不指定默認解壓縮到當前目錄。

例如,將myfiles.tar.gz解壓縮到/home/user2目錄下,可以使用以下命令:

tar -xzvf myfiles.tar.gz -C /home/user2

此命令會將myfiles.tar.gz壓縮包解壓縮到/home/user2目錄下,並且還原出原始的多個文件或目錄。如果不指定-C參數,則默認解壓縮到當前目錄。

三、打包和解壓縮壓縮包中特定類型的文件

如果只需要打包或解壓縮壓縮包中特定類型的文件,可以使用find命令和管道符結合tar命令進行操作。

例如,將/home/user1目錄下所有的.py文件打包成mypython.tar.gz文件,可以使用以下命令:

find /home/user1 -type f -name "*.py" | tar -czvf mypython.tar.gz -T -

其中:

  • find /home/user1 -type f -name “*.py”:在/home/user1目錄下搜索所有的.py文件;
  • |:管道符,將find命令的輸出作為tar命令的輸入;
  • tar -czvf mypython.tar.gz -T -:將tar命令的輸入設置為管道符左側命令的輸出,並將所有文件打包成mypython.tar.gz文件。

如果需要將mypython.tar.gz壓縮包解壓縮到/home/user2目錄下,可以使用以下命令:

tar -xzvf mypython.tar.gz -C /home/user2 --wildcards "*.py"

其中:

  • –wildcards “*.py”:只解壓縮壓縮包中的.py文件。

四、壓縮和解壓縮大文件

如果待壓縮的文件較大,可能會導致tar命令執行緩慢或失敗。為了解決這個問題,可以使用pigz命令將文件以多線程方式進行gzip壓縮。

例如,將/home/user1目錄下所有的文件以多線程方式進行壓縮,並保存到myfiles.tar.gz壓縮包中,可以使用以下命令:

tar -cf - /home/user1 | pigz -p 4 > myfiles.tar.gz

其中:

  • tar -cf – /home/user1:將/home/user1目錄打包並輸出到標準輸出流;
  • pigz -p 4:使用4個線程進行壓縮;
  • > myfiles.tar.gz:將壓縮後的數據輸出到myfiles.tar.gz文件中。

如果需要使用pigz命令解壓縮文件,可以使用以下命令:

pigz -dc myfiles.tar.gz | tar -xf - -C /home/user2

其中:

  • pigz -dc myfiles.tar.gz:解壓縮myfiles.tar.gz文件並將數據輸出到標準輸出流中;
  • tar -xf – -C /home/user2:將標準輸入流中的數據解壓縮到/home/user2目錄。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/270708.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-16 13:38
下一篇 2024-12-16 13:38

相關推薦

  • 使用vscode建立UML圖的實踐和技巧

    本文將重點介紹在使用vscode在軟件開發中如何建立UML圖,並且給出操作交互和技巧的指導。 一、概述 在軟件開發中,UML圖是必不可少的重要工具之一。它為軟件架構和各種設計模式的…

    編程 2025-04-29
  • 用Python解壓縮壓縮包

    本文將從多個方面對用Python解壓縮壓縮包進行詳細闡述,並給出相應的代碼示例。 一、導入必要的庫 使用Python解壓縮壓縮包需要用到ZipFile庫,因此需要先導入該庫。 im…

    編程 2025-04-29
  • 優秀周記1000字的撰寫思路與技巧

    優秀周記是每個編程開發工程師記錄自己工作生活的最佳方式之一。本篇文章將從周記的重要性、撰寫思路、撰寫技巧以及周記的示例代碼等角度進行闡述。 一、周記的重要性 作為一名編程開發工程師…

    編程 2025-04-28
  • 堆疊圖配色技巧分享

    堆疊圖是數據可視化中常用的一種表現形式,而配色則是影響堆疊圖觀感和傳達信息的重要因素之一。本文將分享一些堆疊圖配色的技巧,幫助你創造更好的數據可視化。 一、色彩搭配原則 色彩是我們…

    編程 2025-04-27
  • 使用uring_cmd提高開發效率的技巧

    對於編程開發工程師來說,提高效率一直是致力追求的目標。本文將深度解析如何使用uring_cmd,提升工作效率。 一、常用命令 uring_cmd是一個非常強大的命令行工具,但是大部…

    編程 2025-04-27
  • 通信專業Python和Java的開發技巧

    本文旨在介紹通信專業Python和Java的開發技巧,為讀者提供實用且可操作的思路和方法。 一、Python在通信領域中的應用 Python是一種優秀的程序設計語言,因其易學易用、…

    編程 2025-04-27
  • 如何在Linux中添加用戶並修改配置文件

    本文將從多個方面詳細介紹在Linux系統下如何添加新用戶並修改配置文件 一、添加新用戶 在Linux系統下創建新用戶非常簡單,只需使用adduser命令即可。使用以下命令添加新用戶…

    編程 2025-04-27
  • 前端引用字體的實現方法和技巧

    對於前端開發人員而言,字體關系著網站的整體美觀度和用戶體驗。為了滿足客戶,開發人員經常需要引用特定的字體。在這篇文章中,我們將會詳細解決前端引用字體的實現方法和技巧。 一、字體引用…

    編程 2025-04-27
  • 如何解決linux jar包 invalid or corrupt jarfile問題

    對於許多開發人員和系統管理員在Linux環境下使用Java開發過程中遇到的一個常見的問題是 invalid or corrupt jarfile(無效或損壞的jar文件)錯誤。當您…

    編程 2025-04-27
  • 在Linux上安裝JRE並配置環境變量

    本文將從以下幾個方面為您詳細闡述如何在Linux系統上,通過自己賬戶安裝JRE,並且配置環境變量。 一、安裝JRE 在進行安裝前,我們需要下載JRE的安裝包並解壓,可以從官方網站下…

    編程 2025-04-27

發表回復

登錄後才能評論