Linux中移动,复制,删除,打包排除某个目录或文件
移动,复制,删除排除某个文件或目录

方式一:

cp !(file1|dir2) /data/ 复制文件到/data/,排除file1和dir2
mv !(file1|dir2) /data/ 移动文件到/data/,排除file1和dir2

rm -rf !(file1|dir2) ./ 删除当前目录下的文件,排除file1和dir2
tar打包排除某个目录或文件
使用–exclude选项,格式与示例如下
格式:
tar -zcvf xxx.tar.gz dir --exclude=dir1 --exclude=file2 打包dir目录,排除dir1目录与file2文件
示例:
tar zcvf example.tar.gz ./ --exclude=test --exclude=test.txt 打包当前目录,排除test目录与test.txt文件
注意:
–exclude=dir 而不是 --exclude=dir/
–exclude=test.txt 而不是 --exclude test.txt

方式二:

cp -r `ls | grep -v dir2 | xargs` /data

方式三(鸣谢luke8528345658):

cp $(find srcDir/ ! -name “.”) dstDir/ 将当前srcDir目录下所有无扩展文件(有扩展名的被 ! -name "."排除)复制到dstDir目录下; 这里排除条件可以根据自行修改;不需要进入cd srcDir目录再复制,而且这种方式还适合mv和rm等其它指令;

Logo

更多推荐