linux中grep find 区别和find的区别

后使用快捷导航没有帐号?
查看: 1048|回复: 4
linux查找命令、find、grep找到需要的文件
金牌会员, 积分 2983, 距离下一级还需 17 积分
论坛徽章:6
& & & & find 命令
& & & & 语法:find 搜索路径 匹配表达式
& & & & 功能:该命令用于在指定路径中查找符合条件的文件,搜索路径可以是多个目录,不同目录之间以空格分隔
& & & & (1)匹配表达式1
& & & && && &-name filename:要查找的文件名。可以使用通配符“*”,“?”,但要用双引号将文件名引起来
& & & && && && &&&例子:【root@localhost tmp】# find&&–name&&“h*”&&–print
& & & && && && &&&翻译:在当前目录下查找以h开头的文件
& & & && && && &&&例子:【root@localhost tmp】# find&&/&&–name&&host&&-print
& & & && && && &&&翻译:在整个文件系统中查找名为hosts的文件
& & & && && &-user username:查找属于username用户的文件
& & & && && && &&&例子:【root@localhost tmp】# find /home –user user1 –print
& & & && && && &&&翻译:找出/home下属于用户user1的所有文件
& & & && && &-group groupname:查找属于groupname组的文件
& & & && && &-print:显示找到文件路径名
& & & & (2)匹配表达式2
& & & && && &-exec 命令 {}:对找到的匹配文件,执行所列出的命令,而不询问用户是否执行这些命令,参数{} 由find找到当前的文件路径名取代,命令行末尾必须有“\;”。
& & & & 例子:【root@localhost tmp】# find /home –user user1 –exec cat {}\;|more
& & & & 翻译:找出/home下属于用户user1的所有文件并显示其内容
& & & & 例子:【root@localhost tmp】# find /home –user user1 –exec rm –r {} \;
& & & & 翻译:找出/home下属于用户user1的所有文件并删除
& & & && && &&&-ok 命令{}:与-exec的用法相同,在执行命令之前询问用户是否要执行命令
& & & & (3)匹配表达式3
& & & && && & -atime n:查找前n天访问过的文件(仅第n天这一天)
& & & && && & -atime +n:查找前n天之前访问过的文件;-n则表示前n天之后
& & & && && && &&&例子:【root@localhost tmp】# find /home –atime +365 –print
& & & && && && &&&翻译:找出用户一年前访问过的文件
& & & & 例子:【root@localhost tmp】# find $home –user user1 –atime +3 –exec rm –r {} \;
& & & & 翻译:找出用户user1主目录下属于自己的前3天之前访问过文件并删除
& & & & (4)匹配表达式4
& & & && && && && &-type filetype:指定查找的文件类型
& & & & filetype 可以是:b块文件;c字符设备文件;d目录文件;f一般文件
& & & && && && && &例子:【root@localhost tmp】# find –type d –print
& & & && && & 翻译:查找当前目录下的所有的子目录
& & & && && & 例子:【root@localhost tmp】# find –type f –print
& & & && && & 翻译:查找当前目录下的所有的普通文件
& & & & (5)匹配表达式5
& & & && && && &-size Number和-size Numberc:按照文件大小进行查找。Numberc表示以字节为单位,否则以块(一般是512字节)为单位。-Number(或-Numberc)表示查找比该值小的文件,+Number(或-Numberc)表示查找比该值大的文件
& & & & 例子:【root@localhost tmp】# find –size -10 –print
& & & & 翻译:查找当前目录下所有长度小于10块的文件
& & & & 例子:【root@localhost tmp】# find –size -10c –print | ls –l
& & & & 翻译:查找当前目录下所有长度小于10字节的文件并以长格式显示文件信息
& & & & 例子:【root@localhsot tmp】# find –size +100 –size -200 –exec ls –s {} \;
& & & & 翻译:在当前目录下查找100~200块长的文件并显示文件的实际块数
& & & & grep 命令
& & & & 语法:grep【参数】 查找模式 文件名 【文件名】
& & & & 功能:grep命令用于在指定文件中查找与模式匹配的行,并将匹配的行显示在标准输出上。如果没有指定文件,则从标准输入中读取。当在多个文件中进行查找中,将在每一行输出之前加上文件名。在搜索的文件名中允许使用通配符。
& & & & 参数:
& & & && && && & -c:只显示匹配行的行数
& & & && &&&-i:匹配时不区分大小写,默认情况下匹配时区分大小写
& & & && &&&-h:在多个文件中查找时,输出行前不显示文件名
& & & && &&&-n:在输出前加上匹配串所在行的行号(文件首行行号为1)
& & & && &&&-v:只显示不包含匹配串的行。
& & & && &&&-f filename:从指定文件中获取搜索模式,每行一个搜索模式项
& & & & 例子:【roo@locallost user1】# grep printf*.c
& & & & 翻译:在当前目录下的所有C文件中查找printf字符串
& & & & 例子:【roo@locallost user1】# grep user1 /ect/password
& & & & 翻译:将系统帐号中文件包含user1的行显示出来。
& & & & 当搜索模式中包含空格是,要把搜索模式用单引号括起来。
& & & & 例子:【root@localhso user1】# cat & dialog
& & & && && & your name is:
& & & && && & linux
& & & && && & &Ctrl+d&
& & & && && & 【root@localhost user1】# grep ‘your name’dialog
& & & && && &&&your name is:
& & & & 在有多个搜索模式时,可以将这些搜索模式写入文件中,利用-f参数从文件中读取搜索模式项。
& & & & 例子:【root@localhost user1】# cat & mode.txt
& & & && && & name
& & & && && & lin*
& & & && && &&Ctrl+d&
& & & && && &【root@localhost user1】# grep –f mode.txt dialog
& & & && && & your name is:
& & & && && & linux
金牌会员, 积分 1475, 距离下一级还需 1525 积分
论坛徽章:8
写的还不错,不过find,grep结合正则表达式很强大。
金牌会员, 积分 2983, 距离下一级还需 17 积分
论坛徽章:6
Find–atime –ctime –mtime的用法与区别总结
21:55 1024人阅读 评论(0) 收藏 举报
& && && &周五有同事问起find命令中-mtime n、-mtime –n以及-mtime +n的用法区别,当时虽然记得这里n是n个24个小时的意思,也是对所有这几个属性详细的用法却一知半解,索性周末仔细google并且实践了一番,终于理清楚了个中乾坤。
find . –atime n& && &&&find . –ctimen& && && && &find . –mtime n
find . –atime –n& && & find . –ctime–n& && && &&&find . –mtime -n
find . –atime +n& && & find . –ctime+n& && && &&&find . –mtime +n
一、atime、ctime与mtime
atime是指access time,即文件被读取或者执行的时间,修改文件是不会改变access time的。网上很多资料都声称cat、more等读取文件的命令会改变atime,但是我试验时却发现使用cat、more时atime没有被修改。这个问题需要另外做研究探讨。
ctime即change time文件状态改变时间,指文件的i结点被修改的时间,如通过chmod修改文件属性,ctime就会被修改。
mtime即modify time,指文件内容被修改的时间。
使用stat可以查看文件的atime、ctime、mtime。
stat ~/.bashrc
&&File:`/home/user_00/.bashrc'
&&Size: 1177& && && && &Blocks: 8& && && & IO Block: 4096& &regular file
Device: 801h/2049d& && &Inode:663962& && &Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1003/ user_00)& &Gid&&100/&&users)
10:45:35. +0800
10:45:35. +0800
Change: 0:45:35. +0800
也可以使用ls查看文件的atime、ctime、mtime。
通常情况下我们使用的ls –l ~/.bashrc指示的是文件的modify time。
& && && &ls –lu ~/.bashrc 或者ls –l –time=atime~/.bashrc指示的是文件的access time
& && && &ls –lc ~/.bashrc 或者ls –l –time=ctime~/.bashrc 指示的是文件的change time
使用touch可以改变这三个时间。关于使用touch改变atime、ctime、mtime的方法,此处不做介绍。
二、find . –mtime中的参数n
find . –mtime n中的n指的是24*n, +n、-n、n分别表示:
+n: 大于n
-n:& & 小于n
但是man find里这样的解释还是比较令人费解的,不如直接看find . -mtime 中的用法
find . –mtime n:&&File waslast modified n*24 hours ago.
最后一次修改发生在距离当前时间n*24小时至(n+1)*24 小时
find . –mtime +n:
最后一次修改发生在n+1天以前,距离当前时间为(n+1)*24小时或者更早
find . –mtime –n:
最后一次修改发生在n天以内,距离当前时间为n*24小时以内
论坛徽章:29
linux shell下面的强大的命令啊
都很值得研究
新手上路, 积分 33, 距离下一级还需 17 积分
论坛徽章:0& & Linux下忽略大小写查找的方法
&& &我们知道在linux中大小写是区分的,比如abcd和ABCD是两个不同的文件,如果我们要在Linux中查找文件而又不清楚是大写还是小写时怎么办呢,下面介绍3种忽略字符大小写的差别的查找方法。1、find查找文件&& &Find是一个非常有效的工具,它可以遍历当前目录甚至于整个文件系统来查找某些文件或目录。&& &Linux使用find命令搜索文件时如果不清楚文件的名称中是否包含的大写,你可以使用 -iname参数来忽略大小写,如查找当前目录下的XXzh,可用如下命令。&& &find ./ -name xxzh2、grep查找字符串&& &在linux中grep命令是非常有用的,它和管道(|)配合使用,非常强大,用于搜索文本文件.如果想要在几个文本文件中查找指定的字符串,可以使用grep命令。&& &grep查找默认情况区分大小写的,使用管道grep 匹配关键词时如果需要忽略大小写,你可以使用 -i 参数。以下是代码片段:[root@Blinux test]# rpm -qa|grep virtualbox&[root@Blinux test]# rpm -qa|grep virtualbox -i&VirtualBox-3.1-3.1.0_55467_fedora12-1.i6863、vim中的查找&& &VIM是被誉为非常高效的文本编辑软件。但是掌握并高效的使用是件有难度的事情。在VIM中进行快速的查找和替换是提高VIM使用效率的重要方法。&& &Linux下vim搜索文件内容时加上 \c 参数可以忽略搜索字符的大小写,比如用vim 搜索文件中的XXzh时可用 :/xxzh\c&
(友情提示:可直接按Ctrl+Enter提交评论)
更多相关文章
选择月份归档2016年9月 (1)2016年8月 (4)2016年7月 (2)2016年2月 (1)2015年8月 (2)2015年7月 (1)2015年6月 (2)2014年11月 (1)2014年10月 (1)2014年9月 (1)2014年6月 (1)2014年3月 (2)2013年11月 (2)2013年10月 (2)2013年9月 (1)2013年8月 (1)2013年7月 (4)2013年6月 (2)2013年5月 (4)2013年4月 (5)2013年3月 (3)2013年2月 (1)2012年12月 (2)2012年10月 (1)2012年9月 (1)2012年8月 (1)2012年7月 (1)2012年6月 (2)2012年5月 (1)2012年4月 (1)2012年2月 (1)2011年12月 (1)2011年11月 (2)2011年9月 (2)2011年8月 (3)2011年7月 (5)2011年6月 (8)2011年5月 (6)2011年4月 (1)2011年3月 (3)2011年2月 (1)2011年1月 (8)2010年12月 (12)2010年11月 (11)2010年10月 (14)2010年9月 (13)2010年8月 (18)2010年7月 (24)2010年6月 (19)<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&find和grep区别
find是搜索文件名,查找匹配条件的文件,输出匹配文件
grep是搜索文件内容,查找匹配条件的文件行,输出匹配行或含有匹配内容的文件
功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。
语法: find 查找位置 匹配文件名
说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。
grep全称是Global Regular Expression Print。
一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
语法:grep 匹配字符串 文件名
#在当前目录中查.txt文件并显示
#查长度大于1Mb的文件
#查找名为filename的文件
#按执行权限来查找
#按文件属主来查找
-group groupname
#按组来查找
#按文件更改时间来查找文件,-n指n天以内,+n指n天以前
#按文件访问时间来查GIN: 0px”&
#按文件创建时间来查找文件,-n指n天以内,+n指n天以前
#查长度为n块[或n字节]的文件
参考文章:
下面是一些有意思的命令行参数:
grep -r pattern files :搜索子目录
grep -n pattern files : 显示匹配行及行号
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’等,
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:4182次
排名:千里之外
原创:33篇
(3)(1)(4)(12)(19)温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(619)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_082067',
blogTitle:'aix与sco下find/grep命令的区别',
blogAbstract:'aix下,find ./ -name serverconf.xml | xargs grep srv_year命令将从当前目录及子目录下找到所有serverconf.xml并从中grep到srv_year串的行。
然而 sco openserver平台上的xargs命令则可加可不加,为了保持通用性,还是加上xargs为妙。',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:0,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}

我要回帖

更多关于 grep find 区别 的文章

 

随机推荐