A. 用tar怎麼打包,解壓
tar命令使用 壓縮:tar cvfz 目標文檔 源文檔1 [源文檔2...]
例如:tar cvfz m.tar.gz hello.cpp hello.h //m.tar.gz是目標文檔,hello.cpp和hello.h是源文檔
解壓:tar xvfz 目標文檔
例如:tar xvfz m.tar.gz //在當前目錄下將壓縮包文檔m.tar.gz解壓縮
上面的簡單用法基本夠用了,以下是從別的地方轉來的其他一些用法,但我從來沒用過,暫時存放一下。1.文檔或目錄打包:tar -cvf /u0/temp2.tar /usr/lib將/usr/lib目錄下的文檔和子目錄打包成一個文檔庫為/u0/temp2.tar。tar -cvf /u0/temp2.tar /usr/lib *.c *.f將/usr/lib目錄下的*.c *.f等文檔(不含子目錄)打包。注意:假如指定文檔如*.c *.f或*.*,則打包時均不含子目錄。假如指定為.或*,則含子目錄。2.壓縮:compress /u0/temp2.tar壓縮為/u0/temp2.tar.z3.解壓:uncompress /u0/temp2.tar.Z則還原為/u0/temp2.tar4.解包展開:tar -xvf /u0/temp2.tar若以相對路徑打包的,解包時,以相對路徑存放展開的文檔數據;若以絕對路徑打包的,解包時,以絕對路徑存放展開的文檔數據。若指定展開的文檔名,須注意文檔的目錄路徑。5.顯示:tar -tvf /u0/temp2.tar 顯示文檔庫內的文檔名稱。當指定文檔名時,亦須注意文檔的路徑。
tar命令
tar能夠為文檔和目錄創建檔案。利用tar,用戶能夠為某一特定文檔創建檔案(備份文檔),也能夠在檔案中改變文檔,或向 檔案中加入新的文檔。tar最初被用來在磁帶上創建檔案,現在,用戶能夠在任何設備上創建檔案,如軟盤。利用tar命令,能夠把一大堆的文檔和目錄全部打 包成一個文檔,這對於備份文檔或將幾個文檔組合成為一個文檔以便於網路傳輸是很有用的。linux上的tar是GNU版本的。
語法: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。
$ tar cvf usr.tar /home
例2:把/home目錄下包括他的子目錄全部做備份文檔,並進行壓縮,備份文檔名為usr.tar.gz 。
$ tar czvf usr.tar.gz /home
例3:把usr.tar.gz這個備份文檔還原並解壓縮。
$ tar xzvf usr.tar.gz
例4:查看usr.tar備份文檔的內容,並以分屏方式顯示在顯示器上。
$ tar tvf usr.tar | more
要將文檔備份到一個特定的設備,只需把設備名作為備份文檔名。
例5:用戶在/dev/fd0設備的軟盤中創建一個備份文檔,並將/home 目錄中任何的文檔都拷貝到備份文檔中。
$ tar cf /dev/fd0 /home
要恢復設備磁碟中的文檔,可使用xf選項:
$ tar xf /dev/fd0
如 果用戶備份的文檔大小超過設備可用的存貯空間,如軟盤,您能夠創建一個多卷的tar備份文檔。M選項指示tar命令提示您使用一個新的存貯設備,當使用M 選項向一個軟碟機進行存檔時,tar命令在一張軟盤已滿的時候會提醒您再放入一張新的軟盤。這樣您就能夠把tar檔案存入幾張磁碟中。
$ tar cMf /dev/fd0 /home
要恢復幾張盤中的檔案,只要將第一張放入軟碟機,然後輸入有x和M選項的tar命令。在必要時您會被提醒放入另外一張軟盤。
$ tar xMf /dev/fd0
B. linux tar壓縮解壓縮文件夾、文件命令詳解
linux tar壓縮解壓縮文件夾、文件命令詳解
直接先上三個常用命令
1.壓縮當前目錄下文件夾/文件yk到yk.tar.gz:
2.解壓縮當前目錄下的yk.tar.gz到file:
參數詳解
五個命令中必選一個
-c: 建立壓縮檔案
-x:解壓
-t:查看內容
-r:向壓縮歸檔文件末尾追加文件
-u:更新原壓縮包中的文件
這幾個參數是可選的
-z:有gzip屬性的
-j:有bz2屬性的
-Z:有compress屬性的
-v:顯示所有過程
-O:將文件解開到標准輸出
-f必選參數
-f: 使用檔案名字,這個參數是最後一個參數,後面只能接檔案名。
查看
在不解壓的情況下查看壓縮包的內容:
C. linux--8、打包壓縮文件命令
tar命令用於對文件打包壓縮或解壓:
$ tar [選項] [文件]
以下是tar命令的常用參數:
tar是個打包的命令,它的作用是將一堆的文件或目錄歸檔成一個.tar結尾的文件。生成tar包後,就可以用其他的壓縮程序來對tar包進行壓縮。
我們在上面看到的 -z 參數就是對tar包用Gzip程序進行了壓縮,最後才生成了 .tar.gz 結尾的壓縮包。如果不用 -z 參數而使用 -j 參數,也就是用bzip2程序壓縮tar包,最後就會生成 .tar.bz2 結尾的壓縮包。
使用tar命令打包壓縮的一個好處是,它會保留原始文件的許可權和屬性。
我們經常會在windows系統上使用 .zip 格式的壓縮文件,在linux中也可以將文件和目錄壓縮成zip格式,或者解壓zip格式的壓縮包。
但是zip的缺點是不能保留文件的許可權和屬性,解壓後需要我們自己用chmod重新設置文件的許可權。
D. AIX 中的tar打包疑問
tar最早是給磁帶備份用的,打出來的包叫歸檔文件,所以默認不帶刪除操作。
如果想打包後刪除文件可以帶--remove-files參數,如:
tar --remove-files -cf test.tar ~/test
E. AIX 下使用tar命令打包一個文件的速率是多少
你說呢...
F. aix系統 解壓tar.gz文件用什麼命令
就是用tar命令,tar -xzvf。
G. tar命令是怎麼使用
tarball壓縮格式,源於Linux的一個指令,Windows上可以用WinRAR打開
Linux的實用程序tar最初是為了製作磁帶存檔而設計的(把文件和目錄復制到磁帶中,然後從存檔中提取或恢復文件),而現在的應用中可以把它用於任何設備,它是數據備份中最常用的命令之一。
下面具體介紹tar命令的使用方法:
(1)格式:tar
參數
......
(2)參數:
c:
創建備份(Create)
v:
表示回顯模式(Verbose),將產生一系列備份的文件列表
f:
指定使用的備份文件,它後面的參數為輸出的備份文件名
x:
展開備份文件
t:
顯示備份文件的內容
T:
後面跟隨一個文件參數,指定從這個文件中讀取要備份的各個文件的路徑。如果不使用T參數,那麼就需要一個參數,指明進行備份文件和目錄的路徑
Z:
使用壓縮方式創建和解開備份文件,這是GNU的新版tar的功能,需要同時安裝gzip。
例如:
$
tar
cvf
backup.tar
/etc
上面的命令將/etc下的所有文件打包成tar存檔文件backup.tar。tar的第一個參數「cvf」,是tar的命令參數,「c」告訴
tar創建一個存檔文件;「v」選項迫使tar採用冗長模式,即在存檔時列印每個文件名;「f」選項告訴tar下一個參數backup.tar是創建的存檔文件名。
下面一行的命令將tar文件backup.tar解開並放到當前工作目錄下。必須說明的是這樣做是有危險的,因為在從tar文件中解開文件時,舊文件將被覆蓋。
$
tar
xvf
backup.tar
在解開tar文件之前,知道在何處打開文件是非常重要的。例如,假設存檔以下文件:/etc/hosts,/etc/group和/etc/passwd。如果用下述命令:
$
tar
cvf
backup.tar
/etc/hosts
/etc/group
/etc/passwd
目錄/etc會被加到每個文件名前。為了將文件展開到正確位置,需要用下述命令:
$
cd
/
$
tar
xvf
backup.tar
這是因為文件從存檔文件中抽取出路徑名,如果用下述命令存檔文件:
$
cd
/etc
$
tar
cvf
hosts
group
passwd
這樣目錄名就不存在存檔文件中,因此需要在展開文件之前用「cd
/etc」命令進入目錄etc。由此可見,tar文件的創建方式與在何處展開有很大關系。
命令:
$
tar
tvf
backup.tar
在解開tar文件之前顯示tar文件的索引,用這種方式可以看到存檔文件中與文件名有關的目錄名,從而在正確位置上展開存檔文件。
H. linux系統中tar命令的使用詳解
Linux系統中tar命令是針對tar包的解壓縮命令,下面由我為大家整理了linux系統中tar命令的使用詳解,希望對大家有幫助!
linux系統中tar命令的使用詳解
一、tar命令用法
#壓縮
tar -czvf ***.tar.gz
tar -cjvf ***.tar.bz2
#解壓縮
tar -xzvf ***.tar.gz
tar -xjvf ***.tar.bz2
+++++++++++++++++++++++++++++++++++++++++++++
二、tar命令參數說明
-c :建立一個壓縮檔案的參數指令(create 的意思);
-x :解開一個壓縮檔案的參數指令!
-t :查看 tarfile 裡面的檔案!
特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!
因為不可能同時壓縮與解壓縮。
-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
-v :壓縮的過程中顯示檔案!這個常用,但不建議用在背景執行過程!
-f :使用檔名,請留意,在 f 之後要立即接檔名喔!不要再加參數!
例如使用『 tar -zcvfP tfile sfile 』就是錯誤的寫法,要寫成
『 tar -zcvPf tfile sfile 』才對喔!
-p :使用原檔案的原來屬性(屬性不會依據使用者而變)
-P :可以使用絕對路徑來壓縮!
-N :比後面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的檔案中!
--exclude FILE:在壓縮的過程中,不要將 FILE 打包!
三、tar命令使用範例
範例一:將整個 /etc 目錄下的檔案全部打包成為 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc <==僅打包,不壓縮!
[root@linux ~]# tar -czvf /tmp/etc.tar.gz /etc <==打包後,以 gzip 壓縮
[root@linux ~]# tar -cjvf /tmp/etc.tar.bz2 /etc <==打包後,以 bzip2 壓縮
# 特別注意,在參數 f 之後的檔案檔名是自己取的,我們習慣上都用 .tar 來作為辨識。
# 如果加 z 參數,則以 .tar.gz 或 .tgz 來代表 gzip 壓縮過的 tar file ~
# 如果加 j 參數,則以 .tar.bz2 來作為附檔名啊~
# 上述指令在執行的時候,會顯示一個警告訊息:
# 『tar: Removing leading `/' from member names 』那是關於絕對路徑的特殊設定。
範例二:查閱上述 /tmp/etc.tar.gz 檔案內有哪些檔案?
[root@linux ~]# tar -tzvf /tmp/etc.tar.gz
# 由於我們使用 gzip 壓縮,所以要查閱該 tar file 內的檔案時,
# 就得要加上 z 這個參數了!這很重要的!
範例三:將 /tmp/etc.tar.gz 檔案解壓縮在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -xzvf /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 解開而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -xzvf /tmp/etc.tar.gz etc/passwd
# 我可以透過 tar -tzvf 來查閱 tarfile 內的文件名稱,如果單只要一個檔案,
# 就可以透過這個方式來下達!注意到! etc.tar.gz 內的根目錄 / 是被拿掉了!
範例五:將 /etc/ 內的所有檔案備份下來,並且保存其許可權!
[root@linux ~]# tar -czvpf /tmp/etc.tar.gz /etc
# 這個 -p 的屬性是很重要的,尤其是當您要保留原本檔案的屬性時!
範例六:在 /home 當中,比 2005/06/01 新的檔案才備份
[root@linux ~]# tar -N '2005/06/01' -czvf home.tar.gz /home
範例七:我要備份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar --exclude /home/dmtsai -czvf myfile.tar.gz /home/* /etc
範例八:將 /etc/ 打包後直接解開在 /tmp 底下,而不產生檔案!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf - /etc | tar -xvf -
# 這個動作有點像是 cp -r /etc /tmp 啦~依舊是有其有用途的!
# 要注意的地方在於輸出檔變成 - 而輸入檔也變成 - ,又有一個 | 存在~
# 這分別代表 standard output, standard input 與管線命令啦!
# 這部分我們會在 Bash shell 時,再次提到這個指令跟大家再解釋啰!
++++++++++++++++++++++++++++++++++++++++++++
補充:tar如何解壓文件到指定的目錄
tar czvf mysql.tar.gz /var/lib/mysql
壓縮的文件,我想解壓到當前目錄下,而不是絕對路徑下,該如何解壓?
tar cxvf mysql.tar.gz 的話,會覆蓋 /var/lib/mysql 下全部文件吧?我現在就一個表壞了,想單獨恢復一個表的資料,而不是恢復全部資料庫,所以要解壓到指定的目錄下,再把那個表資料找不來恢復。
============================================
#tar zxvf mysql.tar.gz -C /home/aaa
============================================
tar zxvf mysql.tar.gz -C /home/aaa
這樣的話,解壓後的目錄結構是怎麼樣的?
/home/aaa/var/lib/mysql 嗎?
============================================
試下就知道了....
============================================
歸檔裡面的所有文件均是相對引用,歸檔解壓縮(釋放)在了當前目錄。歸檔文件總是釋放到當前目錄,為的是防止破壞文件系統中重名的文件。
所以,樓主的解壓縮不會覆蓋/var/lib/mysql,只會釋放在當前目錄先,即./var/lib/mysql如果想覆蓋的話,在歸檔和解壓時請使用-P參數:
tar zcvf mysql.tar.gz -P /var/lib/mysql
tar -Pzxvf mysql.tar.gz