-name
和 是选项-exec
还是非选项参数find
?它们看起来像是简短的选项,如果我没记错的话,它们被称为查找表达式。例如,
find . -name "*.txt" -exec echo {} \;
答案1
答案2
-name
、-exec
等-print
不是选项到find
公用事业公司,但是操作数。一个操作数是
命令的参数,通常用作向实用程序提供完成其处理所需的信息的对象。操作数通常遵循命令行中的选项。
(从POSIX 定义),即告诉实用程序要做什么的非选项(如file
命令中的rm file
告诉rm
要删除哪个文件)。
find
该实用程序的 POSIX 标准描述调用这些操作数初选这也是 BSD 系统上的称呼。
在 GNUfind
手册中,它们被称为表达式并根据其用途分为几组:
- 测试(例如
-name
,-mtime
) - 动作(例如
-delete
,-print
) - 全局选项(例如
-maxdepth
,-depth
) - 位置选项(例如
-follow
) - 运算符(例如
-not
,-and
)
POSIX 标准find
只有两个实数选项,-H
和-L
。这些与如何处理符号链接有关。
POSIX 标准没有为任何实用程序定义任何多字符选项或“长选项”。但这并不妨碍实现添加长选项,GNU 实用程序尤其以添加富有表现力的长选项来扩展便利功能而闻名。