Linux-文件搜索命令

  1. 文件搜索命令
    1. find
    2. locate
    3. which
    4. whereis
    5. grep

文件搜索命令

find

功能描述: 文件搜索

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

eg. find ./path -type f -name "file_name"

范例:

# 在目录/etc 中查找文件 init,-iname 不区分大小写
find /etc -name init
find /etc -iname init
# 在根目录下查找大于100MB的文件,+n 大于,-n 小于,n 等于
find / -size +204800
# 在家目录下查找所有者为zhansan的文件,-group 根据所属组查找
find /home -user zhansan
# 在/etc目录下查找5分钟内被修改过属性的文件和目录
find /etc -cmin -5

# -amin  访问时间access
# -cmin  文件属性change
# -mmin  文件内容modify
# 在/etc 下查找大于80MB小于100MB的文件
find /etc -size +163840 -a -size -204800

# -a: and,两个条件同时满足
# -o: or,满足任意一个即可
# 在/etc 下查找inittab文件并显示其详细信息
find /etc -name inittab -exec ls -l {} \;

# -exec/-ok 命令 {} \;  对搜索结果执行命令操作
# 在/etc 下根据文件类型为目录查找yum
[root@iZwz9f92w7soch5m251ghgZ tmp]# find /etc -type d -name "yum"
/etc/yum
[root@iZwz9f92w7soch5m251ghgZ tmp]# find /etc -type f -name "yum"
/etc/logrotate.d/yum
[root@iZwz9f92w7soch5m251ghgZ tmp]# find /etc -type f -name "yum*"
/etc/logrotate.d/yum
/etc/yum.conf

# -type: f 文件,d 目录,l 软链接文件

locate

功能描述: 在文件资料库中查找文件

安装:

yum -y install mlocate

语法: locate [文件名]

这个东西每天只更新一次,想要立即使用并且搜索到最新的文件需要更新 updatedb

[root@iZwz9f92w7soch5m251ghgZ ~]# touch test/2023-03-05.log
[root@iZwz9f92w7soch5m251ghgZ ~]# 
[root@iZwz9f92w7soch5m251ghgZ ~]# updatedb
[root@iZwz9f92w7soch5m251ghgZ ~]# 
[root@iZwz9f92w7soch5m251ghgZ ~]# locate 2023-03-05.log
/root/test/2023-03-05.log
[root@iZwz9f92w7soch5m251ghgZ ~]# 

注意: /tmp 目录下的文件,不会收集到资料库中

which

功能描述: 搜索命令所在目录及别名信息

语法: which [命令名称]

[root@iZwz9f92w7soch5m251ghgZ tmp]# which ls
alias ls='ls --color=auto'
	/usr/bin/ls
[root@iZwz9f92w7soch5m251ghgZ tmp]# 
[root@iZwz9f92w7soch5m251ghgZ tmp]# which rm
alias rm='rm -i'
	/usr/bin/rm

whereis

功能描述: 搜索命令所在目录及帮助文档路径

语法: whereis [命令名称]

[root@iZwz9f92w7soch5m251ghgZ tmp]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
[root@iZwz9f92w7soch5m251ghgZ tmp]# 
[root@iZwz9f92w7soch5m251ghgZ tmp]# whereis rm
rm: /usr/bin/rm /usr/share/man/man1/rm.1.gz
[root@iZwz9f92w7soch5m251ghgZ tmp]# 

grep

功能描述: 在文件中搜索字符串匹配的行并输出

语法: grep [选项] [指定字符] [文件]

选项:

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

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。
My Show My Code