linux中“grep”和“find”的区别是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中“grep”和“find”的区别是啥?相关的知识,希望对你有一定的参考价值。

参考技术A

这是两个不同的命令,关于grep:

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

而linux下的find

功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。 

语法:find 起始目录 寻找条件 操作 

说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。

所以简单点说说,grep是查找匹配条件的行,find是搜索匹配条件的文件。

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。

linux中grep和find的区别

这是两个不同的命令,关于grep:
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

而linux下的find
功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。
语法:find 起始目录 寻找条件 操作
说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。

所以简单点说说,grep是查找匹配条件的行,find是搜索匹配条件的文件。
参考技术A

这是两个不同的命令,关于grep:

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

而linux下的find

功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。 

语法:find 起始目录 寻找条件 操作 

说明:find命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作。

所以简单点说说,grep是查找匹配条件的行,find是搜索匹配条件的文件。

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。

参考技术B grep为撷取命令,就是将一段数据经过分析后,取出我们所想要的。或者是经由分析关键词,取得我们所想要的那一行! 常用的撷取命令有cut和grep。一般来说,cut 是将一行讯息当中,取出某部分我们想要的,而 grep 则是分析一行讯息, 若当中有我们所需要的信息,就将该行拿出来~

find用于搜寻档案,但通常并不很常用的!因为速度慢之外, 也很操硬盘!通常我们都是先使用 whereis 或者是 locate 来检查,如果真的找不到了,才以 find 来搜寻。

这样来看,二者区别还是比较大的。具体用法可以用man/info去查找。
参考技术C 1.
linux中的find等同与win中的搜索文件。
find是在磁盘/分区中找到文件,可以配type可以配size time等,通过文件名或文件大小或访问时间找到指定文件。

2.
linux中的grep等同与win中的findstr命令。可以在一个txt文本中截取到有特定关键字的行,并显示出来。
grep也可以通过关键字,在一个文件夹下查找多个有这些关键字的文件,并生成结果。

3.
可以详细参考find命令在百度的文库文档
http://wenku.baidu.com/view/5e4070160b4e767f5acfce0b.html

参考资料:http://hi.baidu.com/thomas4ever

本回答被提问者采纳
参考技术D 这俩个命令一般时候不会混淆:1、grep是查询文件里头是否包含某个字符串 eg:grep 'nihao' 1.txt //在1.txt中查找包含nihao字符串的行并显示出来,2、find是查找某个目录下面是否存在某个文件,eg:find / -name 1.txt //查找根目录下面包含1.txt文件的目录并显示出来,。3、最容易混的地方,就是当查询某个软件包是否被安装时:一般都用这个语句:rpm -qa |grep samba //查询samba软件是否安装,注意这里不要用find 哦

以上是关于linux中“grep”和“find”的区别是啥?的主要内容,如果未能解决你的问题,请参考以下文章

linux中grep和find的区别

Linux grep和find的区别

linux 中 grep 和 find 的区别

在 linux 中 find 和 grep 的区别??

#grep ‘Linux’ filename命令查找的是啥文件?

grep命令和find命令都是查找,如何向测试人员介绍他们的区别?