筆者之前接觸的歸檔和備份都是在windows下完成的佛猛,而在linux就可以通過簡單的命令行來完成這項操作。頓時就便捷了許多坠狡。
首先是對文件進行壓縮继找,通過gzip(可以用來壓縮一個或多個文件)程序來實現(xiàn)。首先創(chuàng)建一個名為foo.txt的文本文件逃沿,其內(nèi)容包含一個目錄的列表清單婴渡,然后運行g(shù)zip命令,它會把原始文件替換為一個叫做foo.txt.gz的壓縮文件凯亮,在foo.*文件列表中边臼,可以看到原始文件被壓縮文件所替代,大小大概是原始文件的十五分之一假消,壓縮的文件與原始文件有著同樣的權(quán)限和時間柠并。接下來運行 gunzip(用來把壓縮文件復(fù)原為沒有被壓縮的文件)程序來解壓文件,下一步就是用-t和-v選項來測試了壓縮文件的完整性。另外臼予,bzip2程序使用了不同的壓縮算法亿傅,舍棄了壓縮速度,從而實現(xiàn)了更高的壓縮級別瘟栖,用擴展名.bz2來表示。
接著是歸檔文件谅阿,經(jīng)典的工具是用tar程序半哟,它是一款制作磁帶備份的工具,它也同樣適用于其它的存儲設(shè)備签餐。首先重新創(chuàng)建之前用過的操練場寓涨,下一步,創(chuàng)建整個操練場的tar包氯檐,需要注意的是戒良,必須先指定模式,然后才是其它的選項冠摄,接著糯崎,抽取tar包playground到一個新位置,這就需要先創(chuàng)建一個foo的新目錄河泳,更改目錄沃呢,并抽取tar包中的文件,此時檢查目錄中的內(nèi)容拆挥,就會看到這個文件已經(jīng)被成功的安裝了薄霜,就是創(chuàng)建了一個精確的原始文件的副本。另外纸兔,tar命令處理歸檔文件路徑名的方式也非常有趣惰瓜,默認狀況下,路徑名是相對的汉矿,而不是絕對路徑崎坊。
其次,zip程序既是壓縮工具负甸,也是一個打包工具流强,在windows中用戶會比較熟悉,因為它讀取和寫入.zip文件呻待,而在linux中g(shù)zip和bzip2是主要的壓縮文件打月。在創(chuàng)建zip版本的文件包時,zip命令通常會顯示一系列的信息蚕捉,這些信息顯示了添加到文件包中每個文件的狀態(tài)奏篙。zip命令會使用2種存儲方法之一,其中之一就是會store沒有壓縮的文件,還有一種就是會deflate文件秘通,執(zhí)行壓縮操作为严,zip命令可以接受標(biāo)準(zhǔn)輸入,二
而unzip程序卻不接受標(biāo)準(zhǔn)輸入肺稀。
最后第股,同步文件和目錄也是很重要的一部分。對本地文件使用rsync命令话原,首先夕吻,清空foo目錄,其中包括了-a選項(遞歸和保護文件屬性)和-v選項(冗余輸出)繁仁,來在foo目錄中制作一個playground目錄的鏡像涉馅,目錄之間不存在差距,因此不需要復(fù)制任何數(shù)據(jù)黄虱,若修改了文件稚矿,rsync命令監(jiān)測到修改,并且只是復(fù)制了更新的文件捻浦。