Linux之find&grep
Posted fivehundredmiles
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux之find&grep相关的知识,希望对你有一定的参考价值。
工具:操作系统命令
版本:适用linux内核的其他版本操作系统
概要:主要学习一次find和grep命令
find命令适用
适用于在指定的目录下进行文件查询,如果不提供目录,则默认在当前路径下进行查找。
语法:
find path -option [ -print ] [ -exec -ok command ] \; 通用格式
示例:
find /root/usr/share -name "*.c" 表示在指定目录及其子目录下根据文件名查找,查找文件名有".c"的所有文件
find /root/usr/share -type f 表示在指定目录及其子目录下查找一般性文件(c表示字型装置文件,b表示区块装置文件,s表示socket,f表示一般性文件,d表示目录,)
find /tmp -exec grep -l "flag" \; 表示在指定目录及其子目录下查找所有文件,且执行文件内容查询操作;注意末尾的分号(;)需要紧跟表达式
find /tmp -type f -exec grep -l "flag" \;
grep命令适用
适用于在指定目录下进行文件内容查询
语法:
示例:
grep "name" -r - / 表示从根目录查询,以递归的查询方式查找文件内容包括name的文件
grep "name" d* / 表示从根目录查询文件以b开头,内容有name的行
grep -l -s "name" - / 表示从根目录查询文件,展示出所有包含有name字段所有文件的具体路径,不展示错误信,“-”表示不指定具体名称名称
grep -r magic /usr/src 显示/usr/src目录下的文件(包含子目录)包含magic的行
grep -w magic /tmp/files 只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’)
find|grep命令适用
find /tmp |xargs grep -l "flag" 表示在tmp目录下查找任意文件,文件内容有“flag”的所有文件,并展示文件的具体路径
find /tmp * |xargs grep -l "flag"
以上是关于Linux之find&grep的主要内容,如果未能解决你的问题,请参考以下文章