cd kernel/mm
find . -name *.c
find: paths must precede expression: `balloon_compaction.c'
find: possible unquoted pattern after predicate `-name'?
执行这条 find 命令的时候,报错了。
尝试以下几种方式。
1. find . -name "*.c"
加上双引号,可以找出目录下所有C文件
2. find . -name '*.c'
加上单引号,也可以找出目录下所有C文件
3. find . -name \*.c
加上转义符,也可以找出目录下所有C文件
通过对找出来的文件进行数量统计,数量都是一样的。
找原因。
问题出在*号上面,这个提示的出现是因为星号被展开为当前目录下所有的文件,这样匹配会不知所措。
echo *
会输出所有文件。
echo "*" 或 echo '*'
只输出一个星号。
文章讲述了在使用find命令查找以.c结尾的文件时遇到的错误,问题源于星号在shell中被展开为当前目录下的所有文件。通过添加双引号、单引号或转义字符,可以正确执行命令并找到所有C源文件。这种方法展示了理解和调试Linux命令行错误的重要性。

3万+

被折叠的 条评论
为什么被折叠?



