Linux(6):文件與文件系統的壓縮,打包與備份

壓縮文件的用途與技術

由于 1 byte = 8 bits ,所以每個byte當中會有8個空格,而每個空格可以是0,1

其實文件里面有相當多的『空間』存在,并不是完全填滿的,而『壓縮』的技術就是將這些『空間』填滿,以讓整個文件占用的容量下降。
『壓縮過的文件]并無法直接被操作系統所使用的,因此,若要使用這些被壓縮過的文件數據,則必須解壓縮』將他『還原』回來未壓縮前的模樣。

壓縮比等于壓縮后與壓縮的文件所占用的磁盤空間大小的比值。

Linux 系統常見的壓縮指令

常見的幾個壓縮拓展名:
在這里插入圖片描述

gzip,zcat/zmore/zless/zgrep

gzip 可以解開:compress,zip 與 gzip 等軟件所壓縮的文件。gzip 所建立的壓縮文件為 *.gz。

gzip [-cdtc#] 檔名

在這里插入圖片描述可以使用 zcat 讀取壓縮文件

zcat 檔名

cat/more/less 可以使用不同的方式來讀取純文本檔;
zcat/zmore/zless 則可以對應于 cat/more/less 的方式來讀取純文本檔被壓縮后的壓縮文件;
由于 gzip這個壓縮指令主要想要用來取代compress 的,所以不但 compress 的壓縮文件案可以使用gzip 來解開,同時 zcat這個指令可以同時讀取compress 與gzip 的壓縮文件。
egrep可以用來搜尋關鍵詞:從文字壓縮文件當中找數據

bzip2,bzcat/bzmore/bzless/bzgrep

bzip2 [-cdkzv#] 檔名
bzcat 檔名.bz2

在這里插入圖片描述
bzip2 壓縮時間比 gzip 久,壓縮率高。

xz,xzcat/xzmore/xzless/xzgrep

xz [-dtlkc#] 檔名
xcat 檔名.xz

在這里插入圖片描述
它可以將 gzip壓縮比的21% 進一步優化到 15%。時間久。。。。

打包指令:tar

打包與壓縮:

tar [-zl-jl-I] [cv] [-f 待建立的新檔名] filename...

查看檔名:

tar [-zl-jl-I] [tv] [-f 已有檔名]

解壓縮:

tar [-zl-jl-I] [xv] [-f 已有檔名] [-C 目錄]

在這里插入圖片描述
僅解開單一文件:使用 -jtv 找到要的檔名,將該檔名解開

tar -jtv -f /root/etc.tar.bz2|gep '要的文檔名'
## 找到后,解開
tar -jxv -f 壓縮包.tar.baz2 待解開的文檔名

打包某目錄,但不含某些文件:使用 --exclude

tar -jcv -f /root/system.tar.bz2 --exclude=/root/etc*

僅備份比某個時刻新的文件:使用 --newer-mtime

tar -jcv -f /root/etc.newer.then.paswd.tar.bz2 --newer-mtime="2015/06/17" /etc/*

tar 打包出來的文件有沒有進行壓縮所得到文件稱呼不同:
如果僅是打包而已,就是[tar -cv -f file.tar]而已,這個文件我們稱呼為 tarfile
如果還有進行壓縮的支持,例如[tar-jcv -f file.tar.bz2]時,稱呼為 tarball

在 tar 的使用中,有一種方式最特殊,那就是透過標準輸入輸出的數據流重導向(standard input/standard output),以及管線命令(pipe)的方式,將待處理的文件一邊打包一邊解壓縮到目標目錄去。

tar -cvf - /etc | tar -xvf -
#這個動作有點像是cp -r /etc /tmp
#要注意的地方在于輸出檔變成-而輸入檔也變成-,又有一個Ⅰ存在~
#一這分別代表standard output , standard input與管線命令
#簡單的想法中,可以將 – 想成是在內存中的一個裝置(緩沖區)。

XFS 文件系統的備份與還原

xfsdump 除了可以進行文件系統的完整備份外,還可以進行累積備份。
累積備份:在第一次使用xfsdump進行完整備份后,等過一段時間的文件系統自然運作后,再進行第二次xfsdump時,就可以選擇累積備份了,此時新備份的數據只會記錄與第一次完整備份所有差異的文件。
第一份備份一定是完整備份,完整備份在 xfsdump 當中被定義為 level 0。第二次備份時,被定義為 level1,比較過后,備份有變化的文件。。。

xfsdump 限制:
1.xfsdump 不支援沒有掛載的文件系統備份,所以只能備份已掛載的;
2.xfsdump 必須使用root的權限才能操作(涉及文件系統的關系);
3.xfsdump 只能備份XFS 文件系統;
4.xfsdump 備份下來的數據文件或儲存媒體)只能讓 xfsrestore 解析
5.xfsdump 是透過文件系統的UUID來分辨各個備份檔的,因此不能備份兩個具有相同UUID 的文件系統

xfsdump [-L S_label] [-M M_label] [-1 #] [-f 備份檔] 待備份資料

在這里插入圖片描述
特別注意,xfsdump 預設僅支持文件系統的備份,并不支持特定目錄的備份
所以不能用 xfsdump去 備份/etc,因為 /etc 從來就不是一個獨立的文件系統。

xfsrestore文件系統還原

xfsrestore -I
xfsrestore [-f 備份檔] [-L S_label] [-s] 待復原目錄
xfsrestore [-f 備份文件] -r 待復原目錄
xfsrestore [-f 備份文件] -i 待復原目錄

在這里插入圖片描述

光盤寫入工具

文本模式的刻錄行為:
1.先將所需要備份的數據建置成為一個映像檔(iso),利用 mkisofs 指令來處理;
2.將該映像文件刻錄至光盤或 DVD 當中,利用 cdrecord 指令來處理。

mkisofs:建立映像檔

mkisofs [-o 映像檔] [-Jrv] [-V vol] [-m file] 待備份文件... -graft-point isodir=systemdir ...

在這里插入圖片描述
光盤的格式一般稱為 iso9660,這種格式一般僅支持舊版的 DOS 檔名,亦即檔名只能以8.3(文件名8個字符,擴展名3個字符)的方式存在。
如果加上 -r 的選項之后,那么文件信息能夠被記錄的比較完整,可包括 UID/GID 與權限等等。

一般預設的情況下,所有要被加到映像檔中的文件都會被放置到映象文件中的根目錄,如此一來可能會造成刻錄后的文件分類不易的情況。所以,可以使用-graft-point這個選項,當你使用這個選項之后,可以定義位于映像文件中的目錄。

可透過wodim來寫入CD或DVD 刻錄機

其他常見的壓縮與備份工具

dd

dd 可以讀取磁盤裝置的內容(幾乎是直接讀取扇區"sector"),然后將整個裝置備份成一個文件。

dd if="input_file" of="output_file" bs="block size" count="number"

在這里插入圖片描述

默認 dd 是一個一個扇區去讀/寫的,而且即使沒有用到的扇區也會倍寫入備份檔中。因此這個文件會變得跟原本的磁盤一模一樣大。

dd 可備份完整的 partition 或 disk ,因為 dd 可讀取磁盤的 sector 表面數據。

cpio

cpio 可以備份任何東西,包括裝置設備文件

cpio -ovcB > [file|device] <=備份
cpio -ivcdu < [file|device] <=還原
cpio -ivct < [file|device] <=察看

在這里插入圖片描述

cipo 必須要搭配類似 find 指令來讀入欲備份的文件名數據

《鳥哥的Linux私房菜-基礎篇》學習筆記

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

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

相關文章

微信小程序商城實例mpvue-xbyjShop-master(附精選源碼32套,涵蓋商城團購等)

mpvue-xbyjShop 基于mpvue的微信小程序商城&#xff08;小程序端&#xff0c;服務端&#xff09; 小程序端 技術棧 mpvue mpvue-router-patch mpvue-entry vuex webpack ES6/7 flyio mpvue-wxparse 項目運行 微信開發中工具選中mpvue-xbyjShop/buyer作為項目目錄即可功…

JavaScript的學習

HTML的學習-CSDN博客 從html的學習中 其實我已經用到了 JavaScript的腳本 &#xff08;GPT&#xff09; 例如 echo <script>alert("賬號密碼錯誤"); window.location"index.html";</script>; 彈窗 然后定位到 index.html 這里能夠讓我們更…

品牌線上竄貨查的出來嗎

如果竄貨不治理會出現什么局面&#xff0c;顯見的當然是渠道混亂&#xff0c;低價叢生&#xff0c;嚴重的還會導致真假混賣&#xff0c;最后所有的后果都會由品牌承擔&#xff0c;口碑的影響是必然的&#xff0c;那品牌的衰敗也會是一種趨勢&#xff0c;所以治理竄貨是品牌發展…

C現代方法(第22章)筆記——輸入/輸出

文章目錄 第22章 輸入/輸出22.1 流22.1.1 文件指針22.1.2 標準流和重定向22.1.3 文本文件與二進制文件 22.2 文件操作22.2.1 打開文件22.2.2 模式22.2.3 關閉文件22.2.4 為打開的流附加文件22.2.5 從命令行獲取文件名22.2.6 臨時文件22.2.7 文件緩沖22.2.8 其他文件操作 22.3 格…

Windows | 模仿網易云任務欄實現自定義按鈕及縮略圖

前言 最近更新網易云發現任務欄按鈕中除了播放相關的按鈕&#xff0c;多了一個喜歡的按鈕&#xff1a; 之前我一直以為網易云任務欄的按鈕只是 Windows 為音樂軟件專門提供的&#xff0c;于是我又看了一眼系統自帶的播放器&#xff0c;發現并沒有愛心按鈕&#xff1a; 這時我就…

計算給定字符串中各個數字的和的平均值…… ← Python 列表

【題目描述】 給定字符串 s"9876543210"。 請編程計算給定字符串中各個數字的和的平均值&#xff0c;并統計大于平均值的數字個數。【算法分析】 ◆ alist("abcd") # Create a list with characters a, b, c, d◆ eval(a[i]) # Converts characters to i…

C在國內就業已經拉胯,ChatGPT告訴我的

文章目錄 一、前言二、ChatGPT查到的數據三、數據亮點 1.C語言近3年數據大跌2.招聘數量每年都在劇增的是全棧工程師3.薪資漲幅最高的是全棧和網安 四、結語 一、前言 不僅前在微信群里搭建了一個ChatGPT 5.0做智能助手&#xff0c;讓他來幫我回答群問題&#xff0c; 搭建好…

數十億美元商機!英國數字基礎設施公司Equinix與法國量子計算公司Alice Bob 合作

?&#xff08;圖片來源&#xff1a;網絡&#xff09; 近日&#xff0c;全球數字基礎設施公司Equinix宣布與全球領先的法國量子計算公司Alice & Bob合作&#xff0c;旨在共同開發市場上最為可靠的量子處理器之一。此次合作將使Equinix公司的客戶通過使用Equinix Metal和Eq…

好的程序員有什么特質呢?

程序員想要提升自己&#xff0c;一定要關注到工作中的方方面面。而一個好的程序員&#xff0c;一般都有這些特質&#xff1a; 弱者抱怨環境&#xff0c;強者改變環境 不要試圖通過抱怨環境來獲得工作環境上的改變&#xff0c;這不僅不會給你帶來任何實質性的改變&#xff0c;…

自定義字符-攝氏度漢字一

本文為博主 日月同輝&#xff0c;與我共生&#xff0c;csdn原創首發。希望看完后能對你有所幫助&#xff0c;不足之處請指正&#xff01;一起交流學習&#xff0c;共同進步&#xff01; > 發布人&#xff1a;日月同輝,與我共生_單片機-CSDN博客 > 歡迎你為獨創博主日月同…

springboot+vue項目如何集成onlyoffice開源文檔組件

一、onlyoffice是什么 ONLYOFFICE 是一個開源的辦公套件&#xff0c;適合多人在線協作。由總部位于總部在拉脫維亞的 IT 公司Acensio System SIA 開發。它提供在線協作文檔編輯器&#xff08;包括文檔、電子表格、演示文稿和表單&#xff09;&#xff0c;適用于 Windows、Linu…

python tkinter使用(五)

python tkinter使用(五) 本篇文章講述tkinter 中treeview的使用 Treeview是一個多列列表框&#xff0c;可以顯示層次數據。 #!/usr/bin/python3 # -*- coding: UTF-8 -*- """Author: zhTime 2023/11/23 下午8:28 .Email:Describe: treeview 使用 "&quo…

項目經理面試題持續更新

1.項目中常用的文檔有哪些&#xff1f; 1、可行性報告 可行性報告的目的是調查和展示任務要求&#xff0c;并確定項目是否值得和可行。可行性由五個主要因素驗證——技術和系統、成本、法律、運營和進度。次要可行性因素包括市場、資源和文化因素。 2、項目章程 項目章程是證明…

Linux上自動掛載windows下的網絡共享文件夾

比如我們想在ubuntu上掛載一個windows的共享文件夾&#xff0c;我們可以用如下方式實現。 首先我們將windows下的文件夾右鍵選擇【屬性】&#xff0c;然后選擇【共享】。 選擇需要共享的用戶&#xff0c;然后設置權限級別。 點擊共享&#xff0c;然后點擊完成。 這樣我們在wi…

Go語言網絡爬蟲工程經驗分享:pholcus庫演示抓取頭條新聞的實例

網絡爬蟲是一種自動從互聯網上獲取數據的程序&#xff0c;它可以用于各種目的&#xff0c;如數據分析、信息檢索、競爭情報等。網絡爬蟲的實現方式有很多&#xff0c;不同的編程語言和框架都有各自的優勢和特點。在本文中&#xff0c;我將介紹一種使用Go語言和pholcus庫的網絡爬…

基于opencv+ImageAI+tensorflow的智能動漫人物識別系統——深度學習算法應用(含python、JS、模型源碼)+數據集(一)

目錄 前言總體設計系統整體結構圖系統流程圖 運行環境爬蟲1.安裝Anaconda2.安裝Python3.63.更換pip源4.安裝Python包5.下載phantomjs 模型訓練1.安裝依賴2.安裝lmageAl 實際應用1.前端2.安裝Flask3.安裝Nginx 相關其它博客工程源代碼下載其它資料下載 前言 本項目通過爬蟲技術…

Word怎么看字數?簡單教程分享!

“我在寫文章時&#xff0c;總是想看看寫了多少字。但是我發現我的Word無法看到字數。在Word中應該怎么查看字數呢&#xff1f;請幫幫我&#xff01;” Word是一個廣泛使用的文檔編輯工具。在我們編輯文章時&#xff0c;如果想查看寫了多少字&#xff0c;也是可以輕松完成的。 …

leetcode:環形鏈表的入環點

題目描述 題目鏈接:力扣&#xff08;LeetCode&#xff09;官網 - 全球極客摯愛的技術成長平臺 題目分析 我們假設起點到環的入口點的距離是L&#xff0c;入口點到相遇點的距離是X&#xff0c;環的長度是C 那么畫圖我們可以得知&#xff1a; 從開始到相遇時slow走的距離是LX從…

Adobe的組織工具程序Bridge 2024 版本下載與安裝

目錄 前言一、Bridge 2024安裝二、使用配置總結 前言 Adobe Bridge是由 Adobe 公司開發的一款用于管理和組織創意資產的工具。它是Adobe Creative Cloud 套件的一部分&#xff0c;為設計師、攝影師和其他創意專業人員提供了一個集中管理和瀏覽其多媒體文件的平臺。注&#xff…

Ubuntu開機顯示No bootable devices found

Ubuntu開機報錯&#xff0c;顯示顯示No bootable devices found&#xff0c;如下圖所示&#xff1a; 解決方案如下&#xff1a; 1. F2進入BIOS (1) 重啟開啟&#xff0c;按F2進入BIOS系統。 (2) 進入Boot Sequence&#xff0c;目前系統選擇了UEFI&#xff0c;而Legacy選項為…