您的位置:首页 > 其它

tar命令使用的几个例子

2016-06-20 16:07 351 查看
常用命令:

-c 创建包

-x 解包

-t 列出包中的内容

-r 增加文件到指定包中

-u 更新包中的文件

可选命令:

-j 使用bzip2

-z 使用gzip

-Z 使用compress

-f  后面跟包的文件名

-v  显示执行过程

-C 指定解包后的路径

例一:tar打包文件(并用gzip压缩)
tar vczf a.tar.gz hello


例二:tar不解压 查看目录结构
tar tvf a.tar.gz | grep ^d


例三:除了/var/www/clients这个文件夹,打包/var/www中的所有文件和文件夹
tar vczf www.tar.gz /var/www/ --exclude=clients


如果要排除多个可以一直加
--exclude dir1 --exclude a.log --exclude *.jpg


例四:解压tar.bz2文件
首先:
bzip2 -d mono-2.10.tar.bz2
执行完发现只有一个mono-2.10.tar
现在再执行
tar -xvf mono-2.10.tar
就得到了mono-2.10文件夹


或直接使用
tar jxf mono-2.10.tar.bz2


例五:将多个文件夹打包
tar -czf abc.tar.gz /home/a /home/b /home/c


例六:分卷压缩及合并,Linux下备份网站数据,由于目录abc打包成一个文件会比较大,所以想分卷压缩成每个100M的文件,方便下载。
分卷压缩,使用tar+split组合,进入目录上级目录,执行:
tar cvzf - abc | split -b 100m
会产生以x开头的文件,然后把x开头的文件传输到目标地
合并
cat x* > abc.tar.gz
解压
tar xvzf abc.tar.gz


例七:解压tar文件

file命令查看结果是POSIX tar archive格式,使用命令
tar xvf xxx.tar


例八:使用tar打包时不使用绝对路径

如:tar vczf jpuyy.tar.gz /home/jpuyy/

会提示”tar: Removing leading `/’ from member names”,解压时会在当前目录解压成home/jpuyy。如果想要解压到/home/jpuyy,则使用-C /指令,即
tar vxzf jpuyy.tar.gz -C /


例九:提取tar.gz中的指定一个文件,先找到这个文件
tar tvf redis-2.6.14.tar.gz | grep redis_init_script
-rwxrwxr-x root/root 1098 2013-06-20 16:36 redis-2.6.14/utils/redis_init_script


然后执行
tar xzf redis-2.6.14.tar.gz redis-2.6.14/utils/redis_init_script


得到想要指定文件。

参考:http://xiaobin.net/200911/tar-removing-leading-slash-from-member-name/

题外话

使用gzip压缩
gzip jpuyy-backup-20121212.sql


使用gzip解压
gzip -d jpuyy-backup-20121212.sql.gz
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: