我想使用 find 命令查找系统上所有包含 fsck 一词的文件。
我试过了
find / -iname fsck
它开始搜索文件,但一切都被拒绝了。当我尝试使用sudo
命令行执行时似乎挂起。
我走在正确的轨道上吗?我真的很困惑如何做到这一点..
我想使用 find 命令查找系统上所有包含 fsck 一词的文件。
我试过了
find / -iname fsck
它开始搜索文件,但一切都被拒绝了。当我尝试使用sudo
命令行执行时似乎挂起。
我走在正确的轨道上吗?我真的很困惑如何做到这一点..
只是为了确保这是一个错字,我看到你的命令有 fckd 而不是 fsck。
通常我会怎么做:
如果命令需要很长时间才能完成,我不会感到惊讶,但它应该显示它看到的结果。
最主要的是,您需要模式是一个 glob,就像您使用“ls”一样。
将模式放在单引号中,这样您的 shell 就不会在运行 find 命令之前尝试将 *fsck* 扩展到当前目录中的匹配文件列表中。例如,如果您的当前目录中没有与 *fsck* 匹配的文件,则命令运行最终将是:
或者,如果您的当前目录中有 3 个文件 [ fsck.a fsck.b fsck.c ],则命令运行最终将是
通过转义或引用 *fsck* 命令以您预期的方式结束:
我相信您也可以使用 \*fsck\* 转义 *。
希望有所帮助。
或者,对于文件中的文本,正如 muru 指出的那样,但我 d̶o̶n̶'̶t̶ 没有(谢谢)后续的声誉点。
grep -sinIR fsck *
对于g lobaly search regular expression and p rint -- s压缩错误,我忽略大小写,返回行号,我忽略二进制文件,并递归地执行, * 目录中的所有文件正如 sparhawk 指出的那样,
locate
这是一个方便的工具。locate -i nAmE
忽略大小写,-A
对于多个搜索词,例如,locate -iA fsck txt
这将返回所有包含更新数据库名称fsck
的文件。txt
要查找包含fsck 的文件,您需要使用通配符。
您是正确的,sudo 是必需的。它之所以“挂”是因为它需要遍历你的整个文件系统,这需要很长时间。或者,我建议使用
locate
,它使用预编译索引,因此速度更快。该索引通常由 cronjob 定期更新,但您可以确保它是最新的然后你可以搜索你的文件