Linux學習筆記-文件與文件系統的壓縮與打包(鳥哥9章 老段視頻筆記)

壓縮

壓縮命令

  • compress (源文件不存在)
  • uncompress

compress -c -v services > services.Z

-c(保留源文件)

-v(顯示壓縮過程)

  • gzip 壓縮或者解壓.gz文件

    • gzip + 文件名 壓縮文件
      gzip -d hosts.gz 解壓
      gzip -c hosts > hosts.gz 保留源文件壓縮
    • zcat hosts.gz 查看 hosts.gz 文件內容
  • bzip -d 解壓

    bzip -c hosts > hosts.bz2 保留源文件

    bzcat + 文件,查看內容

  • zip hosts.zip hosts 壓縮,保留源文件

    ubzip hosts.zip

打包

tar只能打包,沒有壓縮功能,可以把很多文件放到一起,會變大
tar cvf hosts.tar hosts

c 創建一個歸檔文件
v 顯示創建歸檔過程
f 指名打包之後的名字

tar cvf hosts.tar  hosts --remove-files             #不保留源文件歸檔
tar tvf hosts.tar                                   #不解檔查看歸檔文件的內容 
tar xvf hosts.tar                                   #解檔到當前路徑下
tar xvf hosts.tar -C /aa                            #解檔到/aa下面
tar xvf hosts.tar hosts                             #解壓歸檔文件中某個文件hosts

想要tar進行壓縮,可以調用gzip
tar zcvf hosts.tar.gz * [z:使用gzip壓縮功能。生成 .tar.gz ]

想要tar進行壓縮,可以調用bzip2

tar jcvf hosts.tar.bz2 * [j:使用bzip壓縮功能。生成 .tar.bz2 ]
tar jxvf hosts.tar.bz2 [bzip解壓]

備份

  1. 完全備份
  2. 增量備份
  3. 差異備份

備份工具 dump

數字指明備份級別:0完全備份,
備份的內容從 上次備份的 比本次小的[級別] 算起開始備份~
所以增量備份是 0 1 2 3
差異備份是 0 9 8 7 6
詳見老段 9(2) 12min

dump -0u -f zlin/1.dump /dev/sda3

-0 以完全備份的形式備份

-u 將備份時間存儲到/etc/dumpdates

-f 指明備份路徑

dump -0u -f zlin/1.dump /dev/sda3 
touch /xx/dd
dump -1u -f zlin/2.dump /dev/sda3
touch /xx/ee
dump -2u -f zlin/3.dump /dev/sda3 

2.dump 備份了dd

3.dump 備份了從上次開始增長的文件 ee

恢復

restore -t -f /rche/1.dump

不恢復的情況下查看備份文件內容。

例子中使用全備份,恢復應該順序恢復1,2,3

restore -r -f /root/zlin/1.dump
restore -r -f /root/zlin/2.dump
restore -r -f /root/zlin/3.dump

-r按照備份文件全部恢復

注意,目錄下有個restroesymtable文件,千萬不要刪除

restore -i -f /root/zlin/1.dump

進入交互的頁面:

restore > ?

restore > ls 備份文件下的內容

restore > add aa bb 恢復aa和bb文件

restore > extract 解壓aa和bb的備份文件。

這裏會問道: set owner/mode for ‘.’ ? [yn]

是否恢復所有者的信息

restore >quit

光盤寫入

  • mkisofs:新建鏡像文件

    mkisofs -o xx.iso file1 file2 file3

    將file1 file2 file3放到鏡像文件xx.iso中

    直接使用cp可以將光盤拷成鏡像文件:cp /dev/cdrom xxx.iso

  • Cdrecord:光盤刻錄工具

其他工具

  • dd

    1. dd創建文件

      dd if=/dev/zero of=file4 bs=1M count=1

      輸入/dev下面的zero,每個zero的大小定義爲1m,拿一個zero組成一個file4

    2. 備份:

      dd if=/dev/sda3 of=test

      會把整個sda3的內容都拿出來放到test中。

      dd if=test of=/dev/sda3

      將test內容恢復到sda3中

    3. 對拷

      dd if=/dev/sda of=/dev/sdb

  • cpio 可以備份數據,但是不知道備份哪些數據

    find -name 'file*' | cpio -o > xx.cpio

    備份前面的命令找到的結果,並將結果打包到xx.cpio

    -o 打包

    cpio -iu < xx.cpio 將xx.cpio解壓出來

    -i 解包

    -u 解包出來文件更新的話將覆蓋源文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章