我理解这个命令
/some/directory/
中至少4天的所有文件cannot remove '.../someDir': Is a directory
)。有人可以解释-exec rm {} \;
的语法吗?
find /some/directory/* -mtime +4 -exec rm {} \;
特别是{}
和\;
的含义是什么? {} \;
的参数是-exec
吗?
答案 0 :(得分:2)
{}
是当前文件的路径名
\;
是终止命令的分号(在您的情况下为rm
)。它必须使用反斜杠进行转义,否则shell将解释它是整个find
命令的结尾
答案 1 :(得分:1)
{}
填写find
表达式的结果。 \
被用来转义;
,因为我们希望-exec
选择它,但是bash本身会默认选择它。
这个问题已在其他地方多次得到解答。例如,here。