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 各種壓縮與解壓縮指令:
4 ]: p! U, L* t' @* c
.tar
8 @- R6 t' {. i
.gz
: r0 L* P4 ^# n/ ^
.tar.gz
+ B5 G: D/ a( Z; S
更新tar.gz壓縮檔內某一個檔案或某目錄內幾個檔案:
例如
3 f: E7 }. g# I3 m1 F
參考:
https://askubuntu.com/questions/ ... pdate-a-tar-gz-file
! S) e2 t4 x9 g# R7 I( |) W
1.)先將.tar.gz解壓為.tar
4 }5 h2 S; o7 L
gunzip filename.tar.gz
e. q, a$ i* r% w% M
2.)更新.tar
9 S) g& i, t- u0 c; C1 y' n+ t
tar -uvf filename.tar new_file 或
) w; N5 y: G1 T9 i. z9 X* J
tar -uvf filename.tar subdir/*
, ^" _9 a, L& Q& O) i. t5 z0 `$ d; I: f* a
3.)壓縮已更新檔.tar
: ?0 Q: X& `6 _- h6 s% `
gzip filename.tar
& l6 K: f$ u: u
% {1 N' B o) c( u" z3 T+ Y# X- J
排除不想壓縮的目錄或檔案:
例如
5 s. g y$ z+ h' d8 K
要備份的目錄是 aaa
! B7 D4 V7 l5 `6 N, L- F: v
不想要備份的是 aaa 裡面的 bbb 子目錄
$ F( K* t: m/ ~4 u/ z/ u
tar zpcvf aaa_backup.tar.gz --exclude=./aaa/bbb ./aaa
- e' t) C8 e9 p0 ]
3 I) z& ^8 M1 r6 Z2 B) Q6 e
壓縮不包含路徑資訊(絕對路徑):
例如
5 N! _' X& }8 `
我要壓縮 /home/user1/tmp/* ,(有 a.txt ,b.txt)不管目前工作目錄在哪,都可以去掉目錄資訊,例如 目前工作目錄在 /
4 H8 D7 f# X$ Q6 Q# X% \: G
# tar -zcvf tmp.tar.gz -C /home/user1 tmp (tmp前有一個空格)不保留" /home/user1"路徑
( O3 U: C% e2 L8 O2 R# M7 _6 w% b
# tar -ztvf tmp.tar.gz
5 t0 ]! k' {) p- l& ?6 n2 Y; S0 U
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
Z% ?; W/ a9 b- j
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
2 `+ |. c2 Y" }
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
" j. A! R5 k' A- k7 N
# tar -zcvf tmp.tar.gz -C /home/user1/tmp . (tmp後有一個空格再一點)不保留" /home/user1/tmp"路徑
7 G# x& |& q9 h% P6 @
# tar -ztvf tmp.tar.gz
( w4 j0 L' t# w$ ^6 r
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
, t. `3 [; y" F; k, n+ n2 w2 M
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
* \8 @* F6 c3 G I: @7 A! L$ u* i
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
0 g4 v/ u4 h/ d5 F6 j- A$ f+ ]
目前工作目錄在 /home/user1
8 n4 y% ~- L7 w. x' f, P, u
# tar -zcvf tmp.tar.gz tmp
. p- h. E% W5 x9 u7 i. p
# tar -ztvf tmp.tar.gz
8 H! k7 n6 P8 u3 y3 G/ g
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
" v! E. P( D6 j% j: x; I$ y1 Y
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
7 e6 n% b# {) C5 D+ c1 }! a& e
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
+ ~; y! @) \# ]3 q) K8 V( I( Y
# tar -zcvf tmp.tar.gz -C tmp . (有一點喔)不保留" tmp"路徑
# c/ |7 N" h o2 e; r& M
# tar -ztvf tmp.tar.gz
9 B* s4 `2 v6 H" ~/ {
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
. H& _# O- M: [$ P8 k3 L
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
( a8 a0 N1 Y+ N2 A+ Z T/ A1 Q, j
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
% R2 Z+ G* T3 c# y
/ x1 j; {" O) X, v+ |" H
解壓縮到指定的目錄
例如 解壓/home/user1/tmp.tar.gz 到 /home/user1/tmp 工作目錄在/home/user1
: f0 A1 g* ~ K' L5 W, u4 {2 A
# tar -C tmp -zxvf tmp.tar.gz 可以使用相對路徑, -C(大寫)一定要接在tar後面,其他位置都不行
: T- R2 m6 T5 y# C. M! T
# tar -C /home/user1/tmp -zxvf tmp.tar.gz 可以使用絕對路徑
* r q4 e9 I+ T
如果工作目錄在/home 以外的位置就要使用絕對路徑
\* N/ k P0 u3 { k) @
.bz
- _: S* k W/ K6 Q7 n/ h
.tar.bz
: M- I$ l' O& l2 C# B
.bz2
. n* W; j1 x; w
.tar.bz2
5 w0 z0 N' g8 J/ ~2 \
.xz
; A2 c$ E- A# H' e4 x
.tar.xz
, l# n' W4 J' T7 K; I" T& @( [
.Z
8 ]# h- j% T2 o( ]( S
.tar.Z
5 ?( o, w; o, ~+ _: f0 |6 `1 k& p
.tgz
+ O4 R. n6 |. B; m
.tar.tgz
, f& Z/ Q2 J! o, m: z. x4 g7 P! b
.7z
/ D6 G/ W6 f# l% P- S7 y
.zip
5 s3 m; P9 R% j
.rar
- z; n8 M8 X- ?8 t
.lha
4 C6 Q# `2 a& J: y- j) }
+ t( M. H, F+ ?5 }' s6 g. j
split : 大檔分割成小檔例如:
3 s5 r! J2 O( O! ?1 N: _4 [
把一個500MB的檔案(file.tar.gz),分割成每個檔50M的小檔案可以用以下指令
! u1 c4 _" _2 G" N1 I2 H5 _
split -b 50m file.tar.gz (m 可以改成G(giga))
1 _1 V6 ?+ ?$ v) F5 V( x
若要合併 可以用cat 指令把那些小檔案合併成一個大檔案 例如:
1 i h* N) D( E4 E j% c
cat xaa xab xac xad xae xaf > file.tar.gz
: d$ e: h ~9 P9 E: g% f
. Q* c8 x) D7 @ ], S9 g
( J9 X6 C- N' L4 G/ L0 z1 m5 _! x
參考自 :
! Q/ _3 g8 S; S) s ?
http://note.drx.tw/2008/04/command.html
- [% `: X0 y: U; ~
3 S, y% S+ g+ }% b. Z9 t4 f5 e
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2