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 各種壓縮與解壓縮指令:
* o: S2 e" H# @, N2 Z7 J
.tar
. F) f8 ?/ I* v' p" U
.gz
+ B: [ L9 n$ B; }7 d
.tar.gz
6 _- h; g* l' n7 o4 u& }3 D) B1 u
更新tar.gz壓縮檔內某一個檔案或某目錄內幾個檔案:
例如
5 b' [5 h! ` h$ v
參考:
https://askubuntu.com/questions/ ... pdate-a-tar-gz-file
* y' A2 n4 q6 u. L
1.)先將.tar.gz解壓為.tar
- F2 R% p4 ~: k
gunzip filename.tar.gz
- C( y0 z$ s7 }* a% O& Y
2.)更新.tar
' H0 t5 p; ?/ f' ^/ q K3 {0 [
tar -uvf filename.tar new_file 或
2 _& z6 e; q9 i1 M' I4 R2 f" X
tar -uvf filename.tar subdir/*
2 d5 l/ k/ j3 {6 [* ~- S
3.)壓縮已更新檔.tar
7 T u: M o4 d
gzip filename.tar
/ V0 g( ^! N) ]
$ d; W) B* D. [2 @' N
排除不想壓縮的目錄或檔案:
例如
3 r0 z( o. ^6 W
要備份的目錄是 aaa
4 [/ Q2 z4 R% \' m
不想要備份的是 aaa 裡面的 bbb 子目錄
8 G- U3 F: k- e2 n# a2 y& z1 k$ t: l
tar zpcvf aaa_backup.tar.gz --exclude=./aaa/bbb ./aaa
$ H+ N; I& c9 Q+ ^" l
/ q8 j L$ K% w0 |+ J' w
壓縮不包含路徑資訊(絕對路徑):
例如
; ^" n" P. z. A$ k- ^7 g/ ~+ @
我要壓縮 /home/user1/tmp/* ,(有 a.txt ,b.txt)不管目前工作目錄在哪,都可以去掉目錄資訊,例如 目前工作目錄在 /
5 F" o7 E9 S5 s( F* Y/ ~; {' X" g
# tar -zcvf tmp.tar.gz -C /home/user1 tmp (tmp前有一個空格)不保留" /home/user1"路徑
) ^/ ]1 B' U! i$ y- i# m$ R4 u
# tar -ztvf tmp.tar.gz
; R# \5 _ r+ |: l
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
5 p( B6 k5 q1 \
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
4 ^' Y: D( S5 j1 [
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
+ F- u x6 s. e* z* M6 d
# tar -zcvf tmp.tar.gz -C /home/user1/tmp . (tmp後有一個空格再一點)不保留" /home/user1/tmp"路徑
/ _' I( g d# f: u
# tar -ztvf tmp.tar.gz
9 ` t8 e# o, U- l9 l& Y
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
+ } u/ v5 L0 {! T
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
3 a" V6 U4 H/ W& M$ T' _9 ^
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
5 X7 N& y: d( l' E& Z" q3 I- T+ g) [
目前工作目錄在 /home/user1
4 P: y. P7 \- [) g) @0 }
# tar -zcvf tmp.tar.gz tmp
, k" P7 s& g V! v
# tar -ztvf tmp.tar.gz
9 ?$ n7 G; m9 D
drwxrwxr-x user1/user1 0 2018-04-07 12:10 tmp/
1 J0 [5 G# }$ R
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/a.txt
. |8 w7 [ U/ J0 _8 i) N1 Q1 A
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 tmp/b.txt
0 ?2 a8 y9 n2 B: F' k
# tar -zcvf tmp.tar.gz -C tmp . (有一點喔)不保留" tmp"路徑
3 I$ r1 D( ~4 S( @# m5 u
# tar -ztvf tmp.tar.gz
8 S- |9 n6 H% U/ l( ]
drwxrwxr-x user1/user1 0 2018-04-07 12:10 ./
2 D: o+ [1 y0 S: b; e* Z, ]
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./a.txt
* `6 P9 k& j$ K1 J6 P) {0 l7 o* k) e, i
-rw-rw-r-- user1/user1 13 2018-04-07 12:10 ./b.txt
- X! ?! T- ^( ^' U
" @; m( X l5 s6 r; \' e1 N
解壓縮到指定的目錄
例如 解壓/home/user1/tmp.tar.gz 到 /home/user1/tmp 工作目錄在/home/user1
+ H( Q; T6 m) S# w3 s3 ^% ^
# tar -C tmp -zxvf tmp.tar.gz 可以使用相對路徑, -C(大寫)一定要接在tar後面,其他位置都不行
6 F3 V- c4 M# P) B
# tar -C /home/user1/tmp -zxvf tmp.tar.gz 可以使用絕對路徑
# @, p/ K9 e* M/ h2 A
如果工作目錄在/home 以外的位置就要使用絕對路徑
& O; L4 Y7 o& O7 f6 {4 S
.bz
5 ^2 ~4 c' E& a* S( c I
.tar.bz
2 H1 N% l% K0 G: _
.bz2
. D1 c: I; l2 [
.tar.bz2
+ H$ R; J# S$ y# r, Z
.xz
7 X8 ~# m) ^! G7 ?% B
.tar.xz
1 A* J2 b; p( H) A8 s1 X% L8 ^' o
.Z
! u' m4 ]; ~/ u- G# ?1 s- d+ U
.tar.Z
$ k- Q: z( D) o0 v' J
.tgz
- n1 T9 `7 @/ U! S# ?- p& p
.tar.tgz
+ q# K' V# j) F9 w
.7z
) m" W/ U6 }" V; d) O/ n" _
.zip
& @ O/ U$ k- u+ O2 a! @1 e
.rar
8 p! N, ~, S- d, k! T' C @$ |
.lha
z+ H! u' M; M
, |8 [" G3 U& l% o) _9 J# x; w
split : 大檔分割成小檔例如:
% q ]' d; n# W6 w' z0 b+ A8 m
把一個500MB的檔案(file.tar.gz),分割成每個檔50M的小檔案可以用以下指令
. k! {8 Z+ s |+ ?; r
split -b 50m file.tar.gz (m 可以改成G(giga))
% J6 W* \& r6 R9 o3 B/ F% R6 h
若要合併 可以用cat 指令把那些小檔案合併成一個大檔案 例如:
) B, l8 |2 G+ g$ c# z$ |
cat xaa xab xac xad xae xaf > file.tar.gz
. P( z h3 A) U
( m' i# j! Y$ d( P: M5 I
6 ^; c/ q g' R2 l" y' d+ ~; [
參考自 :
5 S8 `6 t% V6 l2 A w j
http://note.drx.tw/2008/04/command.html
4 l7 c+ ~0 r- T+ z
1 k' l) n* l! F) f8 H+ c
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.itech.casa/)
Powered by Discuz! X3.2