linux查找命令、find、grep总结

find 命令
 
语法:find 搜索路径 匹配表达式
 
功能:该命令用于在指定路径中查找符合条件的文件,搜索路径可以是多个目录,不同目录之间以空格分隔
 
(1)匹配表达式1
 
     -name filename:要查找的文件名。可以使用通配符“*”,“?”,但要用双引号将文件名引起来
 
          例子:root# find  –name  “h*”  –print
 
          翻译:在当前目录下查找以h开头的文件
 
          例子:root# find  /  –name  host  -print
 
          翻译:在整个文件系统中查找名为hosts的文件
 
     -user username:查找属于username用户的文件
 
          例子:root# find /home –user user1 –print
 
          翻译:找出/home下属于用户user1的所有文件
 
     -group groupname:查找属于groupname组的文件
 
     -print:显示找到文件路径名
 
(2)匹配表达式2
 
     -exec 命令 {}:对找到的匹配文件,执行所列出的命令,而不询问用户是否执行这些命令,参数{} 由find找到当前的文

件路径名取代,命令行末尾必须有“\;”。
 
例子:root# find /home –user user1 –exec cat {}\;|more
 
翻译:找出/home下属于用户user1的所有文件并显示其内容
 
例子:root# find /home –user user1 –exec rm –r {} \;
 
翻译:找出/home下属于用户user1的所有文件并删除
 
       -ok 命令{}:与-exec的用法相同,在执行命令之前询问用户是否要执行命令
 
(3)匹配表达式3
 
      -atime n:查找前n天访问过的文件(仅第n天这一天)
 
      -atime +n:查找前n天之前访问过的文件;-n则表示前n天之后
 
          例子:root# find /home –atime +365 –print
 
          翻译:找出用户一年前访问过的文件
 
例子:root# find $home –user user1 –atime +3 –exec rm –r {} \;
 
翻译:找出用户user1主目录下属于自己的前3天之前访问过文件并删除
 
(4)匹配表达式4
 
           -type filetype:指定查找的文件类型
 
filetype 可以是:b块文件;c字符设备文件;d目录文件;f一般文件
 
           例子:root# find –type d –print
 
      翻译:查找当前目录下的所有的子目录
 
      例子:root# find –type f –print
 
      翻译:查找当前目录下的所有的普通文件
 
(5)匹配表达式5
 
        -size Number和-size Numberc:按照文件大小进行查找。Numberc表示以字节为单位,否则以块(一般是512字节)为单位

。-Number(或-Numberc)表示查找比该值小的文件,+Number(或-Numberc)表示查找比该值大的文件
 
例子:root# find –size -10 –print
 
翻译:查找当前目录下所有长度小于10块的文件
 
例子:root# find –size -10c –print | ls –l
 
翻译:查找当前目录下所有长度小于10字节的文件并以长格式显示文件信息
 
例子:root# find –size +100 –size -200 –exec ls –s {} \;
 
翻译:在当前目录下查找100~200块长的文件并显示文件的实际块数
 
grep 命令
 
语法:grep【参数】 查找模式 文件名 【文件名】
 
功能:grep命令用于在指定文件中查找与模式匹配的行,并将匹配的行显示在标准输出上。如果没有指定文件,则从标准输入中读

取。当在多个文件中进行查找中,将在每一行输出之前加上文件名。在搜索的文件名中允许使用通配符。
 
参数:
 
         -c:只显示匹配行的行数
 
    -i:匹配时不区分大小写,默认情况下匹配时区分大小写
 
    -h:在多个文件中查找时,输出行前不显示文件名
 
    -n:在输出前加上匹配串所在行的行号(文件首行行号为1)
 
    -v:只显示不包含匹配串的行。
 
    -f filename:从指定文件中获取搜索模式,每行一个搜索模式项
 
例子:root# grep printf*.c
 
翻译:在当前目录下的所有C文件中查找printf字符串
 
例子:root# grep user1 /ect/password
 
翻译:将系统帐号中文件包含user1的行显示出来。
 
当搜索模式中包含空格是,要把搜索模式用单引号括起来。
 
例子:root# cat > dialog
 
      your name is:
 
      linux
 
      <Ctrl+d>
 
      root# grep ‘your name’dialog
 
       your name is:
 
在有多个搜索模式时,可以将这些搜索模式写入文件中,利用-f参数从文件中读取搜索模式项。
 
例子:root# cat > mode.txt
 
      name
 
      lin*
 
     <Ctrl+d>
 
     root# grep –f mode.txt dialog
 
      your name is:
 
      linux

linux查找命令、find、grep总结

时间: 2025-02-01 09:05:24

linux查找命令、find、grep总结的相关文章

linux下的find文件查找命令与grep文件内容查找命令

linux下的find文件查找命令与grep文件内容查找命令 在使用linux时,经常需要进行文件查找.其中查找的命令主要有find和grep.两个命令是有区的. 区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等. (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找. 一.find命令 基本格式:find  path expression 1.按照文件名查找 (1)find / -

文本查找查找命令的grep 、egrep、fgrep用法的详解

一.学习目标 了解并能熟悉运用grep.egrep.fgrep命令. 二.学习内容 1.grep.egrep.fgrep命令的意思和用法格式 : grep:是使用基本正则表达式定义的模式来过滤文本的命令. # grep [options] PATTERN  [FILE,...] egrep  :是使用扩展正则表达式的模式来过滤文本的命令. # egrep [options] PATTERN  [FILE,...] fgrep:不支持正则表达式,是使用文字本身的意义的模式来过滤文本的命令. # f

Linux下的五个查找命令:grep、find、locate、whereis、which

1.grep grep(General Regular Expression Parser,通用规则表达式分析程序)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 它的使用语法为: grep [选项] pattern [文件名] . 匹配任意一个字符* 匹配0 个或多个*前的字符^ 匹配行开头$ 匹配行结尾[] 匹配[ ]中的任意一个字符,[]中可用 – 表示范围,例如[a-z]表示字母a 至z 中的任意一个\ 转意字符命令中的选项为:-b 显示块号-c 仅显示各指

Linux进阶命令之grep查找字符串

目的:使用grep命令来查找文件中符合条件的字符串 格式:grep   [选项]      [查找模式]      [文件名] 查找字符串时希望显示如下内容: 1)所在的文件名-------------------------grep在查找时默认已经显示目标文件名 2)所在的行号----------------------------使用-n选项 grep   -rn   "字符串"    文件名 r ( recursive)递归 n(number)显示目标位置的行号 字符串:要查找的

Linux查找命令

最近,我在学习Linux,下面是一些笔记. 使用电脑的时候,经常需要查找文件. 在Linux中,有很多方法可以做到这一点.国外网站LinuxHaxor总结了五条命令,你可以看看自己知道几条.大多数程序员,可能经常使用其中的2到3条,对这5条命令都很熟悉的人应该是不多的. 1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> - <指定目录>: 所

linux 查找命令(转)

1. find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find <指定目录> <指定条件> <指定动作> - <指定目录>: 所要搜索的目录及其所有子目录.默认为当前目录. - <指定条件>: 所要搜索的文件的特征. - <指定动作>: 对搜索结果进行特定的处理. 如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显

linux常用命令:grep 命令

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户. grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板.如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名.搜索的结果被送到标准输出,不影响原文件内容. grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成

linux 查找命令

which是查找命令的位置,是根据用户path路径进行查找, locate 是在数据库里查找,数据库大至每天更新一次. whereis 可以找到可执行命令和man page find 就是根据条件查找文件. which 可以找到可执行文件和别名(alias) which       查看可执行文件的位置 whereis    查看文件的位置 locate       配 合数据库查看文件位置 find          实际搜寻硬盘查询文件名称 1.which 语法: [[email prote

Linux查找命令grep和less

新学习了一个less命令.看一些教程,直接给出各个选项和解释,读起来太费劲也没法很好地记忆.我就讲讲运用吧. 首先,很多时候,要查询某个时间点的日志,或者查看某个操作的异常.这时候,就需要搜索日志全文.介绍下less的简单用法. 第一步,less查看文件 less 日志文件名 1,这时候,使用组合键 shift + g 可以定位到文件末尾. 在文件末尾,使用组合键(从末尾开始根据之后输入的字符串向上检索) shift + ? 然后输入查询条件,可以是时间串,也可以是关键字,比如日志有打印user