-c 创建新包
-r 追加新文件
-f 使用file
-x 解压包
-z 用gzip压缩
-w 每异步需确认
-T<范本文件>或--files-from=<范本文件> 指定范本文件,其内含有一个或多个范本样式,让tar解开或建立符合设置条件的文件。
tar cvfz /tmp/1.tgz /root/ 有根目录,有隐藏文件
tar cvfz /tmp/1.tgz /root/* 没有根目录,没隐藏文件
tar xvfz /tmp/1.tgz -C /root/ 解压到指定目录
tar tvf /tmp/1.tgz 查看包内容
tar rvf /tmp/1.tar /root/* 追加文件到tar包
tar vf /tmp/1.tar --delete root/anaconda-ks.cfg 删除包中文件
tar vf /tmp/1.tar -A /tmp/2.tar 2个包合并
tar cvfz /tmp/1.tgz /root/* --exclude=root/anaconda-ks.cfg 排除一个文件
tar cvfz /tmp/1.tgz /root/* --exclude={root/anaconda-ks.cfg,root/install.log,*.syslog} 排除多个文件及同一类型文件
组合使用
tar cvfz /tmp/1.tgz weblogic10 --exclude weblogic10/bea/user_projects/domains
cd /u01/weblogic10/bea/user_projects
tar cvfz /tmp/2.tgz domains/mis_mobile/
cd /tmp/
tar xvfz 1.tgz
mv /tmp/2.tgz weblogic10/bea/user_projects/
tar xvfz 2.tgz
根据-T参数后的样式文件list.txt,打包/etc中指定的文件,同样的,list.txt默认也是相对路径的
find . -name "*.d" -o -name "*.conf" > list.txt
tar -T list.txt -czvf etc.tar.gz /etc
--------------------------------------------------------------------------------------------
本地复制文件:
tar cvf - .|tar xvf - -C /tmp/leo/ 有根目录,有隐藏文件
tar cvf - *|tar xvf - -C /tmp/leo/ 没有根目录,没隐藏文件
远程复制文件:
tar cvf - .|ssh 192.168.0.10 tar xvf - -C /tmp/leo 有根目录,有隐藏文件
tar cvf - *|ssh 192.168.0.10 tar xvf - -C /tmp/leo 没有根目录,没隐藏文件
ssh 192.168.0.10 "cd /root/;tar cvf - ."|tar xvf - 远程的文件复制到本地
"-"代表标准输出和输入
本文转自leonardos51CTO博客,原文链接: http://blog.51cto.com/leomars/507277,如需转载请自行联系原作者