在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. SUSE 安装 iServer、iDesktop启动异常问题

    前言: SUSE作为一款经典的linux发行版本,在很多企业用户中都有使用. 本文记录的是在SUSE11 SP3系统中安装iServer.iDesktop出现异常的问题. 环境: 系统:SUSE 11 ...

  2. Alpha阶段小结

    1 团队的源码仓库地址 https://github.com/WHUSE2017/MyGod 2 Alpha过程回顾 2.1 团队项目预期 有一个可视化的安卓APP,实现二手交易基本功能.预期的典型用 ...

  3. 冲刺NO.9

    Alpha冲刺第九天 站立式会议 项目进展 项目已完成模块的模块测试工作开始进行.如学生基本信息模块和学生信用信息模块. 问题困难 框架的掌握存在一定的问题,导致项目的执行速度变慢.其他课程的作业占据 ...

  4. 简单的C语言编译器--语义制导翻译

      语法分析是最难写的,而这部分确实最伤脑的.大量的语义动作分析差点把我逼疯.   简而言之,这部分的作用就是在每次归约之后,都进行一些语义动作,最终让我们得到测试程序的三地址码,即中间代码. 1. ...

  5. DML数据操作语言之查询(一)

    1.select语句基础 基本语句格式:  select <列名>,.... from <表名>; select子句中列举出希望从表中查询出的列的名称,from子句则指定了选取 ...

  6. bzoj千题计划245:bzoj1095: [ZJOI2007]Hide 捉迷藏

    http://www.lydsy.com/JudgeOnline/problem.php?id=1095 查询最远点对,带修改 显然可以用动态点分治 对于每个点,维护两个堆 堆q1[x] 维护 点分树 ...

  7. Network in Network

     论文要点: 用更有效的非线性函数逼近器(MLP,multilayer perceptron)代替 GLM 以增强局部模型的抽象能力.抽象能力指的模型中特征是对于同一概念的变体的不变形. 使用 gl ...

  8. 微信支付get_brand_wcpay_request:fail

    最近做了微信支付功能,和后端一起踩坑中,微信一直报错:get_brand_wcpay_request:fail 出现该问题的原因: 1.生成的sign签名有问题 2.支付授权目录配置有问题 在经过仔细 ...

  9. kali linux 2.0 web 渗透测试 电子书

    原创 2017-05-31 玄魂工作室 玄魂工作室 打起精神,重新开启订阅号的原创文章写作工作,但是需要点时间,请耐心等待. 求资料的同学,没有及时回复的,请再次留言,我会尽快处理.今天分享两本电子书 ...

  10. Django REST framework+Vue 打造生鲜超市(二)

    三.Models设计 3.1.项目初始化 (1)进虚拟环境下安装 django2.0.2 djangorestframework和相关依赖mark,filter pillow  图片处理 pip in ...