Linux教程

5 Linux 常用命令(四)搜索命令

本文主要是介绍5 Linux 常用命令(四)搜索命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

5 Linux 常用命令(四)搜索命令

5.1 whereis命令

whereis是搜索系统命令的命令,也就是说,whereis命令不能搜索普通文件,而只能搜索系统命令。其基本信息如下。

  • 命令名称:whereis。

  • 英文原意:locate the binary, source, and manual page files for a command。

  • 所在路径:/usr/bin/whereis。

  • 执行权限:所有用户。

功能描述:查找二进制命令、源文件和帮助文档的命令。

[root@localhost ~]# whereis [选项] [命令]

示例:

[root@localhost ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

5.2 which命令

which命令的基本信息如下。

  • 命令名称:which。

  • 英文原意:shows the full path of (shell) commands。

  • 所在路径:/usr/bin/which。

  • 执行权限:所有用户。

功能描述:列出命令的所在路径。

[root@localhost ~]# which [选项] [命令]
选项:
-n  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p  与-n参数相同,但此处的包括了文件的路径。
-w  指定输出时栏位的宽度。
-V  显示版本信息

示例:

[root@localhost ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls

5.3 find命令

find命令的基本信息如下。

  • 命令名称:find。

  • 英文原意:search for files in a directory hierarchy。

  • 所在路径:/bin/find。

  • 执行权限:所有用户。

功能描述:在目录中搜索文件。

[root@localhost ~]# find [搜索路径] [选项] [搜索内容]
选项:
-name: 按照文件名搜索
-iname: 按照文件名搜索,不区分文件名大小写
-inum: 按照inode号搜索
-size: 大小:
-atime [+|-]时间: 按照文件访问时间搜索
-mtime [+|-]时间: 按照文件数据修改时间搜索
-ctime [+|-]时间: 按照文件状态修改时间搜索
-perm 权限模式: 查找文件权限刚好等于“权限模式”的文件
-perm -权限模式: 查找文件权限全部包含“权限模式”的文件
-perm +权限模式: 查找文件权限包含“权限模式”的任意一个权限的文件
-uid 用户ID: 按照用户ID查找所有者是指定ID的文件
-gid 组ID: 按照用户组ID查找所属组是指定ID的文件
-user 用户名: 按照用户名查找所有者是指定用户的文件
-group 组名: 按照组名查找所属组是指定用户组的文件
-nouser: 查找没有所有者的文件
-type d: 查找目录
-type f: 查找普通文件
-type l: 查找软链接文件选项:

示例:

[root@localhost ~]# find / -name nginx.conf
/etc/nginx/nginx.conf

5.4 grep命令:补充命令

grep的作用是在文件中提取和匹配符合条件的字符串行。

  • 命令名称:grep

  • 英文原意:Extract string information from file

  • 所在路径: /usr/bin/grep

  • 执行权限:所有用户

功能描述:提取文件中的字符串信息

[root@localhost ~]# grep [选项] [搜索内容] [文件名]
选项:
-i: 忽略大小写
-n: 输出行号
-v: 反向查找
--color=auto: 搜索出的关键字用颜色显示

示例:

[root@VM-32-17-centos ~]# grep -in root /etc/passwd
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin

5.5 管道符:补充命令

命令格式: 命令1 | 命令2,命令1的正确输出作为命令2的操作对象

示例:

[root@localhost ~]# netstat -anput | grep 8080
tcp 0 0 172.17.32.17:57980 172.17.32.17:28080 TIME_WAIT -
tcp 0 0 172.17.32.17:49058 169.254.0.55:8080 TIME_WAIT -
tcp 0 0 172.17.32.17:59366 172.17.32.17:28080 ESTABLISHED 7744/nginx: worker

5.6 命令的别名:补充命令

命令的别名,就是命令的小名,主要是用于照顾管理员使用习惯的。

  • 命令名称:alias

  • 英文原意:Alias for the command

  • 所在路径: /usr/bin/alias

  • 执行权限:所有用户

功能描述:命令的别名。

[root@localhost ~]# alias
#查询命令别名
[root@localhost ~]# alias [别名]=['原命令']
#设定命令别名
[root@localhost ~]# unalias [别名]
#删除命令别名

示例:

[root@localhost ~]# alias ser='systemctl restart network' #创建别名

5.7 常用快捷键:补充命令

快捷键作用
Tab键 命令或文件补全
Ctrl+A 把光标移动到命令行开头
Ctrl+E 把光标移动到命令行结尾
Ctrl+C 强制终止当前的命令
Ctrl+L 清屏,相当于clear命令
Ctrl+U 删除或剪切光标之前的命令
Ctrl+Y 粘贴ctrl+U剪切的内容

5.8 which和whereis的区别

  • whereis命令可以在查找到二进制命令的同时,查找到帮助文档的位置;

  • 而which命令在查找到二进制命令的同时,如果这个命令有别名,则还可以找到别名命令。

5.9 find命令和grep命令的区别

  • find命令用于在系统中搜索符合条件的文件名,如果需要模糊查询,则使用通配符进行匹配,通配符是完全匹配(find命令可以通过-regex选项,把匹配规则转为正则表达式规则,但是不建议如此)。

  • grep命令用于在文件中搜索符合条件的字符串,如果需要模糊查询,则使用正则表达式进行匹配,正则表达式是包含匹配。

5.10 通配符和正则表达式

通配符:用于匹配文件名,完全匹配

通配符作用
? 匹配一个任意字符
* 匹配0个或任意多个任意字符,也就是可以匹配任何内容
[] 匹配中括号中任意一个字符。例如,[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c
[-] 匹配中括号中任意一个字符,-代表一个范围。例如,[a-z]代表匹配一个小写字母
[^] 逻辑非,表示匹配不是中括号内的一个字符。例如,0-9代表匹配一个不是数字的字符

正则表达式:用于匹配字符串,包含匹配

正则符作用
? 匹配前一个字符重复0次,或1次(?是扩展正则,需要使用egrep命令)
* 匹配前一个字符重复0次,或任意多次
[] 匹配中括号中任意一个字符。例如,[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c
[-] 匹配中括号中任意一个字符,-代表一个范围。例如,[a-z]代表匹配一个小写字母
[^] 逻辑非,表示匹配不是中括号内的一个字符。例如,^0-9代表匹配一个不是数字的字符
^ 匹配行首
$ 匹配行尾
这篇关于5 Linux 常用命令(四)搜索命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!