比如有一个文件夹名为 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 这样写,都可以生效。