21.云计算&大数据_linux基础知识(18)什么是linux_Linux 命令与文件的搜寻

  • which (寻找『运行档』)
[[email protected] ~]# which [-a] command
选项或参数:
-a :将所有由 PATH 目录中可以找到的命令均列出,而不止第一个被找到的命令名称

范例一:分别用root与一般帐号搜寻 ifconfig 这个命令的完整档名
[[email protected] ~]# which ifconfig
/sbin/ifconfig            <==用 root 可以找到正确的运行档名喔!
[[email protected] ~]# su - vbird <==切换身份成为 vbird 去!
[[email protected] ~]$ which ifconfig
/usr/bin/which: no ifconfig in (/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin
:/home/vbird/bin)         <==见鬼了!竟然一般身份帐号找不到!
# 因为 which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档的!所以,
# 不同的 PATH 配置内容所找到的命令当然不一样啦!因为 /sbin 不在 vbird 的
# PATH 中,找不到也是理所当然的啊!了乎?
[[email protected] ~]$ exit      <==记得将身份切换回原本的 root

范例二:用 which 去找出 which 的档名为何?
[[email protected] ~]# which which
alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot ‘
        /usr/bin/which
# 竟然会有两个 which ,其中一个是 alias 这玩意儿呢!那是啥?
# 那就是所谓的『命令别名』,意思是输入 which 会等於后面接的那串命令啦!
# 更多的数据我们会在 bash 章节中再来谈的!

范例三:请找出 cd 这个命令的完整档名
[[email protected] ~]# which cd
/usr/bin/which: no cd in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin
:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
# 瞎密?怎么可能没有 cd ,我明明就能够用 root 运行 cd 的啊!

这个命令是根据『PATH』这个环境变量所规范的路径,去搜寻『运行档』的档名~ 所以,重点是找出『运行档』而已!且 which 后面接的是『完整档名』喔!若加上 -a 选项,则可以列出所有的可以找到的同名运行档,而非仅显示第一个而已!

  • hereis (寻找特定文件)
[[email protected] ~]# whereis [-bmsu] 文件或目录名
选项与参数:
-b    :只找 binary 格式的文件
-m    :只找在说明档 manual 路径下的文件
-s    :只找 source 来源文件
-u    :搜寻不在上述三个项目当中的其他特殊文件

范例一:请用不同的身份找出 ifconfig 这个档名
[[email protected] ~]# whereis ifconfig
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
[[email protected] ~]# su - vbird        <==切换身份成为 vbird
[[email protected] ~]$ whereis ifconfig <==找到同样的结果喔!
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
[[email protected] ~]$ exit              <==回归身份成为 root 去!
# 注意看,明明 which 一般使用者找不到的 ifconfig 却可以让 whereis 找到!
# 这是因为系统真的有 ifconfig 这个『文件』,但是使用者的 PATH 并没有加入 /sbin
# 所以,未来你找不到某些命令时,先用文件搜寻命令找找看再说!

范例二:只找出跟 passwd 有关的『说明文件』档名(man page)
[[email protected] ~]# whereis -m passwd
passwd: /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz

等一下我们会提到 find 这个搜寻命令, find 是很强大的搜寻命令,但时间花用的很大! (因为 find 是直接搜寻硬盘,为如果你的硬盘比较老旧的话,嘿嘿!有的等!) 这个时候 whereis 就相当的好用了!另外, whereis 可以加入选项来找寻相关的数据, 例如如果你是要找可运行档( binary )那么加上 -b 就可以啦! 如果不加任何选项的话,那么就将所有的数据列出来罗!

  • locate
[[email protected] ~]# locate [-ir] keyword
选项与参数:
-i  :忽略大小写的差异;
-r  :后面可接正规表示法的显示方式

范例一:找出系统中所有与 passwd 相关的档名
[[email protected] ~]# locate passwd
/etc/passwd
/etc/passwd-
/etc/news/passwd.nntp
/etc/pam.d/passwd
....(底下省略)....

这个 locate 的使用更简单,直接在后面输入『文件的部分名称』后,就能够得到结果。 举上面的例子来说,我输入 locate passwd ,那么在完整档名 (包含路径名称) 当中,只要有 passwd 在其中, 就会被显示出来的!这也是个很方便好用的命令,如果你忘记某个文件的完整档名时~~

但是,这个东西还是有使用上的限制呦!为什么呢?你会发现使用 locate 来寻找数据的时候特别的快, 这是因为 locate 寻找的数据是由『已创建的数据库 /var/lib/mlocate/』 里面的数据所搜寻到的,所以不用直接在去硬盘当中存取数据,呵呵!当然是很快速罗!

那么有什么限制呢?就是因为他是经由数据库来搜寻的,而数据库的创建默认是在每天运行一次 (每个 distribution 都不同,CentOS 5.x 是每天升级数据库一次!),所以当你新创建起来的文件, 却还在数据库升级之前搜寻该文件,那么 locate 会告诉你『找不到!』呵呵!因为必须要升级数据库呀!

那能否手动升级数据库哪?当然可以啊!升级 locate 数据库的方法非常简单,直接输入『 updatedb 』就可以了! updatedb 命令会去读取 /etc/updatedb.conf 这个配置档的配置,然后再去硬盘里面进行搜寻档名的动作, 最后就升级整个数据库文件罗!因为 updatedb 会去搜寻硬盘,所以当你运行 updatedb 时,可能会等待数分钟的时间喔!

  • updatedb:根据 /etc/updatedb.conf 的配置去搜寻系统硬盘内的档名,并升级 /var/lib/mlocate 内的数据库文件;
  • locate:依据 /var/lib/mlocate 内的数据库记载,找出使用者输入的关键字档名。

原文地址:https://www.cnblogs.com/zhimahu/p/12051625.html

时间: 2024-08-29 11:26:54

21.云计算&大数据_linux基础知识(18)什么是linux_Linux 命令与文件的搜寻的相关文章

20.云计算&amp;大数据_linux基础知识(18)什么是linux_Linux 内容查询

如果我们要查阅一个文件的内容时,该如何是好呢?这里有相当多有趣的命令可以来分享一下: 最常使用的显示文件内容的命令可以说是 cat 与 more 及 less 了!此外,如果我们要查看一个很大型的文件 (好几百MB时),但是我们只需要后端的几行字而已,那么该如何是好?呵呵!用 tail 呀,此外, tac 这个命令也可以达到!好了,说说各个命令的用途吧! cat  由第一行开始显示文件内容 tac  从最后一行开始显示,可以看出 tac 是 cat 的倒著写! nl   显示的时候,顺道输出行号

7.云计算&amp;大数据_linux基础知识(8)什么是linux(2019-10-27 00:34)

一.linux 是什么 Linux就是一套操作系统!如同下图所示, Linux就是核心与系统呼叫接口那两层. 由上图中我们可以看到其实核心与硬件的关系非常的强烈.早期的Linux是针对386来开发的, 由于Linux只是一套操作系统并不含有其他的应用程序,因此很多工程师在下载了 Linux 核心并且实际安装之后,就只能看着计算机开始运作了! 接下来这些高级工程师为了自己的需求,再在Linux上面安装他们所需要的软件就是了. 由于不同的硬件他的功能函数并不相同,例如IBM的Power CPU与In

2.云计算&amp;大数据_linux基础知识(1)计算机为何物

一. 天降一物计算器,何许人也 1.计算机的武林 接受使用者输入指令与数据, 经由中央处理器的数学与逻辑单元运算处理后,以产生或储存成有用的信息 个人计算机,即服务于个人雇主的隐士高手,只要雇主指令得当,下能算数八卦,上能飞天遁地 2.深扒计算机五脏六腑:(运算器,控制器,存储,输入,输出) cpu:高手的脑回路(脑回路:算数逻辑单元与控制单元)------------------------------------------运算器,控制器 bus:总线.高手的七筋六脉,负责运转体内真气(运算

14.云计算&amp;大数据_linux基础知识(13)什么是linux_首次登陆系统

用户接口:UI,user interface(GUI,CLI) 1.图形化略 2.CLI 重新启动X Window的快速按钮 一般来说,我们是可以手动来直接修改X Window的配置文件的,不过,修改完成之后的配置项目并不会立刻被加载, 必须要重新启动X才行(特别注意,不是重新启动,而是重新启动X!) .那么如何重新启动X呢? 最简单的方法就是: 直接注销,然后再重新登陆即可: 在X的画面中直接按下[Alt] + [Ctrl] + [Backspace] 第二个方法比较有趣,[backspace

大数据开发基础知识

日志聚合与分析 日志聚合的作用就在于可以把来自不同服务器上不同应用程序产生的日志聚合起来,存放在单一的服务器上,方便进行搜索和分析.在日志聚合方面,已经有不少成熟的开源软件可以很好的满足需求.本文中要介绍的是 logstash,一个流行的事件和日志管理开源软件.logstash 采用了一种简单的处理模式:输入 -> 过滤器 -> 输出.logstash 可以作为代理程序安装到每台需要收集日志的机器上.logstash 提供了非常多的插件来处理不同类型的数据输入.典型的包括控制台.文件和 sys

18小时内掌握Spark:把云计算大数据速度提高100倍以上

如何把云计算大数据处理速度提高100倍以上?Spark给出了答案. Spark是可以革命Hadoop的目前唯一替代者,能够做Hadoop做的一切事情,同时速度比Hadoop快了100倍以上,下图来自Spark的官方网站: Logistic regression in Hadoop and Spark 可以看出在Spark特别擅长的领域其速度比Hadoop快120倍以上! Spark是基于内存,是云计算领域的继Hadoop之后的下一代的最热门的通用的并行计算框架开源项目,尤其出色的支持Intera

【互动问答分享】第18期决胜云计算大数据时代Spark亚太研究院公益大讲堂(改)

"决胜云计算大数据时代" Spark亚太研究院100期公益大讲堂 [第18期互动问答分享] Q1:Master和Driver的是同一个东西吗? 两者不是同一个东西,在Standalone模式下Master是用于集群资源管理和调度的,而Driver适用于指挥Worker上的Executor通过多线的方式处理任务的: Master位于集群的管理节点,一般和 NameNode在同一个节点上: Driver一般都位于客户机上,客户机一般都不属于集群,但是和集群在同一个网络环境下,因为客户机中的

王家林最受欢迎的一站式云计算大数据和移动互联网解决方案课程 V3之Android架构设计和实现完整训练:HAL&amp;Framework&amp;Native Service&amp;Android Service&amp;Best Practice

如何理解Android架构设计的初心并开发出搭载Android系统并且具备深度定制和软硬整合能力特色产品,是本课程解决的问题. 课程以Android的五大核心:HAL.Binder.Native Service.Android Service(并以AMS和WMS为例).View System为主轴,一次性彻底掌握Android的精髓. 之所以是开发Android产品的必修课,缘起于: 1,  HAL是Android Framework&Application与底层硬件整合的关键技术和必修技术:

Hadoop大数据零基础高端实战培训视频

<Hadoop大数据零基础高端实战培训系列配文本挖掘项目(七大亮点.十大目标)> 课程讲师:迪伦 课程分类:大数据 适合人群:初级 课时数量: 300课时 用到技术:部署Hadoop集群 涉及项目:京东商城.百度.阿里巴巴 咨询QQ:779591710 下载地址: 链接:http://pan.baidu.com/share/link?shareid=3299239734&uk=3289559542 密码:8tkb 第一阶段:Hadoop基础篇(50课时) - 千里之行,始于足下(赠送课