尚硅谷Linux学习笔记---常用命令-搜索命令

2.5、搜索命令

2.5.1、whereis

搜索系统命令的命令,而不能搜索普通文件

  • 命令名称:whereis
  • 英文原意:locate the binary,source,and manual page files for a command
  • 所在路径:/usr/bin/whereis
  • 执行权限:所有用户
  • 功能描述:查找二进制命令、源文件和帮助文档的命令
[root@xyc ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

2.5.2、which

搜索系统命令的命令,而不能搜索普通文件

  • 命令名称:which
  • 英文原意:shows the full path of (shell) commands.
  • 所在路径:/usr/bin/which
  • 执行权限:所有用户
  • 功能描述:列出命令的所在路径,和别名
[root@xyc ~]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls

whereiswhich区别

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uAdiYasd-1588644033231)(../AppData/Roaming/Typora/typora-user-images/image-20200424230203417.png)]

2.5.3、locate

按照文件名搜索普通文件

  • 命令名称:locate
  • 英文原意:find files by name
  • 所在路径:/usr/bin/locate
  • 执行权限:所有用户
  • 功能描述:按照文件名搜索普通文件

优缺点

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oNi4y95n-1588644033233)(../AppData/Roaming/Typora/typora-user-images/image-20200424230523005.png)]

#当有些刚创建的文件,通过locate命令无法查到时,是因为数据库还没有更新
[root@xyc ~]# updatedb  #更新数据库

[root@xyc ~]# cat /etc/updatedb.conf  #查看数据库 配置文件

PRUNE_BIND_MOUNTS = "yes"
# 开启搜索限制
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"
#在locate执行搜索时,禁止搜索这些文件系统类型
PRUNENAMES = ".git .hg .svn"
#在locate执行搜索时,禁止搜索带有这些拓展名的文件
PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp"
#在locate执行搜索时,禁止搜索这些系统目录

2.5.4、find

  • 命令名称:find
  • 英文原意:search for files in a directory hierarchy
  • 所在路径:/usr/bin/find
  • 执行权限:所有用户
  • 功能描述:在目录中搜索文件
#1.按照文件名搜索
[root@xyc ~]# find 搜索路径 [选项] 搜索内容
选项:
-name: 按照文件名搜索
-iname:按照文件名搜索,不区分文件名大小写
-inum: 按照inode号搜索

#2.按照文件大小搜索
[root@xyc ~]# find 搜索路径 [选项] 搜索内容
选项:
-size [+|-] 大小 : 按照指定大小搜索文件
# +:表示比指定大小还大的文件; -:表示比指定大小还小的文件

#3.按照修改时间搜索
#Linux中的文件有访问时间(atime)、数据修改时间、状态修改时间

[root@xyc ~]# find 搜索路径 [选项] 搜索内容
选项:
-atime [+|-]时间: 按照文件访问时间搜索
-mtime [+|-]时间: 按照文件数据修改时间搜索
-ctime [+|-]时间; 按照文件状态修改时间搜索
-5:代表5天内修改的文件
5:代表5~6那一天修改的文件
+5:代表6天前修改的文件

#4.按照权限搜索
[root@xyc ~]# find 搜索路径 [选项] 搜索内容
-perm 权限模式: 查找文件权限刚好等于“权限模式”的文件
-perm - 权限模式: 查找文件权限全部包含“权限模式”的文件(所有权限都比指定权限大的文件)
-perm + 权限模式: 查找文件权限包含“权限模式”的任意一个权限的文件(只要有一个权限比指定权限大的文件)

#5.按照所有者和所属组搜索
[root@xyc ~]# find 搜索路径 [选项] 搜索内容
选项:
-uid 用户ID: 按照用户ID查找所有者是指定ID的文件
-gid 组ID: 按照用户组ID查找所属组是指定ID的文件
-user 用户名: 按照用户名查找所有者是指定用户的文件
-group 组名: 按照组名查找所属组是指定用户组的文件
-nouser: 查找没有所有者的文件,常用,主要用于查找垃圾文件

#6.按照文件类型搜索
[root@xyc ~]# find 搜索路径 [选项] 搜索内容
选项:
-type d: 查找目录
-type f: 查找普通文件
-type l: 查找软连接文件

#7.逻辑运算符
[root@xyc ~]# find 搜索路径 [选项] 搜索内容
选项:
-a: and 逻辑与
-o: or 逻辑或
-not: not 逻辑非
[root@xyc ~]# find . -size +1k -a -type f

#8.其他选项
1. -exec 选项
[root@xyc ~]# find 搜索路径 [选项] 搜索内容 -exec 命令2 {} \;
# 把find命令的结果交给由”-exec“调用的命令2来执行。
#例:
[root@xyc ~]# find . -size +1k -a -type f -exec ls -lh {} \;
-rw-r--r-- 1 root root 20K Mar  4 16:48 ./install.sh
-rw------- 1 root root 24K Mar 21 15:25 ./.cache/pip/http/b/b/8/7/6/bb876b2e6a22c2739002e9ef3388ae978b7a6192a19fe67d8b0030f2
-rw------- 1 root root 1.2K Apr 24 00:54 ./.viminfo
-rwxr-xr-x 1 user1 root 8.4K Jan 30 16:46 ./LinuxStudy/1
-rw------- 1 root root 4.1K Apr 24 04:45 ./.bash_history
[root@xyc ~]# 

2. -ok 选项
与 -exec选项作用基本一致;区别在于,”-exec“的命令2会直接执行,不会询问;”-ok“的命令2在执行前会询问是否执行
#例:
[root@xyc ~]# find . -size +1k -a -type f -ok ls -lh {} \;
< ls ... ./install.sh > ? y
-rw-r--r-- 1 root root 20K Mar  4 16:48 ./install.sh
< ls ... ./.cache/pip/http/b/b/8/7/6/bb876b2e6a22c2739002e9ef3388ae978b7a6192a19fe67d8b0030f2 > ? y
-rw------- 1 root root 24K Mar 21 15:25 ./.cache/pip/http/b/b/8/7/6/bb876b2e6a22c2739002e9ef3388ae978b7a6192a19fe67d8b0030f2
< ls ... ./.viminfo > ? y
-rw------- 1 root root 1.2K Apr 24 00:54 ./.viminfo
< ls ... ./LinuxStudy/1 > ? y
-rwxr-xr-x 1 user1 root 8.4K Jan 30 16:46 ./LinuxStudy/1
< ls ... ./.bash_history > ? y
-rw------- 1 root root 4.1K Apr 24 04:45 ./.bash_history

2.5.5、grep

  • 命令名称:grep
  • 英文原意:print lines matching a pattern
  • 所在路径:Shell内置命令
  • 执行权限:所有用户
  • 功能描述:在文件中提取和匹配符合条件的字符串行。
[root@xyc LinuxStudy]# grep [选项] “搜索内容” ,目标文件
选项:
-i : 忽略大小写
-n : 输出行号
-v : 反向查找
--color = auto : 搜索出的关键字用颜色显示
例:
[root@xyc LinuxStudy]# cat abc 
xueyunchong
aaaaaaaaaa
111111111111111

[root@xyc LinuxStudy]# grep a abc 
aaaaaaaaaa
abcdefghijklmn

findgrep区别
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EvhqmWjp-1588644033235)(../AppData/Roaming/Typora/typora-user-images/image-20200427162339461.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kxNmh7pJ-1588644033238)(../AppData/Roaming/Typora/typora-user-images/image-20200427162356255.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i2Ptmw5Q-1588644033241)(../AppData/Roaming/Typora/typora-user-images/image-20200427164104350.png)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值