Linux下檔案與檔案系統的壓縮與打包

2021-09-24 09:58:15 字數 2018 閱讀 8965

linux系統常見的壓縮指令

gzip,zcat

gzip可以說是應用度最廣的壓縮命令了,目前gzip可以解開compress,zip與gzip等軟體所壓縮的檔案,gzip所建立的壓縮檔案為*.gz的檔名

bzip2,bzcat

bzip2是為了取代gzip並提供更佳的壓縮比而來的,用法基本相同

打包指令tar

tar [-j|-z] [cv] [-f建立的檔名] filename  <==打包與壓縮
tar [-j|-z] [tv] [-f建立的檔名]    <==檢視檔名
tar -jxv -f filename.tar.bz2 -c 欲解壓的目錄  <==解壓縮
選項與引數:

-c:建立打包檔案,可搭配-v來檢視過程中被打包的檔名

-t:檢視打包檔案中包含哪些檔名

-x:解打包或解壓縮的功能,可搭配-c在特定目錄解開

-j:透過bzip2的支援進行壓縮/解壓縮:此時檔名最好為*.bar.bz2

-z:透過gzip的支援進行壓縮/解壓縮:此時檔名最好為*.bar.gz

-v:在壓縮/解壓縮的過程中,將正在處理的檔名顯示出來

-f filename:-f 後面要立即接要被處理的檔名,建議-f單獨寫乙個選項

-c目錄:這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項

-p:保留備份資料原本許可權與屬性,常用於備份(-c)重要的配置檔案

-p:保留絕對路徑,亦即允許被封資料中含有根目錄存在之意

需要注意的是我們使用查詢命令查出來的備份的打包壓縮檔案是沒有根目錄的,因為我們使用tar備份的資料可能會解壓縮回來使用,在tar所記錄的檔名(就是使用tar -jtvf所檢視到的檔名)就是解壓縮後的實際檔名,如果拿掉了根目錄,假設你將備份資料在 /tmp 解開,那麼解壓縮的檔名就會變成『/tmp/etc/***』。 但『如 果沒有拿掉根目錄,解壓縮後的檔名就會是絕對路徑, 亦即解壓縮後的資料一定會被放置到 /etc/*** 去!』如此一來,你的原本的 /etc/ 底下的資料, 就會被備份資料所覆蓋過去了。

僅解開單一檔案的方法

例如: tar -jtv -f /root/etc.tar.bz2 | grep 『shadow』

打包某目錄,但不包含該目錄下的某些檔案的做法

透過–exclude 的幫忙,就是不包含的意思

tar -jcv -f/root/system.tar.bz2 --exclude=/root/etc*\

> --exclude=/root/system.tar.bz2 /etc/root

上面的命令是打包/etc/ /root目錄,但不打包/root/etc*開頭的檔案,並且不打包自己,上面的指令是可以一行寫完的,如果要兩行寫完,就需要在第一行末加上反斜槓()然後立刻按下[enter],就能夠在第二行繼續輸入了

僅備份比某個時刻新的檔案

有兩個選項,乙個是『 --newer 』另乙個就是『 --newer-mtime 』,當使用 --newer 時,表示後續的日期包含『 mtime 與 ctime 』,而 --newer-mtime 則僅是 mtime 而已

基本名稱:tarfile,tarball

如果僅僅是打包,則稱為tarfile,如果還有進行壓縮的支援,則稱為tarball

特殊應用:利用管線命令和資料流

​ 在 tar的使用中,有一種方式最特殊,那就是透過標準輸入輸出的資料流重導向(standard input/standard output), 以及管線命令 (pipe) 的方式,將待處理的檔案一邊打包一邊解壓縮到目標目錄

cd/tmp

tar -cvf - /etc | tar -xvf -

需要注意的是輸出檔和輸入檔都變成 -

在上面的例子中,想要『將 /etc 底下的資料直接 copy 到目前所在的路徑,也就是 /tmp 底下』,但是又覺得使用 cp -r 有點麻煩,那麼就直接以這個打包的方式來打包

linux下檔案系統和檔案編輯

一 linux檔案和目錄許可權操作 每乙個檔案和目錄的訪問許可權都有三組,每組用三位表示 1 檔案所屬的使用者具有讀 寫和可執行許可權 2 和檔案 目錄所屬的使用者的同組使用者只有讀和寫的許可權 3 其他使用者具備讀的許可權 rwxrw r 1 xiaoru xiaoru 444 jun 25 07...

linux檔案系統與根檔案系統

檔案系統 與 根檔案系統 要不我們就統一簡稱為fs和rfs 檔案系統 file system fs 根檔案系統 root file system rfs。首先你考慮一點描述語句 根檔案系統也是一種 檔案系統 可以認為是一種 特殊的 檔案系統 為什麼是叫 特殊的 呢?是因為這種 根 檔案系統 承載著某...

linux下檔案系統型別的學習

1 以超級使用者許可權登陸linux,進入 lib modules 2.6.32 504.el6.x86 64 kernel fs目錄執行 ls 命令 不同linux發行版本的fs目錄有些不同你可以用查詢fs資料夾的方法找到它 如下圖所示 這裡我們對最常用的幾個檔案系統的發展情況和優缺點作詳細介紹 ...