一、概述

  使用linux系统难免会忘记文件所在的位置,可以使用以下命令对系统中的文件进行搜索。

1.1、find

  语法:find <指定目录> <指定条件> <指定动作>即:find [范围] [条件] [文件名]

  find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]

1、find命令搜索在根目录下的所有nginx文件所在位置

find / -name  'nginx'

  / 是搜索范围,根目录 。 缩小范围/root/ 表root目录下 等

  -name 是根据名称

  查不到,因为不是模糊查询。文件名要具体指定

2、如果想要模糊查询,则加通配符

通配符: *

find / -name  'nginx*'

匹配所有 nginx开头的

3、通配符 ?

一个? 表示 查找算法后 有一个字符的

find / -name  'nginx?'

只能匹配 nginx1,nginx2,不能多个字符,nginx34

两个? 表示 查找算法后 有两个字符的

4、通配符* 和 ? 可以加在关键字 算法的任意位置

5、通配符 [ ]

表示有 [ ] 内的任意一个字符 都能查找出来

find / -name  'ngi[ng]x'

匹配nginx、ngigx

6、linux是区分大小写的,如果文件名是小写,如果搜索是写成大写的就查找不到了

如果不区分大小写只需在name前加个 i

find / -iname  'nginx'

不区分大小写

7、根据用户-user

  根据文件名-name查找

  查找root 用户目录下 所有文件

find / -user root

8、-size  根据文件大小查找

命令 [root@localhost ~]# find /root/ -size 2k

2k 表示1~2k

1k 表示 0~1k

+2k 表示大于2k

-2k表示小于2k

命令 [root@localhost ~]# find /root/ -size +10k –a –size -20k

表示查找root目录下 大于10k并且小于20k 的文件

-a 表示 and与

-o 表示 or或

9、-inum  根据i节点查找

[root@localhost ~]# ll -i   显示所有i节点的文件

ll -i
-rw-r--r-- root root 2月 : test.txt

查找

find /export/servers/ -inum
# /export/servers/test.txt

10、根据时间查找

-atime  +n 表示访问或执行时间大于n天的文件

-ctime  +n 表示写入更改时间大于n 天的文件

-mtime  +n  表示写入时间大于n天的文件,用的最多

-n 就表示 小于n 天

1.2、locate

  比find命令快。因为它查询的是数据库(/var/lib/locatedb),数据库包含本地所有的文件信息。搜索速度快,但不适合精确查找。一般不用。

  如上例:

locate nginx

1.3、whereis

  使用”whereis“命令可以搜索linux系统中的所有可执行文件即二进制文件

  如搜搜grep命令

whereis grep

1.4、which

  使用which命令查看系统命令是否存在,并返回系统命令所在的位置

  使用which命令查看grep命令是否存在以及存在的目录的命令为:

which grep

1.5、type

  使用type命令查看系统中的某个命令是否为系统自带的命令

  使用type命令查看cd命令是否为系统自带的命令;查看grep 是否为系统自带的命令。

type cd
type grep

1.6、grep查文件内部

Grep [要查找的字符串] [路径]

查找 目录中配置文件中的 字符串

grep test /export/servers
grep: /export/servers: 是一个目录

grep test /export/servers/test.txt
test is test s

选项

-i 忽略大小写

-v 排除指定字符串

004-linux命令-搜索命令find、locate、whereis、which、type的更多相关文章

  1. linux 命令中的find locate whereis which type 使用区别

    find 最强大,但参数也较多,需指定查找目录,如 find / -name “filename” locate 是一个快速查找命令,有预先索引好的数据库,由于数据库是定时更新,因此,结果上可能会有迟 ...

  2. Linux常用命令学习2---(文件搜索命令locate find、命令搜索命令whereis which、字符串搜索命令grep、帮助命令man)

     1.文件搜索命令:locate [文件名]    在后台数据库中按文件名搜索,搜索速度比find快,耗费资源更少    例子:locate test.txt,就会显示文件名包含 test.txt的所 ...

  3. Linux文件搜索命令

    文件搜索命令:locate locate 文件名 在后台数据库中按文件名搜索,搜索速度很快(比find命令要快得多) locate命令所搜索的后台数据库的位置:/var/bin/mlocate 支持模 ...

  4. Centos之命令搜索命令whereis与which

    Centos之命令搜索命令whereis与which whereis 命令名 #搜索命令所在路径及帮助文档所在位置 选项: -b :只查找可执行文件位置 -m:只查找帮助文件 [root@localh ...

  5. Linux 文件搜索命令:find、which、whereis 和 locate

    Linux 提供了许多用于文件搜索的命令,这些命令都很强大,但是也有一些不同之处,这里分别介绍一下. 一.find 命令 find 是最常见和最强大的一个文件搜索命令.使用 find 命令可以在指定目 ...

  6. Linux的五个查找命令:find,locate,whereis,which,type

    使用电脑的时候,经常需要查找文件. 在Linux中,有很多方法可以做到这一点.国外网站LinuxHaxor总结了五条命令,你可以看看自己知道几条.大多数程序员,可能经常使用其中的2到3条,对这5条命令 ...

  7. 【转】Linux的五个查找命令:find,locate,whereis,which,type

    原文网址:http://www.ruanyifeng.com/blog/2009/10/5_ways_to_search_for_files_using_the_terminal.html 最近,我在 ...

  8. Linux的五个查找命令:find,locate,whereis,which,type 及其区别

    1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> ...

  9. Linux系列(10) - 命令搜索命令whereis与which

    whereis 只能搜索系统命令,不能搜索自己凭空创建的普通文件 命令格式: whereis [命令名] 选项: -b:只查找可执行文件 -m:只查找帮助文件 which 搜索命令所在路径及别名:不是 ...

随机推荐

  1. Hibernate -- Dao层 -- CURD -- 随记

    根据Where 参数 查询记录总数 .拼接SQL语句 .获取Session(hibernateTemplate.getSessionFactory().getCurrentSession()),调用C ...

  2. Caused by: java.lang.ClassNotFoundException: javax.xml.bind.Validation

    Caused by: java.lang.ClassNotFoundException: javax.xml.bind.Validation JAXB API是java EE 的API,因此在java ...

  3. 关于linux下mysql 5.7.x数据库的yum的安装方法

    环境介绍>>>>>>>>>>>>>>>>>> 操作系统:Centos 7.1 mysql数据 ...

  4. python3之end关键字

    end 关键字 关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符,实例如下: #!/usr/bin/python3 # Fibonacci series: 斐波纳契数列 # 两个 ...

  5. MySQL主从同步添加至zabbix监控

    参考文档:https://blog.csdn.net/hellowidow_2020/article/details/78985368    https://www.cnblogs.com/cdjia ...

  6. [No000016C]做企业分析的三个重要工具

    个工具>这本书,内容很基础,但是逻辑很清晰.里面介绍了三个常用的分析方法:pest分析法.波特五力模型以及swot分析法,为脑袋里没有分析思路的人提供了分析框架. 故将这三个分析方法做成了思维导 ...

  7. [No0000B9]C# 类型基础 值类型和引用类型 及其 对象复制 浅度复制vs深度复制 深入研究2

    接上[No0000B5]C# 类型基础 值类型和引用类型 及其 对象判等 深入研究1 对象复制 有的时候,创建一个对象可能会非常耗时,比如对象需要从远程数据库中获取数据来填充,又或者创建对象需要读取硬 ...

  8. Vue.js最佳实践

    Vue.js最佳实践 第一招:化繁为简的Watchers 场景还原: created(){ this.fetchPostList() }, watch: { searchInputValue(){ t ...

  9. screen基本用法

    当某些命令执行时间过长或者某些程序关闭shell后自动断开时,就能使用screen 1.安装yum -y install screen 2.输入screen命令进入screen控制台 3.输入scre ...

  10. linux 之awk

    简介 awk是一个强大的文本分析工具,相对grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格 为默认分隔符将每行切片,切开的部分再 ...