在linux中,所有的文件都是以目录树的形式存在的。而每个发行版的文件存放之间又会有些差别。

这时候,如果我们想看某个命令或者文档的时候就必须先通过某种方式找到改文档的所在位置。

在linux中提供了以下几种方式来查找

which:查找命令

whereis:寻找特定文件

locate:寻找特定文件

find:查找文件

grep:查找文件内容(重要)

◇which

which默认是根据[$PATH]这个环境变量中设置的路径去查找,并且只查找第一个

使用方式:which [-a] 命令,-a :表示列出所有的,而不是仅仅第一个

使用例

[fuwh@localhost ~]$ which ifconfig
/sbin/ifconfig
[fuwh@localhost ~]$ which which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
/usr/bin/which
[fuwh@localhost ~]$ which cd
/usr/bin/which: no cd in (/usr/lib/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/fuwh/bin)
[fuwh@localhost ~]$

可以看到,上面的查找结果中,有出现alias,这表示别名。

还有,cd这个命令居然找不到,这是因为cd是系统内建的命令,而不在PATH中。

[fuwh@localhost ~]$ type cd
cd is a shell builtin
[fuwh@localhost ~]$

◇whereis

在linux中,有一个数据库是用来维护所有的文件系统信息的。就是/var/lib/mlocate/mlocate.db。

而whereis和locate命令都是从这个数据库中去查找,所以非常的快速。但是这个数据库默认是每天升级一次,所以

新建的文件可能不能及时在数据库中反应,会出现查找不到的现象。当然也可以使用[updatedb]来手动更新数据库。

使用方法:where  [-bmsu] 文件或目录

-b:只查找binary格式的文件

-m:只查找在说明当manual路径下的文件

-s:只查找source来源文件

-u:查找不再上诉三哥项目当中的其他特殊文件

◇locate

使用方式:locate [-ir] 关键字

-i:表示忽略大小写

-r:后面可以接正规表示法的显示方式

◇find

使用方式: find [PATH] [option] [action]

选项与参数:
1. 与时间有关的选项:共有 -atime, -ctime 与 -mtime ,以 -mtime 说明
-mtime n :n 为数字,意义为在 n 天之前的『一天之内』被更动过内容的文件;
-mtime +n :列出在 n 天之前(不含 n 天本身)被更动过内容的文件档名;
-mtime -n :列出在 n 天之内(含 n 天本身)被更动过内容的文件档名。
-newer file :file 为一个存在的文件,列出比 file 还要新的文件档名

◇grep

grep主要用来查找文件的内容。在shell编程中也非常重要,还支持正则表达的查找方式。

使用方式:grep [-acinv] [--color=auto] '搜寻字符串' 文件名
-a:将binary文件以text文件的方式搜寻数据
-c:计算找到的总次数

-i:忽略大小写

-n:表示顺道输出行号

-v:反向选择,也就是显示出没有搜寻字符串的那一行

--color=auto:可以将找到的关键字部分加上颜色的显示

主要正则表达式参数:

\:表示转义字符

^:匹配以某个字符开始的行

$:匹配以某个字符结束的行

\<:从匹配正则表达式的行开始

\>:到匹配正则表达式的行结束

[ ]:在[]内的某单个字符

[ - ]:属于-前后的字符,比如[a-g],则表示a到g之间的字符

.:表示一定有一个任意字符

*:表示前面0个或多个字符

实例

[fuwh@localhost stu]$ cat t
this is the first line
this is the second line
what is this
how can i konw
[fuwh@localhost stu]$ grep $"line" --color=auto t
this is the first line
this is the second line
[fuwh@localhost stu]$ grep ^"wh" --color=auto t
what is this
[fuwh@localhost stu]$ cat t|grep [t] --color=auto t
this is the first line
this is the second line
what is this
[fuwh@localhost stu]$

Centos常用命令之:搜索的更多相关文章

  1. 第3章 CentOS常用命令

    一.CentOS常用命令 1.1 文件和目录 # cd /home                        进入 '/home' 目录 # cd ..                       ...

  2. centos常用命令

    应用程序->附件->终端 一:使用CentOS常用命令查看cpumore /proc/cpuinfo | grep "model name"   grep " ...

  3. CentOS 常用命令大全

    下面,就给大家介绍这些CentOS常用命令. 一:使用CentOS常用命令查看cpu more /proc/cpuinfo | grep "model name" grep &qu ...

  4. CentOS常用命令大全

    一:使用CentOS常用命令查看cpumore /proc/cpuinfo | grep "model name" grep "model name" /pro ...

  5. Linux常用命令——文件搜索命令

    Linux常用命令——文件搜索命令 Linux  以#号开头的内容都是内容描述或配置项 find 描述:文件搜索 语法:find [搜索范围] [范围条件] . 当前目录 示例:[root@local ...

  6. CentOS常用命令备忘

    1. 查看进程 ps -a 杀掉进程 kill PID 2. 添加计划任务crontab -e 例如:30 21 * * * service httpd restart 每天21:30重启apache ...

  7. CentOS 常用命令及快捷键整理

    常用命令: 文件和目录: # cd /home                        进入 '/home' 目录 # cd ..                                ...

  8. CentOS常用命令、快照、克隆大揭秘

    不多说,直接上干货! cat是查看文件内容, cp –cp是连目录及件文件都拷贝 cp是拷贝文件 a.txt里的内容是,   abc   def   ghi cat a.txt |grep –v gh ...

  9. Centos 常用命令[持续积累中...]

    CentOS常用到的查看系统命令 uname -a cat /etc/issue /sbin/ifconfig # 查看内核/操作系统/CPU信息 head -n 1 /etc/issue # 查看操 ...

  10. linux常用命令-文件搜索命令-find

    find [目录] [选项] 文件名或者正则表达式 -name 根据文件名搜索 -iname 搜索文件名的时候忽略大小写 例:find /etc -name init     find /etc -i ...

随机推荐

  1. 记录python接口自动化测试--pycharm执行测试用例时需要使用的姿势(解决if __name__ == "__main__":里面的程序不生效的问题)(第三目)

    1.只运行某一条case 把光标移动到某一条case后面,然后右键,选择"Run..."来运行程序 此时,pycharm会只运行光标所在位置的这一条case 2.如果想执行全部ca ...

  2. Hibernate学习错误集锦-GenericJDBCException: could not execute statement

    初次使用Hibernate,进行junit测试,报如下错误. 原因:Hibernate帮我们管理主键了,我们不需要对主键赋值,并且主键是自增的.所以在数据库中,逐渐选项应当勾选 org.hiberna ...

  3. Struts2之Struts2的下载与安装

    Struts2的下载 登陆struts的官网 下载Full Distribution这个选项的struts2的包. 这是Struts2的完整版,里面包括Struts2的实例应用,空实例应用,核心库,源 ...

  4. python 3.x 爬虫基础---常用第三方库(requests,BeautifulSoup4,selenium,lxml )

    python 3.x 爬虫基础 python 3.x 爬虫基础---http headers详解 python 3.x 爬虫基础---Urllib详解 python 3.x 爬虫基础---常用第三方库 ...

  5. JSONP 详解

    1.什么是JSONP ? JSONP(JSON with Padding)是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实 ...

  6. 深入浅出 SSL 管理配置实战

    我们生活在一个信息大爆炸的时代,几乎每天都在和互联网打交道,购物.网银转账.支付宝付款.搜索信息.查看邮件.观看视频.微信聊天.上网冲浪.阅读新闻等,无不时时刻刻在和网络打交道.那如何保护网络安全就相 ...

  7. R语言基础1

    ----------------------------------R语言学习与科研应用,科研作图,数据统计挖掘分析,群:719954246-------------------------- 我们将 ...

  8. LeetCode & Q217-Contains Duplicate-Easy

    Array Hash Table Description: Given an array of integers, find if the array contains any duplicates. ...

  9. Web Uploader初始化隐藏容器失败及点击上传图片时反应较慢的问题

    问题1:在一个页面集成一个或者多个文件上传插件,初始化时有些DOM容器是隐藏的,这时候经常会出现初始化失败的情况,虽然按钮样式改变了,但是点击就是没反应(有时候不经意点了哪个地方,或许会出现文件选择框 ...

  10. MySQL 主从复制那些事(一)

    本部分主要以理论为主,具体的主从搭建环境,大家可以参考博客其他部分.下面我就给大家数说主从复制那些理论的东西.说的不一定都是正确的,有不同出入的地方,欢迎大家一起交流沟通,以下我把我自己整理出来的主从 ...