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 各種壓縮與解壓縮指令:
3 k1 [5 H% `7 ?* z! |
.tar
' T, [# @/ s9 e) C# H; n6 d
.gz
7 g- C. Z6 M" B
.tar.gz
3 T$ W* ]0 }: m: g: r
更新tar.gz壓縮檔內某一個檔案或某目錄內幾個檔案:
例如
3 @ n- `' n0 ~# z3 A2 ~7 ^! c
參考:
https://askubuntu.com/questions/ ... pdate-a-tar-gz-file
" P7 v/ L% Z6 N) X
1.)先將.tar.gz解壓為.tar
/ h' \0 L4 [1 H' `4 [' p2 J
gunzip filename.tar.gz
/ E, r/ T4 L7 Q, X' \8 _
2.)更新.tar
4 ~( y4 H4 D1 r% `" V
tar -uvf filename.tar new_file 或
/ r6 P" B* e$ T: [. _
tar -uvf filename.tar subdir/*
4 x. L; P( f% M0 C+ G% ~4 m( y, T
3.)壓縮已更新檔.tar
6 y1 A2 J7 Y0 C$ p' h2 Y8 e5 q
gzip filename.tar
& g+ J' Z1 e: _" W5 n" G
( N" L) z, L U3 l
排除不想壓縮的目錄或檔案:
例如
$ l+ c3 y9 y! ^$ s. a3 k
要備份的目錄是 aaa
" ]# m6 H4 T( r
不想要備份的是 aaa 裡面的 bbb 子目錄
7 g- A% ^- w: W! V' l
tar zpcvf aaa_backup.tar.gz --exclude=./aaa/bbb ./aaa
( }7 a4 s3 N2 }4 S
7 Z/ r/ c; I, v
壓縮不包含路徑資訊(絕對路徑):
例如
' @+ ?9 l$ k' P8 d0 t) L5 r, r- ]4 |
我要壓縮 /home/user1/tmp/* ,(有 a.txt ,b.txt)不管目前工作目錄在哪,都可以去掉目錄資訊,例如 目前工作目錄在 /
7 E" H( ^ \3 v4 I, ]' c7 ^
# tar -zcvf tmp.tar.gz -C /home/user1 tmp (tmp前有一個空格)不保留" /home/user1"路徑
# g$ o4 j: m b3 k3 Z* Y1 c7 K
# tar -ztvf tmp.tar.gz
0 G& ~# V0 L* t/ ]: g0 X
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
- d+ p) k' x/ O) l
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
5 G& G3 t, K: C1 e2 k( e/ N) U
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
. U4 H" S1 d) P( k, B1 `
# tar -zcvf tmp.tar.gz -C /home/user1/tmp . (tmp後有一個空格再一點)不保留" /home/user1/tmp"路徑
' w( ]0 Z; H, Z: g+ r0 s$ l. e
# tar -ztvf tmp.tar.gz
0 M7 R* D U! r: j5 R8 y
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
# P) Q' w4 a/ j: {
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
g( ?7 g9 P# D$ M1 F
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
8 y5 [& X6 }5 n/ x7 `$ D* P, u
目前工作目錄在 /home/user1
v! k( P6 F2 I/ Z i/ r n5 G
# tar -zcvf tmp.tar.gz tmp
# q, i+ c w; u( W% Q* j S4 J
# tar -ztvf tmp.tar.gz
. r6 s4 u( ^; |# P# N2 L
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
" E$ ]3 q+ l" b* H# L
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
3 `, z7 \* @; m' o2 Z4 \
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
; h5 Q( P% C- I! }5 v3 T9 J+ H# w( F
# tar -zcvf tmp.tar.gz -C tmp . (有一點喔)不保留" tmp"路徑
+ c: x* q V2 [& ]
# tar -ztvf tmp.tar.gz
* O0 \, ?8 }" E7 E- O/ S6 J; P+ H
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
# D8 T3 I! k8 C+ m! M5 @7 B
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
9 W) a+ b6 H1 i( K1 g
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
) B' U5 v- v8 T" R9 D$ X- R
" d" K/ y2 U8 Q {: q! {
解壓縮到指定的目錄
例如 解壓/home/user1/tmp.tar.gz 到 /home/user1/tmp 工作目錄在/home/user1
; m P2 n- `. t3 [- a+ A
# tar -C tmp -zxvf tmp.tar.gz 可以使用相對路徑, -C(大寫)一定要接在tar後面,其他位置都不行
; q# O" {- |% i: P
# tar -C /home/user1/tmp -zxvf tmp.tar.gz 可以使用絕對路徑
3 G2 O c" Q/ k6 `6 ]$ r, R) c0 ]2 a
如果工作目錄在/home 以外的位置就要使用絕對路徑
, X9 }5 ]! k! q; B
.bz
$ C/ M9 C: z& P& {
.tar.bz
$ \- P. |# b- L l7 G" `7 O: |
.bz2
0 S- R( H; g& f3 j
.tar.bz2
/ T( j+ |. x5 A q
.xz
1 K/ f, S9 I' D- l" Y7 b
.tar.xz
- q5 ]+ M2 j& q8 ^
.Z
" `2 [' j' Z* y* v3 }
.tar.Z
, U- c0 B t6 D# o
.tgz
# N; R0 H3 [2 F7 q
.tar.tgz
# b6 c x% Z1 n. V0 S" P8 M
.7z
4 ^; \5 W/ i' _, I+ Z% E
.zip
# E9 n9 x7 Z, @, [! C/ r. u+ J5 [
.rar
0 V" j7 o/ Z+ x& l8 R* f8 G" i
.lha
! T: r9 _ r9 F# A( C
* b& c5 c2 `/ V9 M5 G% R, B, o- x
split : 大檔分割成小檔例如:
. q& _" A' @* ?
把一個500MB的檔案(file.tar.gz),分割成每個檔50M的小檔案可以用以下指令
% U5 \. L/ g- z
split -b 50m file.tar.gz (m 可以改成G(giga))
, M- \; l4 A) {, |2 ?8 T" |
若要合併 可以用cat 指令把那些小檔案合併成一個大檔案 例如:
+ B' b; L7 I' ?+ j, \" ^$ g
cat xaa xab xac xad xae xaf > file.tar.gz
; `! \& ^: k4 A6 y# f- M
1 }! g$ S; g- C: G
* ^/ N" c& o0 x- b/ z. }* \+ e
參考自 :
6 p0 t# U$ o+ V* g ?
http://note.drx.tw/2008/04/command.html
5 Y) {) u' l- t9 B; Y
; T4 e/ y8 h' M& ~
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2