课程名称:Linux达人养成计划 I
章节名称:第4章 文件搜索命令
讲师名称:Tony
课程内容
- linux 中文件搜索命令 locate
- linux 中命令搜索命令
- linux 中 find 命令
- linux 中 grep 命令
课程收获
locate
Linux locate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。
一般情况我们只需要输入 locate your_file_name
即可查找指定文件。
locate [-d ][--help][--version][范本样式...]
参数:
-b, --basename – 仅匹配路径名的基本名称
-c, --count – 只输出找到的数量
-d, --database DBPATH – 使用 DBPATH 指定的数据库,而不是默认数据库 /var/lib/mlocate/mlocate.db
-e, --existing – 仅打印当前现有文件的条目
-1 – 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。
-0, --null – 在输出上带有NUL的单独条目
-S, --statistics – 不搜索条目,打印有关每个数据库的统计信息
-q – 安静模式,不会显示任何错误讯息。
-P, --nofollow, -H – 检查文件存在时不要遵循尾随的符号链接
-l, --limit, -n LIMIT – 将输出(或计数)限制为LIMIT个条目
-n – 至多显示 n个输出。
-m, --mmap – 被忽略,为了向后兼容
-r, --regexp REGEXP – 使用基本正则表达式
–regex – 使用扩展正则表达式
-q, --quiet – 安静模式,不会显示任何错误讯息
-s, --stdio – 被忽略,为了向后兼容
-o – 指定资料库存的名称。
-h, --help – 显示帮助
-i, --ignore-case – 忽略大小写
-V, --version – 显示版本信息
附加说明
locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。
locate 的速度比 find 快,它并不是真的查找,而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:
updatedb
whereis 命令
Linux whereis命令用于查找文件。whereis 是搜索命令的命令。
该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。
whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
which 命令
Linux which命令用于查找文件。
which指令会在环境变量 $PATH
设置的目录里查找符合条件的文件。
which [文件...]
type 命令
type命令 用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。
命令类型:
- alias:别名。
- keyword:关键字,Shell保留字。
- function:函数,Shell函数。
- builtin:内建命令,Shell内建命令。
- file:文件,磁盘文件,外部命令。
- unfound:没有找到。
find 命令
Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
grep 命令
Linux grep 命令用于查找文件里符合条件的字符串。
grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。
文件内容查看命令
Linux系统中使用以下命令来查看文件的内容:
-
cat 由第一行开始显示文件内容
-
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
-
nl 显示的时候,顺道输出行号!
-
more 一页一页的显示文件内容
-
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
-
head 只看头几行
-
tail 只看尾巴几行