企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
**查找单词、文件** [TOC] ## 第10章 查找文件、目录、单词和短语`locate grep` 10.1 搜索文件名数据库`locate` `slocate` `mlocate` 10.2 不区分大小写地搜索文件名数据库`locate -i` 10.3 更新locate使用的数据库`updatedb` 10.4 在文本文件中搜索匹配的模式`grep` 10.5 在文本文件中搜索特定模式的基础知识 表 grep版本? 引号的使用: * 要搜索精确的匹配结果,就使用单引号`'`; * 要把 shell 变量结合到搜索项中(实际上很少有这样的需要),就使用双引号`"`; * 搜索只包含数字和字母的单个单词,完全不使用任何引号也是安全的。 * 要保证安全,则建议默认使用单引号,即使只有一个单词也加引号。因为这可以极大地降 低出现意外结果的可能性。 10.6 递归地搜索文件中的文本`grep -R` 10.7 搜索单词并突出结果`grep --color=auto` 10.8 搜索文件中的文本且忽略大小写`grep -i` 10.9 在文件中搜索完整单词`grep -w` 10.10 显示搜索单词在文件中的对应行号`grep -n` 10.11 在其他命令的输出中搜索特定单词`[command] | grep` 10.12 查看文件中搜索单词的上下文`grep [-ABC]` 10.13 显示文件中没有包含匹配单词的行`grep -v` 10.14 列出包含搜索词的文件名`grep -l` 10.15 列出文件中单词的出现次数`grep -c` 10.16 在搜索结果中搜索单词`grep | grep` ## 第11章 `find`命令 11.1 根据文件名搜索文件`find -name` `find -name`:区分大小写 `find -iname`:不区分大小写。`i`:insensitive 11.2 根据拥有者搜索文件`find -user` `find -group` 11.3 根据文件大小搜索文件`find -size` 表-11 根据文件大小?? 11.4 根据文件类型搜索文件`find -type` 表-12 根据文件类型?? 11.5 根据时间搜索文件 `find -amin | -cmin | -mmin` `find -atime | -ctime |-mtime` `find -anewer | -cnewer | -newer | -newerXY` 文件的访问、修改、更改,对于Linux计算机来说,它们有着很大的区别。 * **Access**(访问):意味着读取内容,但不会改动任何内容,相关示例是`less`命令。 * **Modify**(更改):意味着改动元数据(或文件状态),但不改动内容,相关示例是`chmod`,`chown`,`link`和`rename`命令。 * **Change**(修改):意味着通过编辑来改动数据。 表11-3 根据时间搜索文件的数字参数?? 11.6 当表达式均为 true时显示结果(AND)`find -a` 11.7 当任一表达式为true时显示结果(OR)`find -o` 11.8 当表达式为not true 时显示结果(NOT)`find -n` 11.9 对搜索到的每个文件执行命令 `find -exec` 11.10 更高效地对搜索到的文件执行命令`find +` `find | xargs` 11.11 对找到的包含空格的文件执行命令`find -print0 | xargs -0` 通常情况下,`find`会发送完整的文件名,后跟不可见的换行字符(这就是你看到每个 find 结果 在单独一行上的原因)。`-print0`操作告诉`find`改为在每个完整文件名后面附加空字符。 与此同时,`-0`选项告诉`xargs`应使用空字符(而非空格)分隔输出。现在find和xargs协同工作,因此不会产生任何错误。额外的效果是,`-0`告诉`xargs` 忽略引号以及可能造成其执行失败的其他任何字符。