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

时间:2014-11-24 05:49:08

标签: macos shell terminal command-line-interface

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

命令

mv *.* ~/Desktop/dir/dir2

不起作用。

2 个答案:

答案 0 :(得分:6)

你得到"too many argument",因为~/Desktop/dir/中的文件可能太多了,命令行上的glob匹配模式允许这些文件。

要将所有文件从~/Desktop/dir/移至~/Desktop/dir/dir2,请改用此find

find ~/Desktop/dir/ -type f -execdir mv '{}' ~/Desktop/dir/dir2 \;

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

cd ~/Desktop/dir/
find . -path './dir2' -prune -o ! -name . -exec mv '{}' ./dir2 \;

即。 dir2.以外的所有内容都移至~/Desktop/dir/dir2

答案 1 :(得分:0)

*.*匹配在第二个或更远位置有点的所有文件名。它不匹配没有点的文件名。相反,使用*将匹配所有不以点开头的文件名。