LInux 文件搜索命令

文件搜索命令  locate

优点:搜索速度很快 缺点: 只能搜索文件名(速度快 耗费资源少)

localte  文件名

(在后台数据库中按文件名 搜索,搜索速度快  localte 命令并不是在系统中去搜索 )

而是会在 /var/lib/mlocate  后台数据库  (#locate 命令所搜索的后台数据库 该数据库是一天一更新)

updatedb  可以立刻更新数据库

locate 搜索时: 按照配置文件来进行搜索  /etc/updatedb.conf 配置文件

# 开启搜索限制 prune_bind_mounts = "yes"

# 搜索时不搜索的文件系统  prunenames =

#搜索时不搜索的路径: prunepaths

命令搜索命令 whereis 与which

whereis # 搜索命令所在路径及帮助文档所在位置    (whatis  whoami)

选项 -b : 只查看可执行文件 -m  只查看帮助文档所在位置

外来命令可以通过  whereis 和which找到

which 会把别名完整名打印出来    可以看一下他的使用

(/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

这个是什么?  在linux中要想要执行脚本,执行文件或者执行命令,只有一种方法那就是使用绝对路径,

有了一个$path 的环境变量 该路径 使用 : 分割的不同路径

PATH环境变量: 定义的是系统搜索命令的路径

文件搜索命令 find

locate 命令只能搜文件名 whereis和which命令只能搜命令所在路径

find命令

find  [搜索范围]  [搜索条件]

#搜索文件

find / -name install.log

#避免大范围的搜索,会非常耗费系统资源

#find 是在系统当中搜索符合条件的文件名。使用通配符匹配,通配符是完全匹配

find  是完全匹配

在linux 中的通配符  : * 匹配任意内容 ? 匹配任意一个字符 [] 匹配中括号内的字符

find /root -name "install.log*"

find /root -name "ab[cd]"

find /root -name "*[ab]"   find 文件名 无通配符完全匹配,想要模糊查询,必须加通配符

find /root -iname install.log  不区分大小写

find /root -user root  #按照所有者来进行搜索

find /root -nouser #查找没有所有者的文件

find /root -nouser  很常用    一旦搜索到,没有所有者的文件是垃圾文件 (内核产生的文件有可能没有所有者,proc,sys 是正常的  外来文件 可能没有所有者  )

find  /var/log -mtime +10

#查找10天前修改的文件

-10 10天内修改的文件

10 10天当天修改的文件

+10 10天前修改的文件

atime 文件访问时间

ctime 改变文件属性

mtime 改变文件内容

按照文件大小搜索  :

find [文件路径] -size 25k

find [文件路径] -size 25M 小写的 k 大写的M

按照 inode 来搜索文件

find [文件路径] -inum 262422 # 查找i节点是262422 的文件

find 的复杂操作

find /etc -size +20k -a -size -50k

# 查找 /etc 目录下,大于20KB并且小于50KB的文件

-a   and  逻辑与   两个条件都满足

-o   or 逻辑或  两个条件满足一个就可以

find /etc/ -size +20k -a -size -50k -exec ls -lh {} \;

{}  放置的是查找结果

# 查找/etc 目录下,大于20KB并且小于50kb的文件,并显示详细信息

#-exec / -ok 命令{} \; 对搜素结果执行操作

find /root -inum 790222 -exec rm -rf {} \;

找到 790222 节点 并删除节点   并发查找

字符串搜索命令 grep

grep [选项] 字符串 文件名

# 在文件当中 匹配符合条件的字符串

选项 :

-i  忽略大小写

-v 排除指定字符串

find命令和grep命令的区别

find 命令: 在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配

grep命名: 在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式进行匹配,正则表达式时包含匹配

时间: 2024-12-21 15:01:51

LInux 文件搜索命令的相关文章

linux文件搜索命令

文件搜索命令使用高峰期时尽量少用find,尽量缩小搜索范围,尽量精确搜索关键词 find -a (and) -o(or) find /路径 -name 文件名find /路径/*文件名*通配符find /路径/文件名???匹配三个字符find /路径 -iname 文件名 搜索结果包括大写的 find -type f文件 d目录 l软连接       -inum按节点find / -size +1M k 代表搜索大于100MB的文件 -204800 204800        -mtime +-

Linux —— 文件搜索命令

文件搜索命令(配置文件/etc/updatedb.conf) locate 文件名 搜索速度非常快 在后台数据库中按照文件名搜索 updatedb 更新数据库 只可以按照文件名搜索 whereis 命令名 搜索命令所在路径以及帮助文档所在的位置 -b: 只查找可执行文件 -m: 只查找帮助文档 which 命令名 别名,所在路径 find [搜索范围] [搜索条件] 从根节点遍历一遍 通配符 匹配任意内容 ? 任意一个字符 [] 指定范围 按照名字搜索 iname 名字不区分大小写-name 区

linux 文件搜索命令which、whereis

which /usr/bin/which 搜索命令所在目录及别名信息 which lsalias ls='ls --color=auto'/usr/bin/ls which rmalias rm='rm -i' /usr/bin/rm /bin/rm /tmp/test2 这个没有询问确认,直接删除 rm -r /tmp/Init 这个有询问确认,因为这个rm 实际是 rm -i whereis 搜索命令及配置文件的信息 whereis rm 结果:rm: /usr/bin/rm /usr/sh

linux 文件搜索命令locate及updatedb

windows 搜索工具Everything是根据NTFS日志来搜索的,所以速度特别快 locate 类似于windows的Everything,搜索速度比较快 locate /usr/bin/locate 语法:locate 文件名不是在整个硬盘去找,而是在文件资料库中查找文件 locate init = find / *init* locate locate结果里有:/var/lib/mlocate/mlocate.db,这个就是文件资料库-i 不区分大小写 如果一个新建的文件没有被收入到文

linux 文件搜索命令 grep、-i、-v ^#

grep /bin/grepgrep -iv [指定字条串] [文件]在文件中搜索字符串匹配的行并输出-i 不区分大小写 -v 排除指定字符串 grep -i java /etc/profile grep -v ^# /etc/profile不显示以#开头的行 原文地址:https://www.cnblogs.com/BaiLaowu/p/9499505.html

Linux学习笔记四:Linux的文件搜索命令

1.文件搜索命令  which 语法:which [命令名称] 范例:$which ls  列出ls命令所在目录 [[email protected] ~]$ which ls alias ls='ls --color=auto' /bin/ls 另外一个命令:whereis [名称名称],也可以列出命令所在目录. [[email protected] ~]$ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/ma

Linux自学第二天(权限管理命令、文件搜索命令、帮助命令)

添加用户两步走:1.useradd username   2.passwd ps  权限管理命令 命令名称:chmod  ->>change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户 语法:chmod [{u g o} {+-=}{rwx}][文件或目录] [mode = 421] [文件或目录] +:增加权限 -:减少权限 =:直接赋予权限 掌握的重点是用数字的方式进行权限控制,r=4 w=2 x=1. rwxr-x

Linux常用命令(第二版) --文件搜索命令

文件搜索命令 1.which /usr/bin/which #显示系统命令所在目录,绝对目录,不能查找文件 格式:which [系统命令] e.g. which ls 附-whereis:也可以查找到命令的绝对路径 与whereis不同,which会列出这个命令的别名记录,而whereis会显示出这个命令的帮助文档所在位置 2.find /usr/bin/find #查找文件或目录,任何文件皆可,如图片,压缩包等 语法:find [搜索路径] [搜索选项] filename a) find /e

Linux学习之文件搜索命令

1.文件搜索命令 find 2.find命令常用选项:根据文件名.文件大小.所有者.所属组 进行查找 find / -name init 表示全盘搜索init文件或目录.注意 /表示全盘  .表示当前目录 Linux里面的文件搜索是精准搜索的,如果要进行模糊匹配,需要使用通配符,例如: find /etc -name *init* 表示查找文件名包含init字符的文件.*表示匹配任意个字符. find /etc -name *init 表示查找文件名以init结尾的文件. find /etc -