壓縮和歸檔
在linux系統中,最簡單的備份工具就是cp命令。但是當需要備份的檔案、目錄數量較多時,僅僅使用cp 就有點力不從心,大量的備份文件及其所占用的磁碟空間都會對伺服器產生不小的壓力。
利用歸檔操作(相當於「打包」)可以將大量檔案和目錄存為乙個整體的包檔案,以方便傳遞或攜帶。而壓縮操作可以減少打包好的歸檔檔案所占用的磁碟空間,充分提高備份介質的利用率。
1.製作和釋放 .gz 和 .bzip2 格式的壓縮檔案
2.製作和釋放 .zip 格式的壓縮檔案
3.製作 .tar.gz 和 .tar.bz2 包檔案
4.釋放 .tar.gz 和 .tar.bz2 包檔案
1.使用gzip、gunzip壓縮工具
1)建立 .gz 格式的壓縮檔案
將初始化檔案/etc/rc.d/rc.sysinit複製到當前目錄下,作為測試檔案:
1 [root@svr5 ~]# cp /etc/rc.d/rc.sysinit ./
2 [root@svr5 ~]# ls -lh rc.sysinit
3 -rwxr-xr-x 1 root root 27k 09-26 16:20 rc.sysinit
使用gzip壓縮rc.sysinit檔案,原始檔不保留,自動加 .gz 副檔名:
4 [root@svr5 ~]# gzip -9 rc.sysinit9 表示最高壓縮比
5 [root@svr5 ~]# ls -lh rc.sysinit原檔案已不存在
6 -rwxr-xr-x 1 root root 8.5k 09-26 16:20 rc.sysinit.gz
通過上述操作結果可以發現,壓縮前檔案大小為27k,壓縮後變為8.5k,大大減少了磁碟空間的占用。
2)解壓 .gz 格式的壓縮檔案
使用gunzip或者gzip -d來解壓 .gz 格式的壓縮檔案:
7 [root@svr5 ~]# gunzip rc.sysinit.gz與gzip -d rc.sysinit.gz等效
8 [root@svr5 ~]# ls -lh rc.sysinit*
9 -rwxr-xr-x 1 root root 27k 09-26 16:20 rc.sysinit
2.使用bzip2、bunzip2壓縮工具
用法與gzip、gunzip基本一樣:
10 [root@svr5 ~]# bzip2 rc.sysinit
11 [root@svr5 ~]# ls -lh rc.sysinit*
12 -rwxr-xr-x 1 root root 8.4k 09-26 16:20 rc.sysinit.bz2
13 [root@svr5 ~]# bunzip2 rc.sysinit.bz2
14 [root@svr5 ~]# ls -lh rc.sysinit*
15 -rwxr-xr-x 1 root root 27k 09-26 16:20 rc.sysinit
3.使用zip、unzip壓縮工具
在windows系統中內建有對.zip壓縮格式的支援,因此若經常需要在linux與winodws之間傳遞檔案,建議使用.zip格式。
使用zip建立壓縮檔案時,第乙個引數應指定要建立的壓縮檔案名稱, 之後的引數則是要新增到壓縮包內的檔案。與gzip、bzip2不同的是,zip建壓縮包以後,原檔案缺省會保留。
1)建立 .zip 格式的壓縮檔案
以下操作將新建壓縮包mytest.zip,其中包括檔案rc.sysinit和install.log:
16 [root@svr5 ~]# zip mytest.zip rc.sysinit install.log
17 adding: rc.sysinit (deflated 68%)
18 adding: install.log (deflated 75%)
19 [root@svr5 ~]# ls -lh mytest.zip rc.sysinit install.log //原檔案仍在
20 -rw-r--r-- 1 root root 33k 09-26 13:41 install.log
21 -rw-r--r-- 1 root root 17k 09-26 16:35 mytest.zip
22 -rwxr-xr-x 1 root root 27k 09-26 16:20 rc.sysinit
2)解壓 .zip 格式的壓縮檔案
刪除使用zip壓縮過的原檔案,解壓mytest.zip檔案,檢視結果:
23 [root@svr5 ~]# rm -rf rc.sysinit install.log刪除原檔案
24 [root@svr5 ~]# ls -lh rc.sysinit install.log確認刪除結果
25 ls: rc.sysinit: 沒有那個檔案或目錄
26 ls: install.log: 沒有那個檔案或目錄
27 [root@svr5 ~]# unzip mytest.zip解壓mytest.zip包
28 archive: mytest.zip
29 inflating: rc.sysinit
30 inflating: install.log
31 [root@svr5 ~]# ls -lh rc.sysinit install.log檔案又回來了
32 -rw-r--r-- 1 root root 33k 09-26 13:41 install.log
33 -rwxr-xr-x 1 root root 27k 09-26 16:20 rc.sysinit
使用unzip解壓時,可通過-d選項指定要釋放到的目標資料夾。例如,以下操作可以解壓mytest.zip壓縮包後釋放到/root/dir1/資料夾下:
34 [root@svr5 ~]# unzip -d /root/dir1/ mytest.zip解壓到指定目錄
35 archive: mytest.zip
36 inflating: /root/dir1/rc.sysinit
37 inflating: /root/dir1/install.log
38 [root@svr5 ~]# ls -lh /root/dir1/ //確認釋放結果
39 -rw-r--r-- 1 root root 33k 09-26 13:41 /root/dir1/install.log
40 -rwxr-xr-x 1 root root 27k 09-26 16:20 /root/dir1/rc.sysinit
4.使用tar歸檔工具
tar歸檔工具通常與gzip、bzip2等壓縮工具結合在一起使用,但不需要分步完成,而是直接以選項-z呼叫gzip、以選項-j呼叫bzip2。操作格式如下:
製作歸檔:tar [選項]... 歸檔檔案... 原檔案或目錄
釋放歸檔:tar [選項]... 歸檔檔案... [-c 目標目錄]
比較常用的幾個命令選項如下(前導符 - 可省略):
-c:建立 .tar 格式的歸檔檔案
-x:解開.tar格式的歸檔檔案
-c:解包時指定釋放的目標資料夾,不指定則解至當前目錄
-f:表示使用歸檔檔案
-z:呼叫 gzip 執行壓縮或解壓縮
-j:呼叫 bzip2 執行壓縮或解壓縮
1)製作 .tar.gz 和 .tar.bz2格式的歸檔壓縮檔案
將/boot/資料夾歸檔並壓縮,儲存為當前目錄下的boot.tar.gz檔案:
41 [root@svr5 ~]# tar zcf boot.tar.gz /boot製作.tar.gz備份
42 tar: 從成員名中刪除開頭的「/」
43 [root@svr5 ~]# du -sh /boot原大小
44 41m /boot/
45 [root@svr5 ~]# ls -lh boot.tar.gz壓縮後大小
46 -rw-r--r-- 1 root root 39m 09-26 16:51 boot.tar.gz
將庫目錄/lib64歸檔並壓縮,儲存為當前目錄下的lib64.tar.bz2檔案:
47 [root@svr5 ~]# tar jcf lib64.tar.bz2 /lib64/ //製作.tar.bz2備份
48 tar: 從成員名中刪除開頭的「/」
49 [root@svr5 ~]# du -sh /lib64原大小
50 28m /lib64/
51 [root@svr5 ~]# ls -lh lib64.tar.bz2壓縮後大小
52 -rw-r--r-- 1 root root 9.1m 09-26 17:00 lib64.tar.bz2
2)檢視 .tar.gz 和 .tar.bz2歸檔包包括的檔案清單
在未解包的情況下,若要檢視 .tar.gz 或 .tar.bz2 歸檔檔案所包含的檔案列表,可以使用tar命令的 -t 選項。
檢視 boot.tar.gz歸檔包的檔案清單:
53 [root@svr5 ~]# tar ztf boot.tar.gz
54 boot/
55 boot/symvers-2.6.18-348.el5.gz
56 boot/config-2.6.32.61
57 boot/initrd-2.6.18-348.el5.img
58 boot/config-2.6.18-348.el5
59 boot/grub/
60 boot/grub/xfs_stage1_5
61 boot/grub/e2fs_stage1_5
檢視 lib64.tar.bz2歸檔包的檔案清單:
62 [root@svr5 ~]# tar jtf lib64.tar.bz2 | head
63 lib64/
64 lib64/libpcre.so.0.0.1
65 lib64/libnss_winbind.so.2
66 lib64/liblvm2cmd.so.2.02
67 lib64/libpamc.so.0.81.0
68 lib64/libssl.so.6
Linux常用命令
touch 建立空檔案用在無法產生日誌檔案時。cp 加檔案如果是目錄者要加乙個選項r mv 可以進行改名 rmdir刪除空目錄 rm刪除檔案 r 刪除目錄 f 強制刪除 強制刪除目錄 more f 顯示下一頁 enter 下一行 q退出 head n 顯示n行 tail n 顯示後n行 f動態顯示 ...
Linux常用命令總結
liunx幫助命令 help pwd help s pwd 只顯示命令的格式資訊 touch help man ls info ls liunx檔案和目錄操作命令 ls ls l ll 列目錄命令 cd root,cd 目錄更改命令 mkdir directory1 directory2 建立目錄 ...
Linux常用命令手冊
no分類檔案管理 ps1 命令名ls 用法及引數ls a 功能註解 列出當前目錄下的所有檔案,包括以.頭的隱含檔案 對應章節 12345678910111213141516171819 檔案管理檔案管理檔案管理檔案管理檔案管理檔案管理檔案管理檔案管理檔案管理檔案管理檔案管理 lspwdcdcdcdc...