访问手机版  

Linux常用命令|Linux培训学习|考试认证|工资待遇与招聘,认准超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux常用命令

linux下4种常见的文件搜索命令

时间:2019-08-16

linux命令中的head命令_linux常用命令_linux常用shell命令

1、文件搜索命令locate(定位,查找)

最大的好处,速度快

格式: locate 文件名

返回文件的路径

搜索方式:在后台数据库中按照文件名搜索,每天更新一次

因此新建的文件往往要第二天才能搜索出来

但是也可以强行更新数据库 执行命令updatedb既可以

数据库的位置 /var/lib/mlocate(版本不同位置不同)

搜索的配置文件:/etc/updatedb.conf 其中指定有些目录

不参与搜索 比如/etc/temp

缺点:只可以按照文件名来搜索

例子:locate javatest

2、命令搜索命令whereis 与which

linux常用命令_linux命令中的head命令_linux常用shell命令

whereis搜索命令的所在位置,不搜索文件

-b 只查看可执行文件所在位置

-m 只查看帮助文档所在位置

which 搜索命令的所在位置,还可以查看别名linux常用命令,不搜索文件

两种搜索在path环境路径下搜索 echo $PATH

例子:whereis ls which ls

3、find(全部搜索,每一个文件名)

功能非常的强大,但是比较耗费资源

因此,尽量避免大范围的查询

格式:find 搜索范围 搜索条件

find / -name test 在根目录下搜索

搜索的内容要和文件名一模一样

如果要搜更多 则需要模糊匹配(*可以实现)匹配内容写在""中

linux常用命令_linux常用shell命令_linux命令中的head命令

*匹配任意内容(多个字符)

?匹配任意单个字符

[]匹配中括号中的任意一个字符

选项参数:

-name 按照文件名

-iname 文件名不区分大小写

-user 按照所有者搜索 find /root -nouser 没有所有者文件

内核产生linux常用命令,外来文件之外的所有文件都需要有所有者

-mtime 查找指定时间修改的文件

-atime 查找指定时间被访问文件

-ctime 查找指定时间文件属性改变的文件

参数-10 10天之内 +10 10天之前 10第10天(注意都是过去时)

-size 按照文件大小

linux常用命令_linux常用shell命令_linux命令中的head命令

find . -size +25k(+25k大于25k 兆是大写M 不写单位表示数据块(扇区数据块512byte).标识当前目录)

-inum 按照指定的i节点来搜索文件

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

-o (or) 逻辑或

-exec(中间添加第二条命令比如 ls,rm -rf) {} \; 命令1的结果让命令2来处理

例子:

find . -name test

find . -name test.gz

find . -name "*" 全部

find . -name "*.gz" 该目录下全部以gz结尾文件

find . -atime -10

find . -size -10k 10kb以下

find . -size -100M 10M以上

linux命令中的head命令_linux常用shell命令_linux常用命令

find . -size -10k -a -atime -10

find . -size -10k -a -atime +10

find . -name "*" -a -size -10k -exec ls -lhi {} \;(\前面一定要有空格)

4、grep

格式:grep 选项 字符串 文件名 在文件中查找包含关键字的字符串行

匹配需要正则表达式匹配

例子:grep "size" 文件名

-v 取反

搜索匹配是文件名 则用通配符 通配符是完全匹配

搜索文件中的内容 则使用正则表达式包含匹配

例子:

grep "log" install.log

find与grep的区别

find是查找匹配文件

grep是文件中匹配字符串