日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux-basic(9)文件与文件系统的压缩与打包

發布時間:2023/12/3 linux 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux-basic(9)文件与文件系统的压缩与打包 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【9.1】壓縮文件的用途與技術

【9.2】linux系統常見的壓縮命令
1)壓縮文件的擴展名大多是 tar, tar.gz, tgz, gz, Z, bz2 等;如下圖所示:

(1)
Linux上常見的壓縮命令就是 gzip 與 bzip2 ,至於 compress 已經不再流行了。

【9.2.1】Compress
1)CentOS 默認并沒有安裝這個軟件到系統當中,所以想要了解這個軟件的使用時,請先安裝 ncompress 這個軟件。

【9.2.2】gzip, zcat
1)目前 gzip 可以解開 compress, zip 與 gzip 等軟件所壓縮的文件。 至於 gzip 所創建的壓縮檔為 *.gz 的檔名喔!
【荔枝】 gzip命令

(2)

(3)

(4)

(5)

補充:-9 壓縮比最好,但壓縮時間最長;
(6)
【9.2.3】bzip2, bzcat
1)介紹:若說 gzip 是為了取代 compress 并提供更好的壓縮比而成立的,那么 bzip2 則是為了取代 gzip 并提供更佳的壓縮比而來的。 bzip2 真是很不錯用的東西~這玩意的壓縮比竟然比 gzip 還要好~至於 bzip2 的用法幾乎與 gzip 相同!

【荔枝】bzip2

(7)

(8)

(9)

(10)
【補充】壓縮和打包的區別
補充1)壓縮:前一小節談到的命令大多僅能針對單一文件來進行壓縮,雖然 gzip 與 bzip2 也能夠針對目錄來進行壓縮, 不過,這兩個命令對目錄的壓縮指的是“將目錄內的所有文件 "分別" 進行壓縮”的動作。即將各個文件壓縮后,再打包到一個目錄;
補充2)打包:這種將多個文件或目錄包成一個大文件的命令功能,我們可以稱呼他是一種打包命令;這是將所有數據包成一個文件;

【9.3】打包命令:tar
1)tar 可以將多個目錄或文件打包成一個大文件,同時還可以透過 gzip/bzip2 的支持,將該文件同時進行壓縮!?

【荔枝】tar

(11)
其實最簡單的使用 tar 就只要記憶底下的方式即可:
? ● 壓 縮:tar -jcv -f filename.tar.bz2 要被壓縮的文件或目錄名稱
? ● 查 詢:tar -jtv -f filename.tar.bz2
? ● 解壓縮:tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄

【荔枝】使用 tar 加入 -j 或 -z 的參數備份 /etc/ 目錄

(12)
補充:優先使用 bzip 即 -j 參數進行壓縮;因為壓縮效果好;

【荔枝】查閱 tar 文件的數據內容(可察看檔名),與備份檔名有否根目錄的意義

(13)
【注意】上面的每個文件都沒跟目錄了;
那為什么要拿掉根目錄呢?
主要是為了安全!我們使用 tar 備份的數據可能會需要解壓縮回來使用, 在 tar 所記錄的檔名 (就是我們剛剛使用 tar -jtvf 所察看到的檔名) 那就是解壓縮后的實際檔名。 如果拿掉了根目錄,假設你將備份數據在 /tmp 解開,那么解壓縮的檔名就會變成『/tmp/etc/xxx』。 但『如果沒有拿掉根目錄,解壓縮后的檔名就會是絕對路徑, 亦即解壓縮后的數據一定會被放置到 /etc/xxx 去!』如此一來,你的原本的 /etc/ 底下的數據, 就會被備份數據所覆蓋過去了!

【荔枝】如果你確定你就是需要備份根目錄到 tar 的文件中,那可以使用 -P (大寫) 這個選項:

(14)

(15)
【荔枝】將備份的數據解壓縮,并考慮特定目錄的解壓縮動作 (-C 選項的應用)?

(16)
【荔枝】僅解開單一文件的方法

(17)
【荔枝】打包某目錄,但不含該目錄下的某些文件之作法:通過 --exclude 來實現

(18)
【荔枝】僅備份比某個時刻還要新的文件

(19)

(20)
補充:以上操作可以對文件進行差異打包;

【注意】打包和壓縮的不同:tarfile, tarball ?
如果僅是打包而已,就是tar -cv -f file.tar 而已,這個文件我們稱呼為 tarfile 。?
如果還有進行壓縮的支持,例如 tar -jcv -f file.tar.bz2 時,我們就稱呼為 tarball (tar 球?)!

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

(21)
【9.4】完整備份工具: dump
【9.4.1】dump

(22)
【荔枝】用 dump 備份完整的文件系統

(23)
1)補充:這樣很簡單的就創建起來 /root/home.dump 文件,該文件將整個 /home/ 文件系統都備份下來了! 并且將備份的時間寫入 /etc/dumpdates 文件中,準備讓下次備份時可以作為一個參考依據。

(24)
2)檢查看看能否真的創建 level 1 的備份呢?

(25)

(26)
差異備份:僅備份更改的文件;

【荔枝】用 dump 備份非文件系統,亦即單一目錄的方法
說明) 現在讓我們來處理一下 /etc 的 dump 備份吧!因為 /etc 并非單一文件系統,他只是個目錄而已。 所以依據限制的說明, -u, level 1~9 都是不適用的。我們只能夠使用 level 0 的完整備份將 /etc 給他 dump 下來。

(27)
補充:一般來說 dump 不會使用包含壓縮的功能,不過如果你想要將備份的空間降低的話,那個 -j 的選項是可以使用的。 加上 -j 之后你的 dump 成果會使用較少的硬盤容量啦!

【9.4.2】恢復備份文件的命令restore: dump 的復原使用的是 restore 這個命令!

(28)
【荔枝】用 restore 觀察 dump 后的備份數據內容

(29)
【荔枝】比較差異并且還原整個文件系統
為什么 dump 可以進行累積備份呢?就是因為他具有可以查詢文件系統與備份文件之間的差異, 并且將分析到的差異數據進行備份的緣故。

(30)
【9.5】光盤寫入工具
mkisofs:新建鏡像文件;
cdrecord 光盤刻錄工具;

【9.6】其他常見的壓縮與備份工具
【9.6.1】dd:dd 可以讀取磁碟裝置的內容(幾乎是直接讀取磁區"sector"),然后將整個裝置備份成一個文件呢!

(31)

(32)

(33)
【總結】tar 可以用來備份關鍵數據,而 dd 則可以用來備份整顆 partition 或 整顆 disk。

【9.6.2】cpio
1)簡介:這個命令挺有趣的,因為 cpio 可以備份任何東西,包括裝置設備文件。一般來說, cpio 得要配合類似 find 等可以找到檔名的命令來告知 cpio 該被備份的數據在哪里啊!

(34)
【荔枝】cpio + find 備份文件數據

(35)

(36)
【荔枝】其實系統里面已經含有一個使用 cpio 創建的文件喔!那就是 /boot/initrd-xxx 這個文件啦! 現在讓我們來將這個文件解壓縮看看,看你能不能發現該文件的內容為何?

(37)
【9.7】重點回顧
? ● 壓縮命令為透過一些運算方法去將原本的文件進行壓縮,以減少文件所占用的磁碟容量。 壓縮前與壓縮后的文件所占用的磁碟容量比值, 就可以被稱為是『壓縮比』
? ● 壓縮的好處是可以減少磁碟容量的浪費,在 WWW 網站也可以利用文件壓縮的技術來進行數據的傳送,好讓網站頻寬的可利用率上升喔
? ● 壓縮文件的擴展名大多是:『*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2』
? ● 常見的壓縮命令有 gzip 與 bzip2 ,其中 bzip2 壓縮比較之 gzip 還要更好,建議使用 bzip2 !
? ● tar 可以用來進行文件打包,并可支持 gzip 或 bzip2 的壓縮。
? ● 壓 縮:tar -jcv -f filename.tar.bz2 要被壓縮的文件或目錄名稱
? ● 查 詢:tar -jtv -f filename.tar.bz2
? ● 解壓縮:tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄
? ● dump 命令可備份文件系統或單一目錄
? ● dump 的備份若針對文件系統時,可進行 0-9 的 level 差異備份!其中 level 0 為完整備份;
? ● restore 命令可還原被 dump 建置的備份檔;
? ● 要創建光盤燒錄數據時,可透過 mkisofs 命令來建置;
? ● 可透過 cdrecord 來寫入 CD 或 DVD 燒錄機
? ● dd 可備份完整的 partition 或 disk ,因為 dd 可讀取磁碟的 sector 表面數據

? ● cpio 為相當優秀的備份命令,不過必須要搭配類似 find 命令來讀入欲備份的檔名數據,方可進行備份動作。




總結

以上是生活随笔為你收集整理的linux-basic(9)文件与文件系统的压缩与打包的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。