find:路径必须在表达式之前

-1 linux find

我运行了这个命令:

find /home/ ~ -type f -size 5 "*." -a -30 
Run Code Online (Sandbox Code Playgroud)

但它说find: paths must precede expression。我很难find在当前目录及其子目录中查找匹配项。此错误是什么意思,如何从当前目录及其子目录中获取匹配项?

G-M*_*ca' 5

正如您所理解的,您可以为find;指定多个起点。例如,

find   dir 1   dir 2   dir 3   -type f   ... (其他参数) ...
但是您的"*."-30不是有效的搜索/操作术语,因此find认为您在-type f. 也许你的意思是-name "*."-mtime -30

PS-name "*."将匹配所有以句.点( ),又名点或句号结尾的名称。虽然有效,但这将是一个相当不寻常的模式;这真的是你的意思吗?

PPS 如果您的主目录(由 表示 ~)在 下/home,那么您的命令是多余的,因为它会搜索您的主目录两次。