关于find命令修正的困惑:为何我的答案错误而教授的正确?
关于
find 命令的疑问解答 你的答案 find ~ -type f -name README.md 和教授给出的正确答案 find ~ -name README.md 核心区别在于 -type f 参数的使用:
-type f是专门过滤普通文件的参数,会排除目录、符号链接、设备文件等其他类型的文件系统条目。- 题目要求是“搜索主目录下名为
README.md的文件”,这里的“文件”如果是广义的文件系统对象(比如存在同名目录的情况),教授的命令会匹配所有符合名称的条目;而你的命令只匹配普通文件。
教授判定你的答案错误,大概率是这两个原因:
- 题目中的“文件”指广义的文件系统条目,并非仅限定普通文件,添加
-type f缩小了搜索范围,不符合题目要求。 - 题目本质是修正原命令的语法错误(原命令
find README.md ~的参数顺序颠倒,find的第一个参数必须是搜索路径),不需要额外添加过滤条件,教授认为过度添加参数超出了题目要求的修正范围。
简言之,教授的命令严格贴合“搜索主目录下所有名为README.md的对象”的要求,没有额外限制;而你的命令多了一层普通文件的过滤,在题目未明确要求的情况下,被判定不符合要求。
内容的提问来源于stack exchange,提问作者Moses O
相关产品推荐
相关产品推荐

