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

MFI*_*HRI 12 linux

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

我试图用这个命令删除/ tmp上的会话文件:

find /tmp -name 'sess_*' -user Username -maxdepth 1 $CMD {} \;
Run Code Online (Sandbox Code Playgroud)

但是我遇到了这些错误:

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

find: paths must precede expression Usage: find [-H] [-L] [-P] [path...] [expression]
Run Code Online (Sandbox Code Playgroud)

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

先感谢您

Bar*_*mar 25

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

find /tmp -maxdepth 1 -name 'sess_*' -user Username -exec $CMD {} \;
Run Code Online (Sandbox Code Playgroud)