如何通过 mv 命令移动所有文件和文件夹

Luk*_*uka 140 linux rename command

如何通过 mv 命令将所有文件和文件夹从一个目录移动到另一个目录?

mul*_*laz 164

试试这个:

mv /path/sourcefolder/* /path/destinationfolder/
Run Code Online (Sandbox Code Playgroud)

  • 这不会包括任何“隐藏”文件(例如`.htaccess`) (43认同)
  • 好点子。如果您使用的是 bash,那么您可以运行 `shopt -s dotglob`,然后“*”也将匹配隐藏文件。 (27认同)
  • ...看起来同名的文件夹不会被覆盖。`mv:无法将“/a/js”移动到“/b/js”:目录不为空` (3认同)
  • 如果目标文件夹中有同名的文件夹和文件会发生什么?它们被覆盖了吗? (2认同)
  • 你只需将`-f`传递给它来覆盖 (2认同)

Sté*_*las 33

zsh:

mv /src/*(D) /dst/
Run Code Online (Sandbox Code Playgroud)

(D) 包括点文件。

  • @Pathros,可能是因为你不会在 `zsh` 中这样做。 (3认同)

Nia*_*rne 17

这在 Bash 中对我有用(我认为这在很大程度上取决于您的外壳......)

$  mv source/{,.}* /destination/folder/here
Run Code Online (Sandbox Code Playgroud)

  • 实际上,它不应该因为在 Bash 中`source/{,.}*` 匹配名为`./` 和`../` 的目录条目 (4认同)
  • @Putnik - 这是一个很好的问题!什么操作系统/发行版?(我在搞这个的时候在 OSX 上工作......) (2认同)

Jun*_*Jun 9

这在 Bash 4.2.46 中对我有用,它将所有文件和文件夹(包括隐藏文件和文件夹)移动到另一个目录

mv /sourcedir/{,.[^.]}* /destdir/
Run Code Online (Sandbox Code Playgroud)

请注意,.[^.]* 表示除 . 和 ..

  • `.[^.]*` (或其 POSIX 等效项 `.[!.]*`)也排除​​ `..anything` 文件。 (2认同)

归档时间:

查看次数:

650547 次

最近记录:

9 年,4 月 前