如何将所有文件复制,除了一个文件和一个目录到另一个目录
问题描述:
我有以下目录如何将所有文件复制,除了一个文件和一个目录到另一个目录
- 导演答:
- git的 - >这是一个目录
- 的.gitignore
- 风向乙
- DIR C
- 风向Ë
- 文件f
- 文件克
- 风向ħ
我想除了复制一切(git的,和的.gitignore风向B)到风向B.(DIR B是下风向A)
我曾尝试以下
cp -r !(Dir B|.git|.gitignore) ~/Dir B
可正常工作时在终端上运行,但给了我一个错误,当我从詹金斯程序中运行它窗口。
syntax error near unexpected token `('
请咨询
答
试试这个命令 -
rsync -r --exclude='.*' --exclude='DirB' ./ DirB
答
我在做,你不假设想任何隐藏文件/目录拷贝到目标文件夹,即,Dir B
。如果是这样,只需要使用下面的命令,并在相同的外壳使用它们如下图所示的快照:
shopt -s extglob
cp -r !(Dir B) 'Dir B'
shopt -u extglob
您不必明确指定git的 dir和.gitignore文件。另外,您可以根据需要/配置更改上述目标目录('Dir B'
)。
当您在终端上成功运行命令时,您正在使用哪个shell(bin,bash,...)?另外,你可以粘贴'ls -l/bin/sh'的输出吗? – Technext 2014-09-13 10:14:31
您是否想将任何隐藏的文件/目录也复制到'Dir B'中? – Technext 2014-09-13 12:39:33
虽然与问题无关,但也有一些错误,因为你的陈述是矛盾的。你提到'Dir B在Dir A下',但是在你的命令中,你已经使用了'〜/ Dir B'。我确定家里不会是'/ home/Dir A'。 – Technext 2014-09-13 12:58:20