各操作系统tar命令排除指定文件方式汇总

本文介绍了在Linux、HP-UX及AIX等不同操作系统下使用tar命令进行文件打包的方法,并详细说明了如何排除特定文件不被打包。针对不同的操作系统特性,提供了具体的命令示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

比如有一个文件夹名为 test

文件夹下面有四个文件 test1、test2、test3、test4,其中需要排除test1、test3

需要打包的目标文件名为test.tar


1、linux

linux果断是用起来最方便的,直接使用tar命令即可。

tar -cf  test.tar --exclude=test1 --exclude=test3 test


2、hpux

hpux的自带的tar命令没有--exclude参数,排除不需要的文件,需要用ls  + grep -v 命令,把需要打包的文件名列表存到一个变量中,然后进行打包。

finename=`ls  test | grep -v test1 | grep -v test3`

tar -cf test.tar $filename


hpux可以安装一个gtar,下载地址:http://gnu.april.org/software/tar/tar.html,最新的是 tar-1.28.tar.gz

下载后,解压,执行./configure ,然后 make ,最后 make install 就安装完了。

默认安装目录是/usr/local/bin,执行前先设置一下环境变量   export PATH=/usr/local/bin:$PATH

安装后,就与linux 下面的 tar命令一样使用,有--exclude参数了


3、aix

aix使用-X参数,对不需要打包的文件进行排除。

命令方式为 tar -cvf text.tar -X file.txt test,其中file.txt是文件,里面列出不需要打包的文件名。

注意:要区分相对路径和绝对路径。

如果 file.txt 里面列出的是相对路径,则tar命令中的目录名,也要是相对路径。如果file.txt写的是绝对路径,则tar命令中的目录名也是绝对路径。

建议file.txt里面,相对路径和绝对路径都写上,比如

./test1

./test3

/home/test/test1

/home/test/test3

这样。打包时 tar -cvf text.tar -X file.txt test和 tar -cvf text.tar -X file.txt /home/test 这样写,都可以生效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值