如何使用 SSH 将文件从一个目录移动到嵌套目录?

如何使用 SSH 将文件从一个目录移动到嵌套目录?

我想知道如何将所有文件(而不是文件夹或目录)移动到现有文件夹或目录下两层。

答案1

您将需要使用 find 命令。

find . -type f -name "*" -print0 | xargs -0 -I {} mv {} ../backup_dir ; mv ../backup_dir ./new/directory

请注意,我已将文件移动到上一级目录,以防止 find 陷入查找要移动的新文件的循环中。然后将目录下移两级。

如果只需要当前目录下的文件,可以使用命令:

find . -type f -maxdepth 1 -name "*" -print0 | xargs -0 -I {} mv {} ../backup_dir 

答案2

如果您有可用的 zsh,这非常简单。该模式*匹配所有文件(包括目录)。要仅匹配常规文件,请添加全局限定符 .。 Glob 限定符是 zsh 的一项功能。

mv *(.) existing/subsubdirectory/

(实际上*会跳过名称以.(“点文件”)开头的文件。这可能不是这里关心的问题,但如果您确实需要移动这些文件,请D在括号内添加 。)

相关内容