在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. C语言总结报告

    1.当初你是如何做出选择计算机专业的决定的? 经过一个学期,你的看法改变了么,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么? 当初报考计算机专业,是看到计算机专业在当今社会有良 ...

  2. 软件工程第三次作业-结对作业NO.1

    第一次结对作业 结对人员: 潘伟靖 170320077 张 松 170320079 方案分析 我们对所供的资料进行分析,如下: 从提供的资料可以看出,需要解决的问题以及满足的需求主要有两类目标用户,各 ...

  3. C++数据结构中的基本算法排序

    冒泡排序 基本思想:两两比较待排序的数,发现反序时交换,直到没有反序为止. public static void BubbleSort(int[] R) { for (int i = 0; i < ...

  4. 201621123068 《Java程序设计》第1周学习总结

    1. 本周学习总结 本周学习了如何使用Java来编写程序,还没展开学习具体的语言,但是也花了大量的时间搞清楚Java运行的原理.明白了Java是一种可以跨平台运行语言,搞清了jdk,jre,jvm之间 ...

  5. Hibernate之深入持久化对象

    Hibernate是一个彻底的O/R Mapping 框架.之所以说彻底,是因为相对于其他的 框架 ,如Spring JDBC,iBatis 需要手动的管理SQL语句,Hibernate采用了完全 面 ...

  6. 【bug清除】Surface Pro系列使用Drawboard PDF出现手写偏移、卡顿、延迟现象的解决方式

    最近自己新买的New Surface Pro在使用Drawboard PDF时,出现了性能问题,即笔迹延迟偏移,卡顿的问题. 排查驱动问题之后,确认解决方案如下: 将Surface的电池调到性能模式, ...

  7. MySQL binlog 日志

    一:MySQL 日志的三种类型: statement.row.mix 格式.推荐使用row格式. 怎么设置自己的日志格式呢? 1. set globle binlog_format='MIXED' 2 ...

  8. Python内置函数(30)——super

    英文文档: super([type[, object-or-type]]) Return a proxy object that delegates method calls to a parent ...

  9. emqtt 试用(四)emq 的主题访问控制 acl.conf

    访问控制(ACL) EMQ 消息服务器通过 ACL(Access Control List) 实现 MQTT 客户端访问控制. ACL 访问控制规则定义: 允许(Allow)|拒绝(Deny) 谁(W ...

  10. Spring Security 入门(1-4-2)Spring Security - 认证过程之AuthenticationProvider的扩展补充说明

    1.用户信息从数据库获取 通常我们的用户信息都不会向第一节示例中那样简单的写在配置文件中,而是从其它存储位置获取,比如数据库.根据之前的介绍我们知道用户信息是通过 UserDetailsService ...