如何使用 * 来包含点文件
How to use * to include even dotfiles
目前我的示例代码看起来像
git clone repo/ ./tmp
mv ./tmp/* .
使用 *
时不包含点文件
如何使用 *
包含点文件
简而言之,你不能。文件通配 (*
) 不包括点文件,因此您需要修改 shell 的代码以支持该行为(或者更有可能拒绝支持现有行为),你可能不会做,你绝对不想做,因为每个目录中都有两个点文件,.
和 ..
, 那会给你带来麻烦的。
相反,您需要单独移动文件,例如:
mv ./tmp/* .
mv ./tmp/.??* .
第二行 globs 不只是当前目录或父目录的点文件。
如果您(无论出于何种原因)需要这在一个命令中发生或者有更复杂的标准可以使用,您可能需要调查 find
's -exec
参数,它允许您 运行 一个针对几乎所有由时间、内容、名称或各种其他特征生成的文件列表的命令。
目前我的示例代码看起来像
git clone repo/ ./tmp
mv ./tmp/* .
使用 *
时不包含点文件
如何使用 *
简而言之,你不能。文件通配 (*
) 不包括点文件,因此您需要修改 shell 的代码以支持该行为(或者更有可能拒绝支持现有行为),你可能不会做,你绝对不想做,因为每个目录中都有两个点文件,.
和 ..
, 那会给你带来麻烦的。
相反,您需要单独移动文件,例如:
mv ./tmp/* .
mv ./tmp/.??* .
第二行 globs 不只是当前目录或父目录的点文件。
如果您(无论出于何种原因)需要这在一个命令中发生或者有更复杂的标准可以使用,您可能需要调查 find
's -exec
参数,它允许您 运行 一个针对几乎所有由时间、内容、名称或各种其他特征生成的文件列表的命令。