网站后台怎么管理,景德镇网站建设景德镇,2021网站你懂我意思正能量,p2p免费网站建设系列文章导航#xff1a;01_Linux基础操作CentOS7学习笔记-CSDN博客 文章目录 1. locate命令2. grep命令3. find命令 在Linux系统中#xff0c;文件查找是一项常见的任务。本文将详细介绍三种强大的文件查找命令#xff1a;locate、find 和 grep#xff0c;以及它们的使用…系列文章导航01_Linux基础操作CentOS7学习笔记-CSDN博客 文章目录 1. locate命令2. grep命令3. find命令 在Linux系统中文件查找是一项常见的任务。本文将详细介绍三种强大的文件查找命令locate、find 和 grep以及它们的使用场景和参数。
1. locate命令
locate命令的功能是用于快速查找文件或目录。与find命令进行全局搜索不同locate命令是基于了数据文件/var/lib/mlocate/mlocate.db 进行的定点查找由于缩小了搜索范围因此快速快很多。
Linux系统需定期执行下updatedb命令对数据库文件进行更新然后再使用locate命令进行查找这样才会更加准确。
优点基于数据库查询效率非常高 缺点查询时要确保数据库是最新的否则查找可能不正确
第一安装时updatedb更新生成数据文件 /var/lib/mlocate/mlocate.db /etc/cron.daily/mlocate.cron 根据任务计划每天刷新数据库 注意:/tmp目录不做为updatedb数据库记录范围
安装与更新
yum install -y mlocate
updatedb语法格式
locate [参数] 文件名常用参数
-b 仅匹配文件名-c 不输出文件名-d 设置数据库所在目录-i 忽略大小写-l 限制最大查找数量-q 静默执行模式-r 使用正则表达式-S 显示数据库的统计信息-w 匹配完整的文件路径--help 显示帮助信息--version 显示版本信息
示例 搜索带有指定关键词的文件
[rootlianghui ~]# updatedb
[rootlianghui ~]# locate network
/dev/network_latency
/dev/network_throughput
………………省略部分输出信息………………在指定的目录下搜索带有指定关键词的文件
[rootlianghui ~]# locate /etc/network
/etc/networkslocate “lesson” ----查找文件包含 lesson字符串的
# locate -r lessonoo.* ( -r参数支持用正则通配符)
# locate -r ^/var/log --- ^ 以xx开头 ,查找 以 /var/log开头的所有内容
# locate -r \.iso$ 找以.iso结尾的文件 在正则‘.’表示任意一个字符‘\’ 转义为 普通的 . 字符2. grep命令
grep命令用于搜索文件中的文本模式。它支持正则表达式可以根据用户的需求灵活地进行搜索。与之容易混淆的是egrep命令和fgrep命令。如果把grep命令当作是标准搜索命令那么egrep则是扩展搜索命令等价于grep -E命令支持扩展的正则表达式。而fgrep则是快速搜索命令等价于grep -F命令不支持正则表达式直接按照字符串内容进行匹配。
语法格式
grep [参数] 文件名常用参数
-b 显示匹配行距文件头部的偏移量-c 只显示匹配的行数-E 支持扩展正则表达式-F 匹配固定字符串的内容-h 搜索多文件时不显示文件名-i 忽略关键词大小写-l 只显示符合匹配条件的文件名-n 显示所有匹配行及其行号-o 显示匹配词距文件头部的偏移量-q 静默执行模式-r 递归搜索模式-s 不显示没有匹配文本的错误信息-v 反选显示不包含匹配文本的所有行-w 精准匹配整词-x 精准匹配整行
示例
grep root /etc/passwd # 在passwd文件中过滤包含关键字root的行
grep -i root /etc/passwd # 忽略大小写匹配关键字root
grep -n -i root /etc/passwd # 忽略大小写匹配关键字root并显示行号
grep -v root /etc/passwd # 反选仅显示不包含关键字root的行
grep -v ^$ /etc/passwd # 过滤空行
grep ^root /etc/passwd # 过滤以root开头的行
grep bash$ /etc/passwd # 过滤以bash结尾的行
grep -w ^root /etc/passwd # 精确匹配以root开头的行
grep -vE ^#|^$ /etc/ssh/sshd_config # 过滤掉以#开头或空行的内容
grep -Rl pthread_create /usr/include/ # 在/usr/include目录下查找包含pthread_create的文件
grep -Rn hello /usr/share/ # 在/usr/share目录下查找包含hello的文件并显示行号3. find命令
find命令用于在指定目录下查找文件和目录。它可以根据文件名、大小、类型、权限等多种条件进行查找。 优点真实磁盘扫描查找查找方式丰富支持衔接其他指令对查找到内容进而做其他操作。 缺点慢效率低
语法
find 查找的路径 -查找的方式(name size type perm user group newer)常用查找方式 name按照文件名查找文件 find / -name *.jpg在根目录下查找以.jpg结尾的文件find / ! -name *.jpg在根目录下查找不是以.jpg结尾的文件find / -name *.jpg -o -name *.gif在根目录下查找以.jpg或.gif结尾的文件find / -regex ab[0-9]$使用正则表达式匹配查找以ab开头后面跟一个数字结尾的文件 size按照文件大小查找常用单位c k M G find / -size 655k在根目录下查找大小约为655k的文件find / -size -655k在根目录下查找小于655k的文件find / -size 655k在根目录下查找大于655k的文件find / -size 655k -size -6550k在根目录下查找大小大于655k但小于6550k的文件 user按照文件属主来查找文件 find / -user it01 group按照文件所属组来查找文件 find / -group itgrp type按照文件类型查找f d l s p c b find /dev/ -type b查找块设备文件find /dev/ -type c查找字符设备文件find /tmp -type f查找普通文件find /tmp -type d查找目录文件 perm按照文件权限来查找文件 find / -perm 0700查找权限等于0700的文件find / -perm 01777查找权限等于01777的文件例如tmp目录find / -perm urwx查找用户权限为rwx的文件find / -perm /ur查找用户权限包含’r’的文件不管其他权限find /usr/ -perm /us查找用户包含s权限冒险位的的文件 newer file1查找更改时间比文件file1新但比文件file2旧的文件 find /home/ -newer /home/a_f_8查找比/home/a_f_8新的文件find /home/ ! -newer /home/a_f_8查找比/home/a_f_8老的文件 mtime/atime/ctime根据时间查找 find / -mtime 7查找文件修改时间为7天的文件刚好等于7天find / -mtime -7查找文件修改时间小于7天的文件find / -mtime 7查找文件修改时间大于7天的文件find /home/ -mtime 0查找今天修改的文件 -mount指定只查找挂载的文件系统 find / -mount -size 10M
动作行为: -ls将查找的内容显示属性信息 find / -name *.jpg -ls显示查找到的以.jpg结尾的文件的属性信息find /home/ -empty -ls在/home目录下查找空的普通文件并执行ls显示属性的动作 -delete删除查找到的文件 find /home/ -empty -delete在/home目录下查找空的普通文件并删除它们 -exec执行命令 find /sbin -type f -size 1M -exec ls -lh {} \;在/sbin目录中查找文件类型为常规文件并且文件大小大于1M再使用ls命令来查看找到的文件的属性find /sbin -type f -size 1M -exec cp {} /tmp \;在/sbin目录中查找文件类型为常规文件并且文件大小大于1M再使用cp命令将这些文件复制到/tmp目录下 -ok执行命令但依次询问 find /home/ -empty -ok mv {} / \;在/home目录下查找空的普通文件然后依次询问是否执行mv命令将它们移动到根目录下
示例
find / -name *.jpg通过这些命令可以高效地在Linux系统中查找文件。无论是快速定位文件位置还是深入搜索文件内容这些工具一般都能满足需求。