扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
使用命令\x0d\x0agrep -rl 'abc' /\x0d\x0a\x0d\x0a(有引号)\x0d\x0a-r 选项表示递归(recursive)遍历所有子目录\x0d\x0a-l 选项表示只列出文件名\x0d\x0a/ 是根文件夹, 表示全盘
创新互联是一家集网站建设,武清企业网站建设,武清品牌网站建设,网站定制,武清网站建设报价,网络营销,网络优化,武清网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
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中grep命令是非常有用的,它和管道(|)配合使用,非常强大,用于搜索文本文件.如果想要在几个文本文件中查找一字符串,可以使用‘grep’命令。‘grep’在文本中搜索指定的字符串。
假设您正在‘/usr/src/linux/Documentation’目录下搜索带字符串‘magic’的文件:
$ grep magic /usr/src/linux/Documentation/*
sysrq.txt:* How do I enable the magic SysRQ key?
sysrq.txt:* How do I use the magic SysRQ key?
其中文件‘sysrp.txt’包含该字符串,讨论的是 SysRQ 的功能。
默认情况下,‘grep’只搜索当前目录。如果此目录下有许多子目录,‘grep’会以如下形式列出:
grep: sound: Is a directory
这可能会使‘grep’的输出难于阅读。这里有两种解决的办法:
明确要求搜索子目录:grep -r
或忽略子目录:grep -d skip
当然,如果预料到有许多输出,您可以通过 管道 将其转到‘less’上阅读:
$ grep magic /usr/src/linux/Documentation/* | less
这样,您就可以更方便地阅读。
有一点要注意,您必需提供一个文件过滤方式(搜索全部文件的话用 *)。如果您忘了,‘grep’会一直等着,直到该程序被中断。如果您遇到了这样的情况,按 ,然后再试。
下面是一些有意思的命令行参数:
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。
这里还有些用于搜索的特殊符号:
\ 分别标注单词的开始与结尾。
例如:
grep man * 会匹配 ‘Batman’、‘manic’、‘man’等,
grep '\grep '\' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
'^':指匹配的字符串在行首,
'$':指匹配的字符串在行尾,
如果您不习惯命令行参数,可以试试图形界面的‘grep’,如 reXgrep 。这个软件提供 AND、OR、NOT 等语法,还有漂亮的按钮 :-) 。如果您只是需要更清楚的输出,不妨试试 fungrep 。
find,用于在文件树中查找文件并作相应的处理
-name:按照文件名查找文件
-perm:按照文件权限查找文件
-user:按照文件属主来查找文件
-size:按照指定的文件大小查找文件【+n:大于,-n:小于,n:等于】
-group:按照文件所属的组来查找文件
-mtime-n+n:按照文件更改时间来查找文件,-n表示n天之内,+n表示n天以前
-newer file1 file2:查找更改时间在file1和file2之间的文件
例如:
find -mtime -2:查找48小时修改过的文件
find -name ".log":查找当前目录以".log"结尾的文件
find /opt/soft/test -perm 777:查找指定目录下权限为777的文件
find -type f -name "*.log":查找当前目录下以".log"结尾的普通文件
find -type d | sort:查找当前所有目标目录并排序
find /home/wansw -size +20M:查找大于20M的文件
locate指令,可以快速定位文件路径,利用事先建立的系统中的所有文件名称和路径的locate数据库,无需遍历整个文件系统,查询速度较快,为了保证查询准确性,需要定期更新。《Linux就该这么学》
updatedb:第一次运行前,创建locate数据库
grep,用于过滤/搜索指定字符串。可以使用正则表达式,能配合多种命令使用。
用法:grep 【选项】 查找内容 源文件
-A:显示符合的行及之后的内容
-B:显示符合的行及之前的内容
-C:显示符合的行及前后的内容
-c:计算符合的行数目
-n:显示匹配行和行号
-i:忽略大小写
规则表达式
:'grep'表示匹配所有以grep开头的行
'表示匹配所有以grep结尾的行
.:'gr.p'表示匹配'gr'后面接任意字符然后是'p'
:'grep'表示匹配一个或多个空格后紧跟grep的行
[]:[Gg]rep表示匹配Grep与grep
[]:[A-FH-Z]rep表示匹配不以A-F、H-Z开头并紧跟rep的行
例如(grep命令大多数时候多要和别的命令一起使用才有意义):
ps -ef | grep -c SVN:查找指定的进程的个数
cat test.txt | grep -f test2.txt:从text2.txt中读取关键字后在test.txt中搜索
cat test.txt | grep nf text2.txt:从text2.txt中读取关键字后在text.txt中搜索并显示行号
grep 'linux' text.txt test2.txt:从多个文件中搜索关键字'linux'
cat test.txt | grep -E 'ed|at':显示包含ed或at的行
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流