壓縮打包命令

2021-08-26 01:56:26 字數 3953 閱讀 4029

今天在拉取日誌的時候,忽然發現需要拉取的日誌有好幾個,於是就開始打包日誌。

【所要擷取的日誌就是這幾個】

【使用tar命令壓縮】

或者用以下的命令:

現在我們來總結一下:

使用 tar 可以打包整個目錄樹,這使得它特別適合用於備份。歸檔檔案可以全部還原,或從中展開單獨的檔案和目錄。備份可以儲存到基於檔案的裝置或磁帶裝置上。檔案可以在還原時重定向,以便將它們重新放到乙個與最初儲存它們的目錄(或系統)不同的目錄(或系統)。 tar 是與檔案系統無關的。它可以使用在 ext2、ext3、 jfs、reiser 和其他檔案系統上。

使用 tar 非常類似於使用諸如 pkzip 這樣的檔案實用工具。只需將它指向乙個目的(可以是檔案或裝置),然後指定您想要打包的檔案。您可以通過標準的壓縮型別來動態壓縮歸檔檔案,或指定乙個自己選擇的外部壓縮程式。要通過 bzip2 壓縮或解壓縮檔案,可使用 tar -z 命令。

語法:tar (主選項+輔選項) 檔案或者目錄

使用該命令時,主選項是

必須要有的,它告訴tar要做什麼事情,輔選項是輔助使用的可以選用。

主選項:

c 建立新的檔案檔案。如果使用者想備份乙個目錄或是一些檔案,就要選擇這個選項。

r 把要存檔的檔案追加到檔案檔案的未尾。例如使用者已經作好備份檔案,又發現還有乙個目錄或是一些檔案忘記備份了,這時可以使用該選項,將忘記的目錄或檔案追加到備份檔案中。

t 列出檔案檔案的內容,檢視已經備份了哪些檔案。

u 更新檔案。就是說,用新增的檔案取代原備份檔案,如果在備份檔案中找不到要更新的檔案,則把它追加到備份檔案的最後。

x 從檔案檔案中釋放檔案。

輔助選項:

b 該選項是為磁帶機設定的。其後跟一數字,用來說明區塊的大小,系統預設值為20(20*512 bytes)。

f 使用檔案檔案或裝置,這個選項通常是必選的

k 儲存已經存在的檔案。例如我們把某個檔案還原,在還原的過程中,遇到相同的檔案,不會進行覆蓋。

m 在還原檔案時,把所有檔案的修改時間設定為現在。

m 建立多卷的檔案檔案,以便在幾個磁碟中存放。

v 詳細報告tar處理的檔案資訊。如無此選項,tar不報告檔案資訊。

w 每一步都要求確認。

z 用gzip來壓縮/解壓縮檔案,加上該選項後可以將檔案檔案進行壓縮,但還原時

也一

要使用該選項進行解壓縮。

例1:把/home目錄下包括它的子目錄全部做備份檔案,備份檔案名為usr.tar

$ tarcvfusr.tar /home

例2:把/home目錄下包括它的子目錄全部做備份檔案,並進行壓縮,備份檔案名為usr.tar.gz

$ tarczvfusr.tar.gz /home

例3:把usr.tar.gz這個備份檔案還原並解壓縮

$ tar xzvf usr.tar.gz

例4:檢視usr.tar備份檔案的內容,並以分屏方式顯示在顯示器上。

$ tartvfusr.tar | more

要將檔案備份到乙個特定的裝置,只需把裝置名作為備份檔案名。

例5:使用者在/dev/fd0裝置的軟盤中建立乙個備份檔案,並將/home 目錄中所有的檔案

拷貝到備份檔案中。

$ tarcf/dev/fd0 /home

要恢復裝置磁碟中的檔案,可使用xf選項:

$ tarxf/dev/fd0

如果使用者備份的檔案大小超過裝置可用的存貯空間,如軟盤,您可以建立乙個多卷的tar備份檔案。m選項指示tar命令提示您使用乙個新的存貯裝置,當 使用m選項向乙個軟碟機進

存檔時,tar命令在一張軟盤已滿的時候會提醒您再放入一張新的軟盤。這樣您就可以把tar檔案存入幾張磁碟中。

$ tar cmf /dev/fd0 /home

要恢復幾張盤中的檔案,只要將第一張放入軟碟機,然後輸入有x和m選項的tar命令。在

要時您會被提醒放入另外一張軟盤。

$ tar xmf /dev/fd0

例 6:用 tar 來把除 /proc 目錄之外的整個檔案系統備份到 scsi 磁帶裝置。

tar -cpf /dev/st0 / --exclude=/proc

在上面的例子中, -c 開關表示歸檔檔案正在被建立。 -p 開關表示我們希望保留檔案許可許可權,這對良好的備份來說是很關鍵的。 -f 開關指向該歸檔檔案的檔名。在本例中,我們使用的是原始磁帶裝置 /dev/st0。/ 表示我們想要備份的內容。既然我們想要備份整個系統,因此把這個開關指定為根(root)。當把 tar 指向乙個目錄(以 / 結尾)時,它會自動遞迴。最後,我們排除了 /proc 目錄,因為它沒有包含需要儲存的任何內容。如果單盒磁帶容納不下這個備份,我們需要新增 -m 開關(本例中沒有顯示)以進行多卷備份。

要還原乙個或多個檔案,可以使用帶提取開關( -x )的 tar 命令:

tar -xpf /dev/st0 -c /

這裡的 -f 開關同樣指向歸檔檔案, -p 開關表明我們想要還原歸檔的許可權。 -x 開關表明從歸檔中提取檔案。 -c / 表明我們想要讓還原從 / 開始。 tar 通常還原到執行這個命令的目錄。 -c 開關使我們的當前目錄不再相關。

您可能會經常使用的另外兩個 tar 命令是 -t 和 -d 開關。 -t 開關列出某個歸檔檔案的內容。 -d 開關將歸檔檔案的內容與系統上的當前檔案作比較。

為便於操作和編輯,您可以將想要歸檔的檔案和目錄放進乙個文字檔案中,然後在命令列通過 -t 開關引用這個文字檔案。這些檔案和目錄可以與命令列上列出的其他目錄結合起來。下面的命令列備份 myfiles 中列出的所有檔案和目錄、/ 根目錄和 /tmp 目錄中的所有 iso 檔案。

tar -cpf /dev/st0 -t myfiles /root /tmp/*.iso

/etc

/var

/home

/usr/local

/opt

請注意 tar -t (或 files-from )命令不能接受萬用字元。檔案必須明確地列出。上面的例子展示了一種單獨地引用檔案的方法。您還可以執行指令碼來搜尋系統,然後建立乙個列表。下面就是這樣乙個指令碼的例子:

#!/bin/sh

cat myfiles > templist

find /usr/share -iname *.png >> templist

find /tmp -iname *.iso >> templist

tar -cpzmf /dev/st0 -t templist

上面的指令碼首先將 myfiles 中的所有現有檔案列表複製到 templist。然後它執行兩個 find 命令來搜尋檔案系統中匹配某個模式的檔案,並將它們附加到 templist。第一次是搜尋 /usr/share 目錄樹中以 .png 結尾的所有檔案。第二次是搜尋 /tmp 目錄樹中以 .iso 結尾的所有檔案。在建立好列表之後, tar 然後在檔案裝置 /dev/st0 (第乙個 scsi 磁帶裝置)上建立 乙個新的歸檔檔案,該檔案使用 g zip 格式來壓縮,並保留所有檔案許可權。該歸檔檔案將跨越多個卷。要歸檔的檔案的名稱將從 templist 檔案中提取。

還可以使用指令碼來執行更精細的操作,比如增量備份。也可以編寫指令碼來還原檔案,雖然還原通常是手動進行的。正如上面提到過的,用於提取檔案的 -x 開關代替了 -c 開關。可以還原整個歸檔檔案,或者還原指定的個別檔案或者目錄。使用萬用字元來引用歸檔檔案中的檔案是可以的。還可以使用開關來轉儲和還原。

打包壓縮命令

gzip 壓縮 解壓 檔案,壓縮檔案字尾為gz bzip2 壓縮 解壓 檔案,壓縮檔案字尾為bz2 tar 檔案 目錄打 解 包 gzip命令 命令格式 gzip 選項 壓縮 解壓縮 的檔名 引數 d 將壓縮檔案解壓。l 對每個壓縮檔案,顯示壓縮檔案的大小,未壓縮檔案的大小,壓縮比,未壓縮檔案的名字...

打包壓縮命令tar

之前介紹的gzip和bzip2都是壓縮命令,但是它們只可以壓縮單個檔案。如果我們需要壓縮乙個目錄中的所有檔案的話,就需要使用tar。tar的使用簡單,關鍵是做好引數的設定。幾個常用的引數配置如下 1 tar jcv f 壓縮檔案名.tar.bz2 被壓縮檔案名 第乙個檔名是壓縮檔案名,這個需要使用者...

Linux打包壓縮命令

tar cxtzjvfppn filename 引數 範例 root linux gzip cdt filename root linux zcat filename gz引數 範例 root linux bzip2 cdz filename root linux bzcat filename bz...