非选项后的-maxdepth选项AND find:paths必须位于表达式之前

时间:2012-09-16 01:10:15

标签: linux

希望有人可以帮忙解决这个问题:

尝试使用此命令删除/ tmp上的会话文件:

find /tmp -name 'sess_*' -user Username -maxdepth 1 $CMD {} \;

但我收到了这些错误:

  

find:warning:你在a之后指定了-maxdepth选项   非选项参数-name,但选项不是位置(-maxdepth   影响之前指定的测试以及之后指定的测试   它)。请在其他参数之前指定选项。

find: paths must precede expression Usage: find [-H] [-L] [-P] [path...] [expression]

我在网上寻找解决方案但找不到任何解决方案。我已经用其他命令删除了其他tmp文件,并想知道它是否会影响某个卷或套接字。

提前谢谢

1 个答案:

答案 0 :(得分:24)

find有三种类型的选项:用于匹配文件的选项(例如-name-user),指定要对匹配文件执行的操作的选项({{1 }},-print),以及控制命令整体行为的选项(例如-exec-maxdepth)。第三种类型必须放在另外两种之前。所以它应该是:

-xdev