1. 程式人生 > >Linux下的壓縮和解壓縮

Linux下的壓縮和解壓縮


[[email protected] ~]# tar -ztvf /tmp/etc.tar.gz
# 由於我們使用 gzip 壓縮,所以要查閱該 tar file 內的檔案時,
# 就得要加上 z 這個引數了!這很重要的!

範例三:將 /tmp/etc.tar.gz 檔案解壓縮在 /usr/local/src 底下
[[email protected] ~]# cd /usr/local/src
[[email protected] src]# tar -zxvf /tmp/etc.tar.gz
# 在預設的情況下,我們可以將壓縮檔在任何地方解開的!以這個範例來說,
# 我先將工作目錄變換到 /usr/local/src 底下,並且解開 /tmp/etc.tar.gz ,
# 則解開的目錄會在 /usr/local/src/etc 呢!另外,如果您進入 /usr/local/src/etc
# 則會發現,該目錄下的檔案屬性與 /etc/ 可能會有所不同喔!

範例四:在 /tmp 底下,我只想要將 /tmp/etc.tar.gz 內的 etc/passwd 解開而已
[
[email protected]
~]# cd /tmp
[[email protected] tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
# 我可以透過 tar -ztvf 來查閱 tarfile 內的檔名稱,如果單隻要一個檔案,
# 就可以透過這個方式來下達!注意到! etc.tar.gz 內的根目錄 / 是被拿掉了!

範例五:將 /etc/ 內的所有檔案備份下來,並且儲存其許可權!
[[email protected] ~]# tar -zxvpf /tmp/etc.tar.gz /etc
# 這個 -p 的屬性是很重要的,尤其是當您要保留原本檔案的屬性時!

範例六:在 /home 當中,比 2005/06/01 新的檔案才備份
[
[email protected]
~]# tar -N '2005/06/01' -zcvf home.tar.gz /home

範例七:我要備份 /home, /etc ,但不要 /home/dmtsai
[[email protected] ~]# tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

範例八:將 /etc/ 打包後直接解開在 /tmp 底下,而不產生檔案!
[[email protected] ~]# cd /tmp
[[email protected] tmp]# tar -cvf - /etc | tar -xvf -
# 這個動作有點像是 cp -r /etc /tmp 啦~依舊是有其有用途的!
# 要注意的地方在於輸出檔變成 - 而輸入檔也變成 - ,又有一個 | 存在~
# 這分別代表 standard output, standard input 與管線命令啦!
# 這部分我們會在 Bash shell 時,再次提到這個指令跟大家再解釋囉!




gzip, zcat 命令
[
[email protected]
~]# gzip [-cdt#] 檔名
[[email protected] ~]# zcat 檔名.gz
引數:
-c :將壓縮的資料輸出到螢幕上,可透過資料流重導向來處理;
-d :解壓縮的引數;
-t :可以用來檢驗一個壓縮檔的一致性~看看檔案有無錯誤;
-# :壓縮等級,-1 最快,但是壓縮比最差、-9 最慢,但是壓縮比最好!預設是 -6 ~
範例:
範例一:將 /etc/man.config 複制到 /tmp ,並且以 gzip 壓縮
[[email protected] ~]# cd /tmp
[[email protected] tmp]# cp /etc/man.config .
[[email protected] tmp]# gzip man.config
# 此時 man.config 會變成 man.config.gz !
範例二:將範例一的檔案內容讀出來!
[[email protected] tmp]# zcat man.config.gz
# 此時螢幕上會顯示 man.config.gz 解壓縮之後的檔案內容!!

範例三:將範例一的檔案解壓縮
[[email protected] tmp]# gzip -d man.config.gz

範例四:將範例三解開的 man.config 用最佳的壓縮比壓縮,並保留原本的檔案
[[email protected] tmp]# gzip -9 -c man.config > man.config.gz



bzip2, bzcat 命令
[[email protected] ~]# bzip2 [-cdz] 檔名
[[email protected] ~]# bzcat 檔名.bz2
引數:
-c :將壓縮的過程產生的資料輸出到螢幕上!
-d :解壓縮的引數
-z :壓縮的引數
-# :與 gzip 同樣的,都是在計算壓縮比的引數, -9 最佳, -1 最快!
範例:
範例一:將剛剛的 /tmp/man.config 以 bzip2 壓縮
[[email protected] tmp]# bzip2 -z man.config
# 此時 man.config 會變成 man.config.bz2 !
範例二:將範例一的檔案內容讀出來!
[[email protected] tmp]# bzcat man.config.bz2
# 此時螢幕上會顯示 man.config.bz2 解壓縮之後的檔案內容!!

範例三:將範例一的檔案解壓縮
[[email protected] tmp]# bzip2 -d man.config.bz2

範例四:將範例三解開的 man.config 用最佳的壓縮比壓縮,並保留原本的檔案
[[email protected] tmp]# bzip2 -9 -c man.config > man.config.bz2



compress 命令
[[email protected] ~]# compress [-dcr] 檔案或目錄
引數:
-d :用來解壓縮的引數
-r :可以連同目錄下的檔案也同時給予壓縮呢!
-c :將壓縮資料輸出成為 standard output (輸出到螢幕)
範例:
範例一:將 /etc/man.config 複制到 /tmp ,並加以壓縮
[[email protected] ~]# cd /tmp
[[email protected] tmp]# cp /etc/man.config .
[[email protected] tmp]# compress man.config
[[email protected] tmp]# ls -l
-rw-r--r-- 1 root root 2605 Jul 27 11:43 man.config.Z
範例二:將剛剛的壓縮檔解開
[[email protected] tmp]# compress -d man.config.Z

範例三:將 man.config 壓縮成另外一個檔案來備份
[[email protected] tmp]# compress -c man.config > man.config.back.Z
[[email protected] tmp]# ll man.config*
-rw-r--r-- 1 root root 4506 Jul 27 11:43 man.config
-rw-r--r-- 1 root root 2605 Jul 27 11:46 man.config.back.Z
# 這個 -c 的引數比較有趣!他會將壓縮過程的資料輸出到螢幕上,而不是寫入成為
# file.Z 檔案。所以,我們可以透過資料流重導向的方法將資料輸出成為另一個檔名。
# 關於資料流重導向,我們會在 bash shell 當中詳細談論的啦!



dd 命令
[[email protected] ~]# dd if="input_file" of="outptu_file" bs="block_size" \
count="number"
引數:
if :就是 input file 囉~也可以是裝置喔!
of :就是 output file 喔~也可以是裝置;
bs :規劃的一個 block 的大小,如果沒有設定時,預設是 512 bytes
count:多少個 bs 的意思。
範例:
範例一:將 /etc/passwd 備份到 /tmp/passwd.back 當中
[[email protected] ~]# dd if=/etc/passwd of=/tmp/passwd.back
3+1 records in
3+1 records out
[[email protected] ~]# ll /etc/passwd /tmp/passwd.back
-rw-r--r-- 1 root root 1746 Aug 25 14:16 /etc/passwd
-rw-r--r-- 1 root root 1746 Aug 29 16:57 /tmp/passwd.back
# 仔細的看一下,我的 /etc/passwd 檔案大小為 1746 bytes,因為我沒有設定 bs ,
# 所以預設是 512 bytes 為一個單位,因此,上面那個 3+1 表示有 3 個完整的
# 512 bytes,以及未滿 512 bytes 的另一個 block 的意思啦!
# 事實上,感覺好像是 cp 這個指令啦~

範例二:備份 /dev/hda 的 MBR
[[email protected] ~]# dd if=/dev/hda of=/tmp/mbr.back bs=512 count=1
1+0 records in
1+0 records out
# 這就得好好瞭解一下囉~我們知道整顆硬碟的 MBR 為 512 bytes,
# 就是放在硬碟的第一個 sector 啦,因此,我可以利用這個方式來將
# MBR 內的所有資料都紀錄下來,真的很厲害吧! ^_^

範例三:將整個 /dev/hda1 partition 備份下來。
[[email protected] ~]# dd if=/dev/hda1 of=/some/path/filenaem
# 這個指令很厲害啊!將整個 partition 的內容全部備份下來~
# 後面接的 of 必須要不是在 /dev/hda1 的目錄內啊~否則,怎麼讀也讀不完~
# 這個動作是很有效用的,如果改天你必須要完整的將整個 partition 的內容填回去,
# 則可以利用 dd if=/some/file of=/dev/hda1 來將資料寫入到硬碟當中。
# 如果想要整個硬碟備份的話,就類似 Norton 的 ghost 軟體一般,
# 由 disk 到 disk ,嘿嘿~利用 dd 就可以啦~厲害厲害!



cpio 命令
[[email protected] ~]# cpio -covB > [file|device] <==備份
[[email protected] ~]# cpio -icduv < [file|device] <==還原
引數:
-o :將資料 copy 輸出到檔案或裝置上
-i :將資料自檔案或裝置 copy 出來系統當中
-t :檢視 cpio 建立的檔案或裝置的內容
-c :一種較新的 portable format 方式儲存
-v :讓儲存的過程中檔名稱可以在螢幕上顯示
-B :讓預設的 Blocks 可以增加至 5120 bytes ,預設是 512 bytes !
   這樣的好處是可以讓大檔案的儲存速度加快(請參考 i-nodes 的觀念)
-d :自動建立目錄!由於 cpio 的內容可能不是在同一個目錄內,
如此的話在反備份的過程會有問題! 這個時候加上 -d 的話,
就可以自動的將需要的目錄建立起來了!
-u :自動的將較新的檔案覆蓋較舊的檔案!
範例:
範例一:將所有系統上的資料通通寫入磁帶機內!
[[email protected] ~]# find / -print | cpio -covB > /dev/st0
# 一般來說,使用 SCSI 介面的磁帶機,代號是 /dev/st0 喔!
範例二:檢查磁帶機上面有什麼檔案?
[[email protected] ~]# cpio -icdvt < /dev/st0
[[email protected] ~]# cpio -icdvt < /dev/st0 > /tmp/content
# 第一個動作當中,會將磁帶機內的檔名列出到螢幕上面,而我們可以透過第二個動作,
# 將所有的檔名通通紀錄到 /tmp/content 檔案去!

範例三:將磁帶上的資料還原回來~
[[email protected] ~]# cpio -icduv < /dev/st0
# 一般來說,使用 SCSI 介面的磁帶機,代號是 /dev/st0 喔!

範例四:將 /etc 底下的所有『檔案』都備份到 /root/etc.cpio 中!
[[email protected] ~]# find /etc -type f | cpio -o > /root/etc.cpio
# 這樣就能夠備份囉~您也可以將資料以 cpio -i < /root/etc.cpio
# 來將資料捉出來!!!!

相關推薦

奪命雷公狗---linux NO:25 linux壓縮和解壓縮

問題 bz2 回來 ood 而已 開始 獨立 class 很難 llinux 下的壓縮和windows上的壓縮基本上是同樣目的的,有些文件便於傳輸,有些文件在備份的時候會用到壓縮,因為他只占用很少的資源。。。。。 而且絕大多數的病毒很難感染壓縮文件。。。 gzip: 主

Linuxrar 命令壓縮和解壓詳解

保持 介紹 詳細 註意 壓縮 rar 縮進 command 解壓縮 例1:添加文件或目錄到壓縮檔案中,使用a命令。例如把文件files1添加到abc.rar中,使用a或m命令,a命令把file1文件添加到abc.rar檔案中保持原有的file1文件不變,m命令移動file1

Linux rar包壓縮和解

一、RAR for Linux安裝 1、Linux本身不支援unrar和rar命令,需要我們安裝RAR for Linux,地址:https://www.rarlab.com/download.htm 選擇對應的版本進行下載。 2、命令列解壓:tar -xzf rarlinux-x

Linux常用的壓縮和解壓縮命令大全

tar命令   解包:tar zxvf FileName.tar   打包:tar czvf FileName.tar DirName gz命令   解壓1:gunzip FileName.gz   解壓2:gzip -d FileName.gz   壓縮:gzip FileNam

Linux壓縮和解壓縮命令——jar

JAR包是Java中所特有一種壓縮文件,其實大家就可以把它理解為.zip包。當然也是有區別的,JAR包中有一個META-INF\MANIFEST.MF檔案,當你找成JAR包時,它會自動生成。 JAR包是由JDK安裝目錄\bin\jar.exe命令生成的,當我們安裝好JDK,

linux壓縮和解壓縮

這幾天在做壓縮 需要rar,zip,gz,tgz格式的 仔細分析一下 Rar需要unrar這個軟體 Zip需要unzip這個軟體 Gz需要gzip這個軟體 Tgz需要tar和gzip結合 Tar和gzip都是linux下預設的,剩下的就需要 sudo apt-get ins

Linux壓縮和解壓縮命令

tar -c: 建立壓縮檔案 -x:解壓 -t:檢視內容 -r:向壓縮歸檔檔案末尾追加檔案 -u:更新原壓縮包中的檔案 這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。下面的引數是根據需要在壓縮或解壓檔案時可選的。 -z:有gzip屬

Linux壓縮和解壓縮

[[email protected] ~]# tar -ztvf /tmp/etc.tar.gz # 由於我們使用 gzip 壓縮,所以要查閱該 tar file 內的檔案時, # 就得要加上 z 這個引數了!這很重要的! 範例三:將 /tmp/etc.tar.gz 檔案解壓縮在 /usr/loc

Linux打包、壓縮和解

可選 通過 算法 是把 保留 .tar.xz best 性能 簡單 命令使用:tar 主選項+輔選項 壓縮後文件名 要壓縮的文件 -c 建立壓縮文件(常用) -x 解壓(常用) -t 查看壓縮文件(常用) -r 向壓縮文件末尾追加文件 -u 更新一個壓縮包中

Linux的簡單壓縮相關操作

spa code nbsp 內容 需求 分割線 某個文件 blog pan 一、需求:壓縮/data到/tmp下 操作: 1 [[email protected]/* */ /]# tar zcf /tmp/data.tar.gz data/

Linux的tar壓縮壓縮命令詳解

命令 .tar.gz 需要 logo 意思 追加 lin 產生 ron tar -c: 建立壓縮檔案-x:解壓-t:查看內容-r:向壓縮歸檔文件末尾追加文件-u:更新原壓縮包中的文件 這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只

linux壓縮和解壓縮命令大全

linux壓縮和解壓縮命令大全①?tar命令  解包:tar zxvf FileName.tar  打包:tar czvf FileName.tar DirName*************************************************************************

Linux 文件壓縮和解壓縮工具基礎

Linux的壓縮與解壓縮早期Linux使用的壓縮工具是compress/uncompress,壓縮後的文件後綴為.Zgzip/gunzip/zcat 壓縮後的文件是.gzbzip2/bunzip2 壓縮後的文件是.bz2xz/unxz 壓縮後文件是.xzzip/unzip 歸檔工具tar cpio 純粹的歸檔

linux打包與壓縮

包名 大小 方便 文件 nbsp 視頻 查看 more 文本文 歸檔   文檔很多,很亂, 方便使用、查閱、閱讀 已於管理(批量刪除文件) 壓縮 a.txt /etc/passwd 文本文件壓縮後很省空間 aaa.jpeg 壓縮

Linux中常用的壓縮和解壓縮工具

linux 壓縮 一、相關術語 壓縮:通過算法將文件儲存空間減小,以時間換空間的一種操作 壓縮比:某個文件壓縮操作之前與壓縮之後的大小比值二、Linux中常用的壓縮工具 compress/uncompress 會在文件名的後面增加.Z的後綴名;xxx.Z,用的很少,算法較差

Linux的tar壓縮壓縮命令詳解(轉)

壓縮歸檔 增加 all log 參數 -c 內容 net logo tar -c: 建立壓縮檔案-x:解壓-t:查看內容-r:向壓縮歸檔文件末尾追加文件-u:更新原壓縮包中的文件 這五個是獨立的命令,壓縮解壓都要用到其中一個,可以和別的命令連用但只能用其中一個。下面的參數是

Linux 壓縮和解壓縮命令-gzip/gunzip

這就是 inux tar命令 查看 版本 依然 遞歸 color 好用 gzip命令 gzip命令用來壓縮文件。gzip是個使用廣泛的壓縮程序,文件經它壓縮過後,其名稱後面會多處“.gz”擴展名。 gzip是在Linux系統中經常使用的一個對文件進行壓縮和解壓縮的命令,既方

Linux壓縮和解壓縮

gzip/gunzip壓縮 只能壓縮檔案不能壓縮目錄 不保留原來的檔案 gzip+檔案 (壓縮檔案,只能將檔案壓縮為*.gz檔案) gunzip+檔案.gz (功能描述:解壓縮檔案命令) zip/unzip壓縮 zip zip twinkle.zi

linux壓縮和解壓縮命令,stp本地檔案上傳下載和ssh連線與傳輸

linux 上檔案解壓縮指令 tar命令   解包:tar zxvf FileName.tar   打包:tar czvf FileName.tar DirName      解壓:tar zxvf FileName.tar.gz   壓縮:tar zcvf FileName.

Linux檔案解壓縮、軟體安裝

1、linux常用解壓縮命令:.zip格式  解壓:unzip  檔名.zip   壓縮:zip  檔名.zip  目錄名 .tar格式  壓縮:tar  cvf  檔名.tar  檔名