在bash中,cp在使用通配符时会复制点文件?我应该使用哪一个选项
问题描述:
当我使用 cp -r source dest, 时,忽略.gitIgnore或任何.xyz中的点文件。当我使用 cp -r source/.xyz dest, 然后它们被复制。哪个选项与cp可以复制包括点文件在内的所有文件,同时使用通配符*?在bash中,cp在使用通配符时会复制点文件?我应该使用哪一个选项
答
您可以使用cp一样-r通配符。[^。] *
那是因为你的bash是建立在无视隐藏的文件和cp命令只是不得到隐藏的论据。这就是它应该如何工作.. :)
答
使用通配符*
时,您可以尝试使用命令cp source/*.* destination/
复制所有隐藏文件。
如果你想包括在cp
命令取消隐藏目录,你可以试试下面的命令
cp -r source/. destination/
注意.
在源端。这包括源中的所有文件和目录,包括隐藏文件和目录。
或者
cp -r source/{.,}* destination/
x{.,}y
被转换为x.y
和xy
。你的情况,这将是source/.*
和source/*
谢谢!除了第一个选项外,您的所有选项都可以工作:'cp source /*.* destination /'。它没有复制点文件。 – user1782328