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

摘要:
使用linux时,您通常需要查找文件。主要的搜索命令是find和grep。Grep根据文件的内容进行搜索,根据给定的模式匹配文件的每一行。查找/tmp size+10000c和mtime+2#在/tmp目录中查找大于10000字节并在过去2分钟内修改的文件,查找/-userfred或usergeorge#在/tmp/目录中查找用户为fred或george的文件,找到/tmp!

在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。

区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。

(2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。

一.find命令

基本格式:find path expression

1.按照文件名查找

(1)find / -name httpd.conf  #在根目录下查找文件httpd.conf,表示在整个硬盘查找
(2)find /etc -name httpd.conf  #在/etc目录下文件httpd.conf
(3)find /etc -name '*srm*'  #使用通配符*(0或者任意多个)。表示在/etc目录下查找文件名中含有字符串‘srm’的文件
(4)find . -name 'srm*'   #表示当前目录下查找文件名开头是字符串‘srm’的文件

2.按照文件特征查找    

(1)find / -amin -10   # 查找在系统中最后10分钟访问的文件(access time)
(2)find / -atime -2   # 查找在系统中最后48小时访问的文件
(3)find / -empty   # 查找在系统中为空的文件或者文件夹
(4)find / -group cat   # 查找在系统中属于 group为cat的文件
(5)find / -mmin -5   # 查找在系统中最后5分钟里修改过的文件(modify time)
(6)find / -mtime -1   #查找在系统中最后24小时里修改过的文件
(7)find / -user fred   #查找在系统中属于fred这个用户的文件
(8)find / -size +10000c  #查找出大于10000000字节的文件(c:字节,w:双字,k:KB,M:MB,G:GB)
(9)find /-size -1000k   #查找出小于1000KB的文件

3.使用混合查找方式查找文件

参数有: !,-and(-a),-or(-o)。

(1)find /tmp -size +10000c -and -mtime +2   #在/tmp目录下查找大于10000字节并在最后2分钟内修改的文件
(2)find / -user fred -or -user george   #在/目录下查找用户是fred或者george的文件文件
(3)find /tmp ! -user panda  #在/tmp目录中查找所有不属于panda用户的文件

二、grep命令

基本格式:find expression

1.主要参数

[options]主要参数:
-c:只输出匹配行的计数。
-i:不区分大小写
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。

pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
.:所有的单个字符。
* :有字符,长度可以为0。

2.实例 

(1)grep 'test' d*  #显示所有以d开头的文件中包含 test的行
(2)grep ‘test’ aa bb cc    #显示在aa,bb,cc文件中包含test的行
(3)grep ‘[a-z]\{5\}’ aa   #显示所有包含每行字符串至少有5个连续小写字符的字符串的行
(4)grep magic /usr/src  #显示/usr/src目录下的文件(不含子目录)包含magic的行
(5)grep -r magic /usr/src  #显示/usr/src目录下的文件(包含子目录)包含magic的行

(6)grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),

详细使用参见:http://www.cnblogs.com/end/archive/2012/02/21/2360965.html

免责声明:文章转载自《linux下的find文件查找命令与grep文件内容查找命令》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Ubuntu下双显示器设定php数据类型存储memcache探讨下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux内核驱动的知识要点

IT的本质信息技术研究0和1的行业 计算机:数字计算 数字描述万事万物 数字的进制:10 24 12 7 60 16 2 0和1可以描述万事万物 内存的作用:1. 存指令2. 存数据 CPU的组成:ALU(运算器) 控制器 寄存器ALU中包含很多个运算电路:每个电路对应一条指令 CPU分为: RISC(精简指令集):易 慢 功耗低 CISC(复杂指令集):...

Linux下如何确认磁盘是否为SSD

方法 法1:通过查看/sys/block/sda/queue/rotational 通过cat /sys/block/sda/queue/rotational进行查看,返回值0即为SSD;返回1即为HDD。 法2:通过lsscsi查看 lsscsi - list SCSI devices (or hosts) and their attributes 实例...

php基础入门(一)环境搭建与配置

最近在学习PHP,以下是看PHP100视频教程,做的学习笔记,在这里存放以便今后使用。 apache--PHP--DB(mysql) 一、apache:基本工作 ·用户通过浏览器访问服务器的文件,它就将该文件传递给用户,在用户的浏览器显示该文件的内容。 ·普通文本文件,可以通过apache直接传给用户浏览器显示。 ·程序文件,比如PHP,它不能直接在浏览器...

【Linux】 源码安装make命令详解,避免踩坑

正常的编译安装/卸载: 源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。   configure文件是一个可执行的脚本文件,它有很多选项,在待安装的源码目录下使用命令./configure –help可以输出详细的选项列表。   其中--prefix选项是配置安装目录,如果不配置该选项,安装后可...

Linux下nginx 的常用命令

启动启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 停止nginx的停止有三种方式: 从容停止   1、查看进程号 [root@LinuxServer...

Ubuntu 终端命令速查表

 1、man: shell命令的说明指南   该命令代表manual,提供一个给定命令的说明指南。   用法:man <shell command>   用例:man ls   上述命令请求命令‘ls’的说明页,如下图:    2、ls: 列出目录内容   该命令列举出在当前目录下的文件和文件夹的内容。   用法:ls   上述指令的输入如下图...