一、全体文件逐条搜索文件 find

命令名称:find

命令所在路径:/bin/find ( 所有用户)

语法: find [搜索范围] [指令] [匹配条件]

特点:相比于locate命令,对全体文件逐条搜索,结果详细,但速度比较慢

匹配条件

  • 模糊搜索:
    • *表示任意个数的任意字符,如:*ab*表示名字含有ab的文件。
    • 表示一个任意字符,?ab?表示XabX

指令

  • -group (用户名): 根据所属组查找—— find / -group hyk
  • -user (用户名):根据所有人查找 —— find / -user hyk
  • -amin/-atime (-n/+n/n) : 访问时间 access —— find / -amin -30
  • -cmin/-ctime (-n/+n/n) : 修改属性时间 change —— find / -cmin -30
  • -mmin/-mtime (-n/+n/n) : 修改内容时间 modify —— find / -mmin -30
  • -a : 两个条件同时满足 —— find / iname abc -a -user hyk
  • -o : 两个条件满足任意一个即可 —— find / iname abc -o -user hyk
  • -type (f/d/l) :根据文件类型,f:文件 ,d:目录,l:软链接 —— find / type d

二、在文件资料库中查找文件 locate

命令名称: locate

命令所在路径:/bin/locate ( 所有用户)

语法: locate [文件名]

特点:相比于find命令,在文件资料库中查找,无法实时更新,但查找速度很快。(系统在/var/lib/mlocate/mlocate.db 存放全系统文件数据库,一般一周自动更新一次,也可以通过updatedb命令手动更新)

后缀

  • -c:--count 只显示找到的条目的数目【locate -c XXX】
  • –i:查找时不区分大小写【locate -i XXX 】
  • -r:使用正则表达式【locate -r '\...'】

三、在文件中搜寻字串匹配的行 grep

命令名称: grep

命令所在路径:/bin/grep ( 所有用户)

语法: grep (-i/-v) [指定字串] [文件名]

后缀:

  • -i:不区分大小写
  • -v:排除指定字符串

比如:

  • 在text文件中查找含“hello”的行 —— grep hello text
  • 可以看到,里面两行包含“hello”的句子都输出了。
  • 在text文件中查找不包含“hello”的行 —— grep -v hello text
  • 可以看到,除了含有“hello”的那两句外,其余两句输出。

四、搜索命令所在目录及别名信息 which

命令名称:  which

命令所在路径:/bin/which ( 所有用户)

语法: which [命令名]

例如

查看 r m命令所在位置及别名:which rm

可以看到,rm的别名时"rm -i",位于/bin/rm

五、搜索命令所在目录及帮助文档路径 whereis

命令名称:   whereis

命令所在路径:/bin/ whereis ( 所有用户)

语法: whereis [命令名]

例如

查看 rm 命令所在位置及别名:whereis rm

六、获取帮助信息 man

命令名称: man (manual)

命令所在路径:/usr/bin/man ( 所有用户)

语法:man [命令或配置文件名]

注:直接写命令或配置的名字(ls、rm等),而不是写命令的路径名。

可以获取命令的英文全名,具体用法等

比如:

  • man ls获取ls命令的信息:
  • man services 获取services配置文件的帮助信息

七、获得Shell内置命令的帮助信息 help(umask、cd等为Shell内置命令)

命令名称: help

命令所在路径:Shell内置命令

语法:help [命令名]

比如:help cd