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 各種壓縮與解壓縮指令:
( U+ W# B! E/ C. x7 B6 C
.tar
- T N+ V& T2 b% n
.gz
2 C; V7 a9 q1 a! U8 i8 X
.tar.gz
( X3 K7 R! X$ L5 B" `& u* Q2 n8 c b
更新tar.gz壓縮檔內某一個檔案或某目錄內幾個檔案:
例如
0 X* D8 ~& o& w2 y& D) i+ g8 ~
參考:
https://askubuntu.com/questions/ ... pdate-a-tar-gz-file
2 t8 O) Q/ ^/ [- K: E
1.)先將.tar.gz解壓為.tar
4 t: g/ z. [" k: p
gunzip filename.tar.gz
1 F) T3 }6 F, |* o a. `
2.)更新.tar
% x4 Y" r. E+ _5 U7 s! a3 b
tar -uvf filename.tar new_file 或
# }* q1 e+ |" P8 V
tar -uvf filename.tar subdir/*
" [2 K y8 \" [ _
3.)壓縮已更新檔.tar
9 B, v6 |+ @: D' C
gzip filename.tar
( p4 G8 [* C+ ~; X% F V+ X
. B" }( a) v3 }; T; t8 A
排除不想壓縮的目錄或檔案:
例如
$ x8 i. V& c% m+ J5 n8 r
要備份的目錄是 aaa
3 C$ j) _( C9 u* X1 f* b
不想要備份的是 aaa 裡面的 bbb 子目錄
/ T0 V/ D. M4 s t4 I8 }: @7 ^) K
tar zpcvf aaa_backup.tar.gz --exclude=./aaa/bbb ./aaa
7 `# Y# X. b/ D+ `
: H6 s7 A9 r/ \2 P7 m
壓縮不包含路徑資訊(絕對路徑):
例如
/ q& E1 E2 V2 y
我要壓縮 /home/user1/tmp/* ,(有 a.txt ,b.txt)不管目前工作目錄在哪,都可以去掉目錄資訊,例如 目前工作目錄在 /
# D. t' @" Y! {1 `2 b7 f
# tar -zcvf tmp.tar.gz -C /home/user1 tmp (tmp前有一個空格)不保留" /home/user1"路徑
! {; u8 P9 T2 D k+ b" X' A3 I1 E
# tar -ztvf tmp.tar.gz
8 @9 m7 z* w. J' X. Q9 N
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
5 N- |7 M& \3 p' X. p% h4 q: Q
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
# _8 B9 Q( M: M
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
5 c! ]8 L. l* M2 E( x# J
# tar -zcvf tmp.tar.gz -C /home/user1/tmp . (tmp後有一個空格再一點)不保留" /home/user1/tmp"路徑
5 P+ q% I/ {( ^$ m9 v5 X4 ^
# tar -ztvf tmp.tar.gz
$ _; x) o; X1 N" v6 x0 `
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
; G% p5 C" `. o7 m
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
' M% @6 i; S- s) y
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
4 j/ s/ ^0 B" A: S8 e
目前工作目錄在 /home/user1
9 }! ~" o, _' p7 Q
# tar -zcvf tmp.tar.gz tmp
# x2 ? U) |% o2 y z9 X- Z$ T0 A
# tar -ztvf tmp.tar.gz
) i y& H# S [5 r6 D% o( L0 W
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
. l, d, {/ X# @) k
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
+ ^/ @% k$ F* W+ d8 I/ P
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
: M3 {- E* R5 I6 K' z5 z5 K* I7 D9 J
# tar -zcvf tmp.tar.gz -C tmp . (有一點喔)不保留" tmp"路徑
3 s) d; M5 l, P
# tar -ztvf tmp.tar.gz
( d9 X( u/ `4 [% F
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
0 X3 t' ~0 l0 u1 p2 l) c) B1 _5 k* `9 n
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
4 t% n0 r$ _; E$ I7 [# I
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
- d) \: W4 T$ K
$ L9 `: U) j) U! v
解壓縮到指定的目錄
例如 解壓/home/user1/tmp.tar.gz 到 /home/user1/tmp 工作目錄在/home/user1
% ]7 k6 ]' F; c$ I/ z1 q+ K2 r
# tar -C tmp -zxvf tmp.tar.gz 可以使用相對路徑, -C(大寫)一定要接在tar後面,其他位置都不行
0 }- M3 {4 F) t$ d+ p3 P) Y
# tar -C /home/user1/tmp -zxvf tmp.tar.gz 可以使用絕對路徑
+ _! f8 c( v' w# Z$ K5 q& D
如果工作目錄在/home 以外的位置就要使用絕對路徑
' h) f8 _# J$ n" v5 e1 P
.bz
1 ~6 m5 m* x' h. q: e! Q% f3 h
.tar.bz
' ?, l( b- d/ Z+ {0 I8 G0 H
.bz2
) O: z! ^' t* j- p
.tar.bz2
) [" m* J6 H5 j# ]9 q
.xz
1 ^$ ~8 T: g6 x; m8 b
.tar.xz
0 ^' ^4 C; m. U3 R: L0 p
.Z
2 V7 U5 ^3 D, E* Q2 u
.tar.Z
! f! G2 f/ v0 `& d
.tgz
: h- X j. `9 }" s( ~ J) t7 w
.tar.tgz
0 s { E) W! C! i4 g
.7z
( M2 A1 D2 A( q8 u# H% h
.zip
; E( R" o) p8 [5 |& M
.rar
' m3 Z: s9 A4 ]* w o# C
.lha
7 u$ B3 d1 Z# [+ V. f; H* E
; Z. A6 c' R, \' j0 b
split : 大檔分割成小檔例如:
2 \5 x- H" E; z
把一個500MB的檔案(file.tar.gz),分割成每個檔50M的小檔案可以用以下指令
6 F/ r* J8 K& F: ~' }: M. I4 x, ^$ B
split -b 50m file.tar.gz (m 可以改成G(giga))
* }$ B' c+ Q' g: O! @
若要合併 可以用cat 指令把那些小檔案合併成一個大檔案 例如:
2 [1 @/ W b* W1 }
cat xaa xab xac xad xae xaf > file.tar.gz
, e- [) U4 K1 s* U
3 k" b. u1 w2 s4 ?- w/ N" o4 A
2 ~: Q) t, t6 L- l- ?
參考自 :
& e- S/ \% D. g
http://note.drx.tw/2008/04/command.html
$ ~5 }' \. u: [# x0 B: X
2 ~/ k$ p7 H+ K! U+ {' ?
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.itech.casa/)
Powered by Discuz! X3.2