linux tar命令运维实践
1、进入到目录的上一级目录打包(除非需要完整的目录结构才从根开始打)
2、gzip格式包:
tar zcvf /路径/筐.tar.gz 苹果
z---gzip格式压缩
c---创建
v---显示输出过程
f---文件
t---看包的内容
p---保持属性
例:tar tf /路径/筐.tar.gz
bzip格式包:大家不要打这样的包,别人打打你会解包即可。
j---bzip格式压缩
tar jcvf /路径/筐.tar.bz 苹果
解包:tar jxvf /路径/筐.tar.bz
3、排除打包两个参数
1
2
3
4
5
6
7
8
|
a.--exclude
例:
tar
zcvf
/opt/oldboy1
.
tar
.gz .
/oldboy
--exclude=oldboy
/access_www_2014-08-01
.log
b.--exclude-from == -X
[root@oldboy /]
# tar zcfX /opt/oldboy1.tar.gz paichu.txt ./oldboy
[root@oldboy /]
# cat paichu.txt
oldboy
/access_www_2014-08-01
.log
oldboy
/access_www_2014-08-02
.log
[root@oldboy /]
# tar zcfX /opt/oldboy1.tar.gz paichu.txt ./oldboy
|
4、解包
-x 解包
-C 指定路径
tar xf /路径/筐.tar.gz -C /tmp/
tar zxvf /路径/筐.tar.gz -C /tmp/
企业案例:把/etc/下所有名字为test.txt的普通文件打包
这里老男孩老师给出三种方法:
方法1:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
[root@oldboy /]
# tar zcvf oldboy.tar.gz `find /oldboy -type f -name "test.txt"`
tar
: 从成员名中删除开头的“/”
/oldboy/xiaofan/test
.txt
/oldboy/ext/test
.txt
/oldboy/test/test
.txt
方法2:
[root@oldboy /]
# find /oldboy -type f -name "test.txt"|xargs tar zcvf oldboy01.tar.gz
tar
: 从成员名中删除开头的“/”
/oldboy/xiaofan/test
.txt
/oldboy/ext/test
.txt
/oldboy/test/test
.txt
方法3:
[root@oldboy /]
#find /oldboy -type f -name "test.txt" -exec tar zcvf oldboy.tar.gz {} \;
提示:如果你能不看答案也给出不低于3种方法,那么你就具备10K+的运维功底了。
|
查看:
1
2
|
[root@oldboy /]
# tar tf oldboy01.tar.gz
oldboy
/xiaofan/test
.txt
|
其他:针对链接文件的打包见空间博文
http://user.qzone.qq.com/49000448/blog/1435975688
Linux解压.tar .tgz .tar.gz .tar.Z等文件
.tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包,不是压缩!)
linux下tar命令解压到指定的目录
tar xf bbs.tar.gz -C /zzz/bbs
//把根目录下的bbs.tar.zip解压到/zzz/bbs下,前提要保证存在/zzz/bbs这个目录
这个和cp命令有点不同,cp命令如果这个目录不存在,就会自动创建这个目录!
linux tar解压文件不要目录,可采用--strip-path 或--strip-components参数来实现。
参数详情:
--strip-components NUMBER, --strip-path NUMBER strip NUMBER of leading components from file names before extraction (1) tar-1.14 uses --strip-path, tar-1.14.90+ uses --strip-components
去除文件名前的NUMBER 层路径,如:
test.tar.gz中包含目录123/xxx/conf.xml,只要conf.xml文件,就要去除文件名前2层路径,命令为:
tar zxvf test.tar.gz --strip-components 2 123/xxx/conf.xml
ls conf.xml 查看结果
#去除一层,命令为:
tar zxvf test.tar.gz --strip-components 1 123/xxx/conf.xml
ls ./xxx/conf.xml 查看结果
实战2:assembly.tar.gz加压后的第一层目录不要,然后解压到/application/provider-cms/目录中,很常用
tar xf assembly.tar.gz --strip-components 1 -C /application/provider-cms/
---------------------------------------------
.gz
解压1:gunzip FileName.gz
解压2:gzip -d FileName.gz
压缩:gzip FileName
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
---------------------------------------------
.bz2
解压1:bzip2 -d FileName.bz2
解压2:bunzip2 FileName.bz2
压缩: bzip2 -z FileName
.tar.bz2
解压:tar jxvf FileName.tar.bz2
压缩:tar jcvf FileName.tar.bz2 DirName
---------------------------------------------
.bz
解压1:bzip2 -d FileName.bz
解压2:bunzip2 FileName.bz
压缩:未知
.tar.bz
解压:tar jxvf FileName.tar.bz
压缩:未知
---------------------------------------------
.Z
解压:uncompress FileName.Z
压缩:compress FileName
.tar.Z
解压:tar Zxvf FileName.tar.Z
压缩:tar Zcvf FileName.tar.Z DirName
---------------------------------------------
.zip
解压:unzip FileName.zip
压缩:zip FileName.zip DirName
---------------------------------------------
.rar
解压:rar x FileName.rar
压缩:rar a FileName.rar DirName
转载于:https://blog.51cto.com/sandshell/2155104