grep find 命令用法.doc
grep 和 find 命令用法详解 grep 命令是 Unix/Linux 系统中一个功能强大且常用的命令,主要用于在文件中搜索特定的内容,并将含有这些内容的行标准输出。grep 命令的全称是 Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 grep 命令的格式为:grep [options],其中 options 为主要参数,主要包括: * -c:只输出匹配行的计数。 * -I:不区分大小写(只适用于单字符)。 * -h:查询多文件时不显示文件名。 * -l:查询多文件时只输出包含匹配字符的文件名。 * -n:显示匹配行及行号。 * -s:不显示不存在或无匹配文本的错误信息。 * -v:显示不包含匹配文本的所有行。 pattern 是 grep 命令的正则表达式主要参数,包括: * \:忽略正则表达式中特殊字符的原有含义。 * ^:匹配正则表达式的开始行。 * $:匹配正则表达式的结束行。 * <:从匹配正则表达式的行开始。 * >:到匹配正则表达式的行结束。 * [ ]:单个字符,如[A]即 A 符合要求。 * [ - ]:范围,如[A-Z],即 A、B、C 一直到 Z 都符合要求。 * .:所有的单个字符。 * * :有字符,长度可以为 0。 正则表达式是 Linux/Unix 系统中非常重要的概念,用于描述一类字符串的模式。如果一个字符串可以用某个正则表达式来描述,我们就说这个字符和该正则表达式匹配。 grep 命令有很多应用实例,例如,查询 DNS 服务时,可以使用 grep 命令来抽取 IP 地址,例如:$grep '[0-9 ]{3 }.[0-0{3}' ipfile。 find 命令是 Unix/Linux 系统中用于在目录中搜索文件的命令,使用权限是所有用户。find 命令的格式为:find [path][options][expression],其中 path 指定目录路径,system 从这里开始沿着目录树向下查找文件。 find 命令的主要参数包括: * -depth:使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容。 * -maxdepth levels:表示至多查找到开始目录的第 level 层子目录。 * -mindepth levels:表示至少查找到开始目录的第 level 层子目录。 * -mount:不在其它文件系统(如 Msdos、Vfat 等)的目录和文件中查找。 * -version:打印版本。 find 命令的匹配表达式包括: * -name:支持统配符*和?。 * -atime n:搜索在过去 n 天读取过的文件。 * -ctime n:搜索在过去 n 天修改过的文件。 * -group grpoupname:搜索所有组为 grpoupname 的文件。 * -user 用户名:搜索所有文件属主为用户名(ID 或名称)的文件。 * -size n:搜索文件大小是 n 个 block 的文件。 * -print:输出搜索结果,并且打印。 find 命令有很多应用技巧,例如: * 根据文件名查找文件,例如:find / -name lilo.conf。 * 快速查找文件,可以根据文件名查找文件,也可以根据文件内容、修改时间、大小等信息来查找文件。 * 查找文件的几种方法,例如根据文件名查找、根据文件内容查找、根据文件修改时间查找等。