-
1 # 愛說閒話的張雲舞
-
2 # 程式設計師小助手
前言
果然都是windows重度使用者,本文帶你用Linux的角度看“壓縮”!
劃重點相對於windows下的滑鼠點點拖拖,linux在終端,大機率是用不著介面操作檔案和資料夾的。
Linux是開放原始碼的,由數量龐大的GNU軟體搭建而成。本文的壓縮軟體,無毒是肯定的(因為犯不著,留後門,是不想在開源界混了嗎?)。
打包壓縮,解壓縮軟體千千萬,打包解包的指令只一個——tar。
好用指出,我想都不用多說了吧。
使用man tar檢視該手冊,重點的功能描述,和示例都圈出來了。
因為一般的壓縮軟體,僅能對單個檔案進行壓縮,如果對於目錄,是無法操作的。所以這時候需要“打包”,把一堆雜七雜八的檔案,甭管什麼往一個包裡一裝。這就是一個整體,然後呼叫壓縮指令,就可以了。這也是linux系統實踐中最常用的方法。
英文的不直觀,下面是中文的引數註釋。
壓縮軟體終於說到壓縮軟體了。Linux下還有不少選擇,常見一些壓縮檔案的副檔名會有
*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2, *.xz我們知道,linux的文件副檔名是沒有用的,這樣寫只是用於標識,該文件是基於那個軟體產生的。
Linux下用的最多的,當屬 gzip,bzip2,和xz。由於使用習慣,我們重點介紹一下gzip這款壓縮軟體。
gzip是GNU軟體,業已取代了較為古舊的compress指令。完全支援windows下使用較高的zip檔案的壓縮解壓。
後來GNU又開發出了bzip2和xz,這些壓縮效果比較好,效率比較高的軟體。但是這3款軟體,通暢僅能針對一個檔案進行壓縮和解壓縮。這樣的話,如果操作為數眾多的檔案,豈不崩潰!
所以,就體現出上一節所說tar打包指令的重要性。
這些工具聯合起來,威力無比!
言歸正傳。下面是gzip的常用引數和使用方式。
gzip [-cdtv#] 檔名其中,
-c 將壓縮資料輸出到終端stdout
-d 解壓縮
-t 用來減壓一個壓縮檔案的一致性,檢查檔案是否有誤
-v 視覺化顯示原檔案,壓縮檔案壓縮比等資訊
下面透過例子來說明其用法。我們使用圖片展示這個過程。
前提是我們建立了一個目錄
mkdir -pv /tmp/gzip_demo然後建立一個隨機檔案,並填充一些內容
openssl rand -base64 1024984 > log生成的單檔案log使用gzip進行壓縮
gzip -v log可以看到,壓縮比率和目標檔名。log檔案被替換。這是gzip的工作原理。
在預設情況下,原本的檔案會被壓縮為 gz 為字尾的文件,原始檔不復存在。這與windows下的winrar,7zip等軟體完全不同,一定要注意,注意,注意!
組裝起來,更強大!Linux下的指令,透過管道符的助力,可以讓你的程式碼隨著思緒飛舞,一行解決戰鬥,瞬間搞定!
下面結合打包指令tar,進行一些更為複雜的壓縮操作。
示例1:打包某幾個目錄,但是排除一些特定目錄
例如,打包 /etc和/root目錄,但是 /root/etc* 開頭的檔案,不需要打包和壓縮。將新生成的壓縮包放置在 /root/system.tar.gz 內。
指令需要像下面這樣寫:
tar -zcv -f /root/system.tar.bz2 --exclude=/root/etc* --exclude=/root/system.tar.gz /etc /root逐一說明引數的用法:
-z 使用 gzip 壓縮
-c 建立文件
-v 展示詳細資訊
--exclude 指定不包含規則
因為目標文件也在壓縮文件內,所以一定要追加到 --exclude 選項內。否則死迴圈。
示例2:僅備份/etc目錄下修改日期在2019-10-01之後的檔案
直接上指令:
tar -zcv -f /root/etc.newer.tar.gz --newer-mtime="2019/10/01" /etc/*主要使用了 --newer-mtime 選項。別的都與上一條一致。
結語好了,簡短寫到這兒吧。Linux下工具很多,效率很高,持續多年生產環境打磨,效能穩定的一匹。你值得信賴。
windows下,動不動就要授權,動不動就要彈廣告的壓縮軟體,真的不堪回首。
也許只有Linux才能給你清潔無毒,白蓮花般的壓縮體驗!
Happy coding :-)
-
3 # 我愛我家255202658
360壓縮,360壓縮是新一代的壓縮軟體,永久免費。360壓縮相比傳統壓縮軟體更快更輕巧,支援解壓主流的rar、zip、7z、iso等多達42種壓縮檔案。360壓縮內建雲安全引擎,可以檢測木馬,更安全
回覆列表
推薦Bandizip
市面上可選的壓縮軟體很多,比如呼聲較高的winrar、7-zip、360壓縮什麼的,這些算是相對沒有廣告的;而好壓、快壓之流就屬於廣告彈窗奇多的流氓軟體了;綜合看下來,我認為Bandizip是最好的。
首先,它沒有廣告、免費使用。然後就是Windows和Mac OS都支援,並且支援的格式多,選單自定義性強,可以根據自身使用習慣作調整。
說一下我是如何設定的在常規設定中,我會關掉軟體自動更新
而關於上下文選單,雙擊動作我選擇【用Bandizip開啟】
選擇解壓選單,我勾選【解壓到...】和【預覽壓縮檔案】
它的意思是在你右鍵某個壓縮檔案時,可以預覽壓縮檔案內容,而【解壓到...】指的是解壓到當前目錄以壓縮檔名命名的一個資料夾中,而不是一大片零碎檔案鋪滿當前資料夾。
壓縮選單,我會勾選【新增到“壓縮檔名.zip”】,然後當你右鍵某個或若干個檔案或資料夾時,可以方便的壓縮打包。個人一般用zip格式,你喜歡用其他的當然也行。
然後解壓設定我會取消勾選【解壓完成後不要關閉進度視窗】
壓縮設定同樣取消勾選【壓縮完成後不要關閉進度視窗】
就這樣,簡潔高效的壓縮軟體已經配置好了