linux 搜索命令?vim搜索关键字命令
大家好,感谢邀请,今天来为大家分享一下linux 搜索命令的问题,以及和vim搜索关键字命令的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
Linux中查找文件夹的命令
Linux中查找文件夹的命令是find命令。
Linux-文件搜索命令find的操作使用方法如下:
1、全盘搜索,也可以指定目录搜索。find搜索目录-name目标名字,find/-name file
2、这样搜索看到的都是file的完全匹配,区分大小写的,可以用-iname不区分大小写,find/-iname file。这样我们就可以多查找到大写的相关文件了。
3、我们先使用*通配符来匹配下包含file的相关文件区分大小写的:find/-name*file*。不区分大小写的:find/-iname*file*。这样匹配的话文件就比较多了,越精准的匹配越有利于查找。
4、find搜索目录-size文件大小。下面我们查找下大于100MB的文件,应该实际是102400KB*2,所有搜索命令为:find/-size+204800。-号是小于,直接写数字就是等于。
5、find搜索目录-user用户名。这里是查找属于用户名为user1的文件,linux如何添加删除用户名,可以参考Linux用户管理命令:find/-user user1。
6、find搜索目录-type d。查找某个目录下的所有目录:find/tmp-type d。
7、find搜索目录-cmin-时间(单位分钟)。查找etc下面1小时内被修改的文件,根目录下面太多了,指定一个目录:find/etc-cmin-60。
8、当然find命令是可以多个选项一起添加查询的:-a是前后条件都要满足,-o是满足一个条件就好,这样我们可以清除的看到被过滤掉的文件。
linux 搜索命令有哪些
文件搜索命令(只能搜索文件)
locate文件名
在后台数据库中按文件名搜索,搜索速度快/var/lib/mlocate(locate文件数据库)这个数据库默认一天更新一次,强制更新命令:updatedb
按照/etc/updatedb.conf配置文件里面规则进行搜索
搜索命令的命令:whereis
whereis命令名作用:搜索命令所在路径及帮助文档所在位置
-b(只查找可执行文件)-m(只查找帮助文件)
which文件名作用:搜索命令所在路径及别名
PATH环境变量:定义的是系统搜索命令的路径
find [搜索范围] [搜索条件]
find/root-nouser(搜索没有所有者的文件)
find/var/log-mtime+10(查找10天前修改的文件) atime(文件访问时间) ctime(改变文件属性的时间) mtime(修改文件内容的时间)
find.-size 25k(查找当前目录等于25k的文件) find.-size+10M(查找当前目录大于10M的文件)
find/etc-size+20k-a-size-50k(查找/etc下大于20k小于50k的文件)-a(and)-o(or)
find/etc-size+20k-a-size-50k-exec ls-lh{} \;(查找/etc下大于20k小于50k的文件,并显示详细信息)《Linux就该这么学》一起学习更多命令
ls-i文件名(查看该文件的i节点)
grep [选项]字符串文件名
-i(忽略大小写)-v(排除指定字符串)
Linux中的通配符:
*:匹配任意内容?:匹配任意一个字符 []匹配任意一个中括号内的字符
Linux中使用grep命令搜索文件名及文件内容的方法
从文件中搜索并显示文件名
当你从不止一个的文件中搜索时,默认它将显示文件名:
代码如下:
grep"word"文件名
grep root/etc/*
示例输出:
代码如下:
/etc/bash.bashrc: See"man sudo_root" for details.
/etc/crontab:17**** root cd/ run-parts--report/etc/cron.hourly
/etc/crontab:25 6*** root test-x/usr/sbin/anacron||( cd/ run-parts--report/etc/cron.daily)
/etc/crontab:47 6** 7 root test-x/usr/sbin/anacron||( cd/ run-parts--report/etc/cron.weekly)
/etc/crontab:52 6 1** root test-x/usr/sbin/anacron||( cd/ run-parts--report/etc/cron.monthly)
/etc/group:root:x:0:
grep:/etc/gshadow: Permission denied
/etc/logrotate.conf: create 0664 root utmp
/etc/logrotate.conf: create 0660 root utmp
每行开始的第一个部分是文件名(如:/etc/crontab、/etc/group)。使用-l选项可以只显示文件名:
代码如下:
grep-l"string" filename
grep-l root/etc/*
示例输出:
代码如下:
/etc/aliases
/etc/arpwatch.conf
grep:/etc/at.deny: Permission denied
/etc/bash.bashrc
/etc/bash_completion
/etc/ca-certificates.conf
/etc/crontab
/etc/group
你也可以逆转输出;使用-L选项来输出那些不匹配的文件的文件名:
代码如下:
grep-L"word" filename
grep-L root/etc/*
示例输出:
代码如下:
/etc/apm
/etc/apparmor
/etc/apparmor.d
/etc/apport
/etc/apt
/etc/avahi
/etc/bash_completion.d
/etc/bindresvport.blacklist
/etc/blkid.conf
/etc/bluetooth
/etc/bogofilter.cf
/etc/bonobo-activation
/etc/brlapi.key
根据文件内容查找文件
输入以下命令:
代码如下:
grep'string'*.txt
grep'main('*.c
grep'#include'*.c
grep'getChar*'*.c
grep-i'ultra'*.conf
grep-iR'ultra'*.conf
其中
-i:忽略模式(匹配字符串 valid、 VALID、 ValID)和输入文件(匹配 file.c FILE.c FILE.C)的大小写。
-R:递归读取每个目录下的所有文件。
高亮匹配到的模式
在搜索大量文件的时候你可以轻松地高亮模式:
代码如下:
$ grep--color=auto-iR'getChar();'*.c
为查找到的模式显示文件名和行号
你也许需要显示文件名和行号:
代码如下:
$ grep--color=auto-iRnH'getChar();'*.c
其中,
-n:在输出的每行前面添加以 1开始的行号。
-H:为每个匹配打印文件名。要搜索多个文件时这是默认选项。(LCTT译注:-h选项强制隐藏文件名;另外-l和-L选项用于仅显示匹配/不匹配的文件名,而-H和-h用于控制在显示匹配行前显示/不显示文件名,注意区分。)
代码如下:
$grep--color=auto-nH'DIR'*
输出样例:
你也可以使用 find命令:
代码如下:
$ find.-name"*.c"-print| xargs grep"main("