在 bash 中,cp 在使用通配符时会复制点文件吗?我应该使用哪个选项
In bash, cp does copy dot files while using wildcard? Which option should I use
当我使用
cp -r 源目标,
.gitIgnore 或任何 .xyz 中的点文件将被忽略。当我使用
cp -r 源/.xyz 目标,
然后他们被复制。 cp 的哪个选项可以在使用通配符 * 时复制包括点文件在内的所有文件?
在使用通配符 *
时,您也可以尝试命令 cp source/*.* destination/
来复制所有隐藏文件。
如果您想在 cp
命令中包含未隐藏的目录,您可以尝试以下命令
cp -r source/. destination/
请注意源代码末尾的 .
。这包括源中的所有文件和目录,包括隐藏的。
或
cp -r source/{.,}* destination/
x{.,}y
转换为x.y
和xy
。在您的情况下,它将是 source/.*
和 source/*
你可以使用通配符 cp -r .[^.]*
那是因为您的 bash 被构建为忽略隐藏文件,而 cp 命令只是不获取隐藏参数。这就是它应该如何工作的.. :)
至于我最通用的方式:
cp -a /source/. /destination/
或者如果您在源文件夹中:
cp -a . /destination/
当我使用 cp -r 源目标, .gitIgnore 或任何 .xyz 中的点文件将被忽略。当我使用 cp -r 源/.xyz 目标, 然后他们被复制。 cp 的哪个选项可以在使用通配符 * 时复制包括点文件在内的所有文件?
在使用通配符 *
时,您也可以尝试命令 cp source/*.* destination/
来复制所有隐藏文件。
如果您想在 cp
命令中包含未隐藏的目录,您可以尝试以下命令
cp -r source/. destination/
请注意源代码末尾的 .
。这包括源中的所有文件和目录,包括隐藏的。
或
cp -r source/{.,}* destination/
x{.,}y
转换为x.y
和xy
。在您的情况下,它将是 source/.*
和 source/*
你可以使用通配符 cp -r .[^.]*
那是因为您的 bash 被构建为忽略隐藏文件,而 cp 命令只是不获取隐藏参数。这就是它应该如何工作的.. :)
至于我最通用的方式:
cp -a /source/. /destination/
或者如果您在源文件夹中:
cp -a . /destination/