Linux 之 文件搜索命令
文件搜索命令
参考教程:【千峰教育】
文件搜索定位
grep:
作用:通用规则表达式分析程序,是一种强大的文本搜索工具,
它能使用正则表达式搜索文本,并把匹配的行打印出来。
格式:grep [选项] pattern [文件名]
选项:
-i:字母不区分大小写
-n:显示行号
说明:
pattern为所要匹配的正则表达式字符串
实例:
grep ftp /etc/passwd
在/etc/passwd文件下查找包含'ftp'字符的行
grep 'test' d*
显示所有以d开头的文件中包含'test'的行
ls /bin | grep '^m'
通过管道过滤ls /bin 输出的内容,只显示以m开头的行
grep -i 'hello world' menu.h main.c
显示在menu.h和main.c文件中匹配'hello world'的行,忽略大小写。
find:
作用:最常见和最强大的查找命令。
格式:find [目录] [条件] [动作]
目录:所要搜索的目录及其所有子目录,默认为当前目录。
条件:所要搜索的文件的特征。
动作:对搜索结果进行特定的处理。
选项:
-name:指定文件名,可以通过*模糊匹配
-type:指定文件类型(b/c/d/p/l/f)
-size:指定文件大小,单位可以为K/M/G,+表示大于,-表示小于。
-user:指定用户
-group:指定用户组
-mtime/atime/ctime:指定修改时间/访问时间/创建时间,
单位为天,+几天前,-几天内。
-mmin/amin/cmin:同上,时间的的那位为分钟。
说明:find寻找数据时相当耗资源,可以根据具体情况使用whereis或which取代。
whereis:
作用:只作用于程序名的搜索
格式:whereis 命令
实例:whereis grep
结果:grep: /bin/grep /usr/share/man/man1/grep.1.gz
名称 二进制文件路径 帮助文档路径
which:
作用:在$PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
也就是说,使用which命令,可以查看某个系统命令是否存在,以及
执行的到底是哪一个。
格式:which 命令
PATH:
说明:环境变量,与windows中的环境变量类似。
打印:echo $PATH
导出:
方式1:一次性的设置
export PATH=$PATH:dir1[:dir2]
方式2:永久性的设置,所有用户有效,需要重启生效或使用source命令。
将方式1的导出操作添加到文件/etc/profile的末尾
方式3:永久性的设置,只针对一个用户,需要重启生效或使用source命令,
优先级高于2,将方式1的导出操作添加到~/.bashrc的末尾。