52AV手機A片王|52AV.ONE
標題:
Linux 各種壓縮與解壓縮指令:tar,gz,tar.gz,bz,tar.bz,bz2,tar.bz2,xz,tar.xz,Z,tar.Z,tgz,tar.t
[打印本頁]
作者:
IT_man
時間:
2016-1-3 13:32
標題:
Linux 各種壓縮與解壓縮指令:tar,gz,tar.gz,bz,tar.bz,bz2,tar.bz2,xz,tar.xz,Z,tar.Z,tgz,tar.t
Linux 各種壓縮與解壓縮指令:
$ `) ~6 C3 e7 H7 a; X
.tar
8 @7 j9 ~( ~- g7 {# s6 [
.gz
+ {( O+ D* [4 c* I% F; L
.tar.gz
2 |' Q1 G8 R. b( h+ K
更新tar.gz壓縮檔內某一個檔案或某目錄內幾個檔案:
例如
- g: G/ _$ ^% B5 m1 U
參考:
https://askubuntu.com/questions/ ... pdate-a-tar-gz-file
7 e# k! ?0 z U% O! R V
1.)先將.tar.gz解壓為.tar
) J( N* H$ o( J, n' }( b) _$ F3 ?/ G
gunzip filename.tar.gz
# k( `& Q( u1 t5 {
2.)更新.tar
& k. ?, _0 F& [5 w4 l
tar -uvf filename.tar new_file 或
) I0 f$ R2 C/ ?' X
tar -uvf filename.tar subdir/*
8 k+ Q( A6 X& l3 D5 Q+ l& S0 a
3.)壓縮已更新檔.tar
3 S5 C8 c0 T6 b! c1 z9 X. S
gzip filename.tar
# `* k# b4 E0 X6 b
4 X3 k# w+ x/ V% h7 J+ d. K
排除不想壓縮的目錄或檔案:
例如
9 R* J% n" j: F1 I" ~- b
要備份的目錄是 aaa
. c! I- D0 n% m- `8 a' r
不想要備份的是 aaa 裡面的 bbb 子目錄
. v# W( g3 V" F% _5 p' Z2 O5 t
tar zpcvf aaa_backup.tar.gz --exclude=./aaa/bbb ./aaa
" K1 [. Z5 ?4 ]. {% M- S. j7 H" I
- i w' N0 O( K! @1 n% g3 N% ?
壓縮不包含路徑資訊(絕對路徑):
例如
% b8 R6 c5 E; x6 R
我要壓縮 /home/user1/tmp/* ,(有 a.txt ,b.txt)不管目前工作目錄在哪,都可以去掉目錄資訊,例如 目前工作目錄在 /
- {% W; S* }, @4 ~3 M# _
# tar -zcvf tmp.tar.gz -C /home/user1 tmp (tmp前有一個空格)不保留" /home/user1"路徑
+ |* D5 Z3 S R. ]: t, c4 b2 F
# tar -ztvf tmp.tar.gz
0 s K+ K5 v/ L! M
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
& H Z& A- u5 s, A( {
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
* ^3 w! g! S' B! u& o
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
! U2 b4 d4 _7 n/ g+ x3 E
# tar -zcvf tmp.tar.gz -C /home/user1/tmp . (tmp後有一個空格再一點)不保留" /home/user1/tmp"路徑
K( P$ Q: S" k5 m" p$ B
# tar -ztvf tmp.tar.gz
$ J3 D; P% E6 [# t" O* h4 d$ W
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
( b6 q$ w4 x, E& C/ _. `. G6 \& `* A
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
8 I2 x8 ]1 B+ l+ }7 Z9 h' n
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
, T7 h6 r0 ]! b
目前工作目錄在 /home/user1
% E# H4 C) ~$ X. E
# tar -zcvf tmp.tar.gz tmp
, h6 t5 _+ j; r# {8 m
# tar -ztvf tmp.tar.gz
0 Z. {2 o# \* {3 k& |4 s6 T" s. F
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
* b5 G$ ]: J0 d5 A% r Q
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
8 w* F: y/ T6 V* y2 t: w
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
( a- Y4 i; i: O& A. K0 O) G) ]8 m
# tar -zcvf tmp.tar.gz -C tmp . (有一點喔)不保留" tmp"路徑
( B) a$ S4 l3 X4 N
# tar -ztvf tmp.tar.gz
0 n' h" N: |8 M& l1 i' V: \1 p
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
4 X% B6 \3 y* f* C" J& `4 ?3 f7 E% e
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
' V/ I R9 _ Z
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
9 r5 |; W( g1 {
; E) |" v G# _0 Z' l) Y6 `, U
解壓縮到指定的目錄
例如 解壓/home/user1/tmp.tar.gz 到 /home/user1/tmp 工作目錄在/home/user1
* k$ t! M; _$ ~/ X6 L
# tar -C tmp -zxvf tmp.tar.gz 可以使用相對路徑, -C(大寫)一定要接在tar後面,其他位置都不行
6 v/ b/ q( \$ ]3 F4 k9 A
# tar -C /home/user1/tmp -zxvf tmp.tar.gz 可以使用絕對路徑
& W% x9 T, g; k
如果工作目錄在/home 以外的位置就要使用絕對路徑
0 Y; m- z( N) k$ d' E
.bz
* _/ M( p; D& [3 x, _; W' p
.tar.bz
i; g* \ X# ]6 A
.bz2
3 P# W6 r5 }6 W: U5 e% I
.tar.bz2
) n: v; I4 ^/ f2 x
.xz
7 R' H7 s9 T+ [- w) h; }
.tar.xz
+ k) D8 o1 Z" Z5 x: ^
.Z
9 Y, M8 ~, Z# E$ _7 i$ u7 l7 v
.tar.Z
1 m' V" i1 l/ p! N9 X2 `: G- }
.tgz
Y& n( Y( t% p# `
.tar.tgz
$ O& f6 h' d7 ~4 s( g
.7z
) n8 O; l; n- G0 S
.zip
% V0 [' i2 L: t" N5 d
.rar
& |% O7 m+ s `; n) `0 P# Z% F4 e- z
.lha
7 H5 S/ V$ x0 _
8 E. ~* @# L8 R
split : 大檔分割成小檔例如:
% I! m$ M, ~, |: p9 a
把一個500MB的檔案(file.tar.gz),分割成每個檔50M的小檔案可以用以下指令
! C& I6 K2 l& y2 ?' @
split -b 50m file.tar.gz (m 可以改成G(giga))
+ a- c$ C+ n' Y6 x* T: z
若要合併 可以用cat 指令把那些小檔案合併成一個大檔案 例如:
: j. _6 ^6 j7 V8 I0 f% D) K4 t! c; X
cat xaa xab xac xad xae xaf > file.tar.gz
/ e, h: A/ U, u
" f/ {3 [6 N. z* R
; v2 c* \! s& Y
參考自 :
. D+ E1 w# f. c8 d- a
http://note.drx.tw/2008/04/command.html
' U! }7 u' A$ u1 S$ f
j& C) `9 n5 j# U1 P
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.itech.casa/)
Powered by Discuz! X3.2