zip,rar及linux下常用的壓縮格式

来源:https://www.cnblogs.com/hongbo-tao/archive/2019/12/08/11930849.html
-Advertisement-
Play Games

日常操作中我們經常使用到文件壓縮操作,其使用一些特定的演算法來減小文件的大小,可以提高傳輸數據時的速率和減少數據在一些存儲機制上占有的空間大小,實現空間利用最大化。 比如:如果你想通過郵箱發送一個文件夾,你會發現可能行不通,怎麼辦呢,難道將文件夾內的內容一個個發送嗎?顯然不用,因為郵箱不支持文件夾這種 ...


日常操作中我們經常使用到文件壓縮操作,其使用一些特定的演算法來減小文件的大小,可以提高傳輸數據時的速率和減少數據在一些存儲機制上占有的空間大小,實現空間利用最大化。

 

比如:如果你想通過郵箱發送一個文件夾,你會發現可能行不通,怎麼辦呢,難道將文件夾內的內容一個個發送嗎?顯然不用,因為郵箱不支持文件夾這種格式,所以我們需要將文件夾壓縮,或將眾多文件歸檔後壓縮後,才能進行發送,這樣不僅對應了郵箱支持的格式,而且還將提升傳輸效率。

 


 

任何一個文件在電腦上儲存都有它的格式,現今各操作系統中最常用的壓縮格式zip, rar;從功能上看rar格式比zip格式的壓縮率更高,但壓縮解壓縮的時間也高於zip格式。當然除這兩種格式外,還有很多的壓縮格式。以下簡述在命令行上壓縮歸檔命令的一些技巧:

 

  • zip格式,由程式員菲爾卡次1989年發表,zip原義有拉鏈,速度的含義。zip在Linux,Mac os, Windows平臺上都可以看到他的身影,雖然它在Linux下不太廣泛,但在與其他平臺交流數據時就很有用了。

 

1:在linux系統下用zip命令創建歸檔壓縮文件:zip -r file.zip dir  //-r 表示對目錄進行遞歸式歸檔

-q表示安靜模式,不顯示任何執行過程中的信息。

-d選項可以刪除歸檔文件中一個或多個文件。 zip -d file.zip file1 file2 ...

 

2:unzip 可以提取出zip中的內容(相當於解壓縮): unzip file.zip ;-l選項則可以列出壓縮歸檔文件中的內容。 

 

  • rar格式,開發者為尤金·羅謝爾,全名是“Roshal ARchive”,即“羅謝爾的歸檔”之意;多用於數據壓縮與歸檔打包。

 

  • Linux下常用的的gz (gzip), bz2(bzip2), lzma格式:

1: gzip的使用方法(命令行, ->表示左邊操作得到右邊):

壓縮:gzip filename->fliename.gz

解壓縮:gunzip filename.gz->filename

列出壓縮文件的屬性信息:gzip -l filename.gz->各文件的具體信息

 

2: 因為gzip壓縮只針對單個文件或數據流,所以時常與tar結合使用:

方式為先創建tar歸檔文件: tar -cvf filename.tar file1 file2 ... -> filename.tar

再使用gzip壓縮: gzip filename.tar->filename.tar.gz

因為tar支持選項-z以gzip格式壓縮,所以也可以:tar -cvzf filename.tar.gz file1 file2 .... ->filename.tar.gz

 

3:bzip2,lzma在功能與語法上與gzip相似,bzip2的壓縮效率高於gzip,lzma最高

解壓縮bzip2格式文件: bunzip filename.bz2 -> filename

解壓縮lzma格式文件: unlzma filename.lzma -> filename

也可以使用-j, --lzma選項使用tar分別進行bzip2, lzma格式的壓縮。

 

瞭解一些常見的壓縮文件格式利於我們區分各式各樣的文件噢。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 安裝Docker CentOS 7 安裝 Docker 編寫Dockerfile 右鍵項目-》添加-》Docker 支持 選擇Linux 修改為如下: FROM mcr.microsoft.com/dotnet/core/aspnet:2.2-stretch-slim AS base WORKDIR ...
  • 知識需要不斷積累、總結和沉澱,思考和寫作是成長的催化劑 梯子 一、鎖1、lock2、Interlocked3、Monitor4、SpinLock5、Mutex6、Semaphore7、Events1、AutoResetEvent2、ManualResetEvent3、ManualResetEvent ...
  • 大家好,這幾天試著從Github上拉取AspNetCore的源碼,嘗試著通過Visual Studio 打開,但是並不盡人意。我們需要去構建我們拉去的源代碼,這樣才可以通過VisualStudio可還原的項目。畢竟AspNetCore是一個巨型的項目集。 先決條件 在Windows中構建AspNet ...
  • HttpReports 簡單介紹 HttpReports 是 .Net Core下的一個Web組件,適用於 WebAPI 項目和 API 網關項目,通過中間件的形式集成到您的項目中, 通過HttpReports,可以讓開發人員快速的搭建出一個 API 性能分析的基礎報表網站。 主要包含 HttpRe ...
  • 在前幾篇里痞子衡介紹的Boot Device都屬於主動啟動的Master Boot Device(Serial(Multi-IO) NOR, SD/eMMC),試想一下如果遇到這樣的情況,你選擇啟動的某個Master Boot Device正常工作一段時間後某次開機突然因為某種未知原因無法啟動了,此... ...
  • 回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" gawk支持的正則 . 匹配任意字元,包括換行符 ^ $ [...] [^...] | + ? () {m} {m,} {m,n} {,n} [:lower:] [:upper:] [:alpha:] [:digit:] [ ...
  • 回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" awk變數 awk的變數是動態變數,在使用時聲明。 所以awk變數有3種狀態: 未聲明狀態:稱為untyped類型 引用過但未賦值狀態:unassigned類型 已賦值狀態 引用未賦值的變數,其預設初始值為空字元串或數值0 ...
  • 回到: "Linux系列文章" "Shell系列文章" "Awk系列文章" 輸出操作 awk可以通過print、printf將數據輸出到標準輸出或重定向到文件。 print 逗號分隔要列印的欄位列表,各欄位都 會自動轉換成字元串格式 ,然後通過預定義變數OFS(output field separa ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...