在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. Oracle之SQL优化专题01-查看SQL执行计划的方法

    在我2014年总结的"SQL Tuning 基础概述"中,其实已经介绍了一些查看SQL执行计划的方法,但是不够系统和全面,所以本次SQL优化专题,就首先要系统的介绍一下查看SQL执 ...

  2. C#简单入门

    公司给的一个小的practice C# vs2017 Stage 1 (cmd)1. Parse the dll (reflection)2. Write all the public methods ...

  3. 网络1712--c语言第一次作业总结

    1.作业亮点 1.1大家均能较为独立自主地完成第一次c语言作业,无明显抄袭现象 1.2 以下几位同学博文写的较为优秀,可作为范例供大家参考 田亚琴--态度端正,及时回复评论并及时完善修改博文 戴洁-- ...

  4. class AClass<E extends Comparable>与class AClass<E extends Comaprable<E>>有什么区别?

    new ArrayList<>()与new ArrayList()一样 都是为了做限定用的 如果不了解你可以看API 这个Comparable里面有一个方法compareTo(T o) 如 ...

  5. Python之旅.第三章.函数3.28

    一.命名关键字参数: 什么是命名关键字参数?格式:在*后面参数都是命名关键字参数特点:1 必须被传值1 约束函数的调用者必须按照key=value的形式传值2 约束函数的调用者必须用我们指定的key名 ...

  6. PHP模式设计之单例模式、工厂模式、注册树模式、适配器模式、观察者模式

    php模式设计之单例模式 什么是单例模式? 单例模式是指在整个应用中只有一个实例对象的设计模式 为什么要用单例模式? php经常要链接数据库,如果在一个项目中频繁建立连接数据库,会造成服务器资源的很大 ...

  7. 访问远程的docker

        docker version vim /etc/default/docker DOCKER_OPTS="  -Label name=dockerserver2" docke ...

  8. 百度播放器SDK 播放MP4格式视频有声音无画面问题解决

    此处为记录解决过程. 所链接使用的MP4格式视频为codec id是mp4v-20.使用手机自带播放器可以播放,使用百度云媒体播放器不能无画面.经调试,Android Baidu-Cloud-Play ...

  9. String、StringBuffer、StringBulider之间的联系和区别

    首先,我们大概总体的解释一下这三者的区别和联系 String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且大量浪费有限的内存空间. StringBuf ...

  10. .NET反编译工具:de4dot

    de4dot是一款C#编写的基于GPLv3协议的一个开源的.net反混淆脱壳工具,是目前.net下非常不错的一款反编译工具. 支持如下混淆器: Agile.NET (aka CliSecure) Ba ...