`find /someDir/* -exec rm {} \` 是什么意思?
What is the meaning of `find /someDir/* -exec rm {} \`?
我理解这个命令
- 删除
/some/directory/
中至少存在 4 天的所有文件
- 保持所有文件夹完好无损(给出错误
cannot remove '.../someDir': Is a directory
)。
谁能解释一下 -exec rm {} \;
的语法?
find /some/directory/* -mtime +4 -exec rm {} \;
特别是{}
和\;
是什么意思? {} \;
是 -exec
的参数吗?
{}
填写 find
表达式的结果。 \
用于转义 ;
因为我们希望 -exec
拾取它,但是 bash 本身会默认拾取它。
此问题已在其他地方多次回答。例如,here.
{}
是当前文件的路径名
\;
是终止命令的分号(rm
在你的例子中)。它必须用反斜杠转义,否则 shell 将解释为整个 find
命令的结尾
我理解这个命令
- 删除
/some/directory/
中至少存在 4 天的所有文件 - 保持所有文件夹完好无损(给出错误
cannot remove '.../someDir': Is a directory
)。
谁能解释一下 -exec rm {} \;
的语法?
find /some/directory/* -mtime +4 -exec rm {} \;
特别是{}
和\;
是什么意思? {} \;
是 -exec
的参数吗?
{}
填写 find
表达式的结果。 \
用于转义 ;
因为我们希望 -exec
拾取它,但是 bash 本身会默认拾取它。
此问题已在其他地方多次回答。例如,here.
{}
是当前文件的路径名
\;
是终止命令的分号(rm
在你的例子中)。它必须用反斜杠转义,否则 shell 将解释为整个 find
命令的结尾