OSX终端命令移动目录中的所有文件

Gar*_*ash 3 macos shell terminal command-line-interface

我现在在OSX终端,并尝试将大量文件从中移动~/Desktop/dir/~/Desktop/dir/dir2.

命令

mv *.* ~/Desktop/dir/dir2
Run Code Online (Sandbox Code Playgroud)

不起作用.

anu*_*ava 7

你得到的"too many argument"是因为~/Desktop/dir/命令行中的glob匹配模式允许的文件太多了.

要将所有文件从~/Desktop/dir/~/Desktop/dir/dir2用这个find来代替:

find ~/Desktop/dir/ -type f -execdir mv '{}' ~/Desktop/dir/dir2 \;
Run Code Online (Sandbox Code Playgroud)

或者移动包括文件和目录在内的所有内容:

cd ~/Desktop/dir/
find . -path './dir2' -prune -o ! -name . -exec mv '{}' ./dir2 \;
Run Code Online (Sandbox Code Playgroud)

即除了dir2并将.一切都移动到~/Desktop/dir/dir2