linux文件搜索

本文详细介绍了Linux系统中使用grep和find命令进行文件搜索的方法,包括grep命令的字符串匹配、忽略大小写、行数统计、递归查询,以及find命令的目录遍历、文件类型筛选、权限属性查找、时间条件筛选等高级操作,帮助用户更高效地在Linux环境中查找文件。
摘要由CSDN通过智能技术生成

linux文件搜索

一. grep命令

在linux中怎么搜索,查找文件里面的内容呢,我这里做一个简单的归纳总结,都是一些平时常用的命令

1 搜索某个文件是否包含字符串

grep Seccomp status
grep “Seccomp” status这里加一个-n参数可以查找到存在哪行

在这里插入图片描述

2 搜索多个文件是否包含某个字符串

grep “search content” filename1 filename2… filenamen
grep “search content” *.sql
在这里插入图片描述

3: 如果搜索时需要忽略大小写问题,可以使用参数-i

grep -n -i “seccomp” status

在这里插入图片描述

4:搜索、查找匹配的行数:

$ grep -c “被查找的字符串” 文件名

在这里插入图片描述

5递归查询,某文件目录下的所有文件

grep -r “seccoomp” /proc
在这里插入图片描述

二 find命令

1. 列出当前目录和子目录下的所有文件

这个命令会列出当前目录以及子目录下的所有文件。

$ find

该命令与以下命令效果相同

$ find .
$ find . -print

在这里插入图片描述

2. 查找特殊的目录或路径

下面的命令会查找当前目录下 test 文件夹中的文件,默认列出所有文件。

$ find ./test
./test
./test/abc.txt
./test/subdir
./test/subdir/how.php
./test/cool.php

下面的命令用于查找指定名称的文件。

$ find ./test -name "abc.txt"
./test/abc.txt

也可以使用通配符

$ find ./test -name "*.php"
./test/subdir/how.php
./test/cool.php

请注意,所有的文件夹都会被递归地查找。所以,这是用于查找指定扩展名文件的一种非常强大的方式。

如果我们尝试搜索 / 文件夹,也就是根目录,就会搜索整个文件系统,包括挂载的设备以及网络存储设备。所以请小心使用。当然,你随时可以通过按 Ctrl + C 来终止命令。

注意:当指定文件夹的时候(例如示例中的"./test"文件夹),忽略末尾的斜杠是没有问题的。但是,如果文件夹是一个指向其它位置的链接(symlink)时,你必须在末尾写上斜杠才能使find命令正常工作(find ./test/)。

忽略大小写

在查找文件名时,忽略大小写往往非常有用。要忽略大小写,只需要使用 iname 选项,而不是 name 选项。

$ find ./test -iname "*.Php"
./test/subdir/how.php
./test/cool.php

总是用双引号或单引号来包围匹配模式(文件名参数),这非常有用。不这样做的话有时也能正常工作,有时也可能会产生奇怪的结果。

3. 限制目录查找的深度

find 命令默认会递归查找整个目录树,而这非常消耗时间和资源。好在目录查找的深度可以手动指定。例如我们只想查找一到两层以内的子目录,可以通过 maxdepth 选项来指定。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值