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 |
其他:针对链接文件的打包见空间博文
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