如何进行tar打包且排除某个文件
如何进行tar打包且排除某个文件
一般情况下,我们打包文件都会使用tar命令,但是有时候我们会希望打包的时候排除某个文件或者目录,这个时候就需要使用--exclude参数了。
例如,我们要打包当前目录下的所有文件,但是要排除目录dir1和文件file1,那么可以使用如下命令来实现:
tar --exclude=dir1 --exclude=file1 -cvf test.tar *
上面命令中,*表示当前目录下的所有文件,--exclude参数表示排除某个文件或者目录,-cvf参数分别表示打包、显示打包过程和将打包文件保存到test.tar文件中。
需要注意的是,如果我们要排除多个文件或者目录,那么可以使用--exclude参数多次来指定,例如:
tar --exclude=dir1 --exclude=file1 --exclude=dir2 -cvf test.tar *
上面命令表示除了dir1、file1和dir2目录外,其他目录下的所有文件都会被打包。
此外,我们还可以使用--exclude-from参数来指定一个文件,里面包含要排除的文件或者目录列表,例如:
tar --exclude-from=exclude.list -cvf test.tar *
上面命令表示,会打包当前目录下的所有文件,但是会排除exclude.list文件中列出的文件或者目录。
exclude.list文件的内容如下:
dir1
file1
dir2
另外,我们还可以使用正则表达式来指定要排除的文件或者目录,例如:
tar --exclude='*.txt' -cvf test.tar *
上面命令表示,会打包当前目录下的所有文件,但是会排除所有以.txt为扩展名的文件。
相关文章