本次实验将介绍 Linux 命令中 which、whereis、locate 命令的用法。

  • which
  • whereis
  • locate

1.which

which命令的作用是,在PATH变量指定的路径中搜索可执行文件的所在唔知。它一般用来确认系统中是否安装了指定的软件。

【命令格式】:which 可执行文件名称
【常用参数】:
【常用范例】:
1.确认是否安装了gcc
which gcc

2.查看cd命令的位置路径

which cd

从上面的显示信息可以看到在实验楼的系统中 cd 是一个 shell 函数。

再来在我本地 linux 系统上执行 which cd 命令,显示的结果如下:

显示在 PATH 变量指定的路径下没有 cd 命令。为什么显示没有呢?这是因为 cd 是 shell 内建命令,而 which 默认是找 PATH 内所指定的目录,内建命令不在其指定的目录中,所以当然一定找不到。

那么就有个问题,为什么实验楼环境中 cd 是一个 shell 函数,而其他 linux 环境中 cd 是内建命令呢?这跟所使用的 bash 有关。

echo $SHELL 命令查看当前使用的 shell。

  

补充知识

到底什么是命令?

命令可以是下面四种形式之一:

  1. 是一个可执行程序,就像我们所看到的位于目录/usr/bin 中的文件一样。 属于这一类的程序,可以编译成二进制文件,诸如用 C 和 C++语言写成的程序, 也可以是由脚本语言写成的程序,比如说 shell,perl,python,ruby,等等。

  2. 是一个内建于 shell 自身的命令。bash 支持若干命令,内部叫做 shell 内部命令 (builtins)。例如,上面我本地环境中的 cd 命令,就是一个 shell 内部命令。

  3. 是一个 shell 函数。这些是小规模的 shell 脚本,它们混合到环境变量中。 比如上面讲到的 cd 命令,在实验楼环境中就是一个 shell 函数。

  4. 是一个命令别名。我们可以定义自己的命令,建立在其它命令之上。


3.whereis

whereis命令主要用于定位可执行文件、源代码文件、帮助文件在文件系统中的位置。whereis命令还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。

whereis命令查找速度非常快,因为它根本不是在磁盘中漫无目的乱找。而是在一个数据库中(var/lib/mlocatr)查询。这个数据库是Linux系统自动创建的,包含有本地所有文件的信息,并且每天通过自动执行updatedb命令更新一次。也正是因为这个数据库要每天才更新一次,就会使得whereis命令的搜索结果有时候会不准确,比如刚刚添加的文件可能搜不到。

【命令格式】:whereis [选项] 文件
【常用参数】:

-b:定位可执行文件-m:定位帮助文件-s:定位源代码文件-u:默认搜索路径下除可执行文件、源代码文件、帮助文件以外的其他文件-B:指定搜索可执行文件的路径-M;指定搜索帮助文件的路径-S:指定搜索源代码文件的路径

【常用范例】:
1.搜索gcc可执行文件的路径
whereis -b gcc

2.搜索gcc源代码的路径

whereis -s gcc


4.locate

locate和whereis类似。且它们使用的是相同的数据库。但whereis命令只能搜索可执行文件、联机帮助文件、源代码文件,如果要获得更全面的搜索结果,可以使用locate命令。

locate命令使用了十分复杂的匹配语法,可以使特殊字元(如'*'和'?')来指定需要查找的样本。

【命令格式】:locate [选项] [搜索字符串]
【常用参数】:

-q:安静模式,不会显示任何错误讯息
-n:至多显示n个输出
-r:使用正规表达式做寻找的条件
-V:显示版本讯息

【常用范例】:
1.搜索etc目录下所有以sh开头的文件
locate /etc/sh

注意在实验楼环境中一开始执行这个命令会报错:locate 无法执行 stat() ‘/var/lib/mlocate/mlocate.db’:没有那个文件或目录。

解决办法是执行sudo updatedb命令。

2.搜索etc目录下文件名包含lou的文件

locate /etc/*lou*

转载于:https://www.cnblogs.com/Roni-i/p/10140968.html

Linux操作命令(四)相关推荐

  1. Linux操作命令分类详解 - 用户权限(三)

    转自:Linux操作命令分类详解 - 用户权限(三),更优阅读体验:http://www.kongzid.com/ 目录 系列文章 1.用户账号管理 1.1 useradd/adduser 添加用户账 ...

  2. Linux操作命令(下)

    Linux操作命令(八) 1)sort命令 sort命令能够帮助我们对文本文件和stdin进行排序操作 1.1. 命令格式 sort [选项] [文件名] 1.2. 常用参数 -n 基于字符串的长度来 ...

  3. Linux 第四章-文件管理

    Linux 第四章 1.Linux的哲学思想 1.1.一切皆为文件 ​ 在Linux系统中,不仅仅是数据以文件的形势存在,而是Linux把所有的资源,包括硬件设备都组织成了文件.比如硬盘以及硬盘中的每 ...

  4. 实验楼linux指令,Linux操作命令(七)

    Linux操作命令(七) cut 命令 cut 命令是一个将文本按列进行切分的小工具,它可以指定分隔每列的定界符. 如果一行数据包含多个字段(多列),现在想要提取其中的一列或多列,这是 cut 命令就 ...

  5. Linux(四):虚拟机Ubuntu 卸载

    Linux(四):虚拟机Ubuntu 卸载 1.打开虚拟机程序进入主窗口,选中要删除的虚拟机操作系统. 2.选中 VMware 软件最上方的 "虚拟机"-"管理" ...

  6. Linux下四款常见远程工具比较

    摘要:Linux远程可不像Windows下那么方便,主要是连接的速度.显示的画质不能令人满意(延迟.撕裂).本文只是说一下我用过的四款远程工具.Anydesk官网:https://anydesk.co ...

  7. 【黑马Python】linux操作命令(2)

    linux操作命令 文件内容命令 cat和more的基本使用和对比 cat命令的-b和-n选项输出行号 grep查找文件内容 grep行首/行尾的模式查找 其他命令 echo和重定向 管道的概念和基本 ...

  8. Linux学习(四)

    Linux学习(四) 用户身份与文件权限 用户身份与能力 linux系统中的管理员就是root,这是错误的,linux系统的管理员之所以是root,并非是他的名字叫root,而是因为该用户的身份号码即 ...

  9. linux服务器搭建实验4报告,LINUX实验四报告

    <LINUX实验四报告>由会员分享,可在线阅读,更多相关<LINUX实验四报告(6页珍藏版)>请在人人文库网上搜索. 1.一. 实验目的掌握Linux系统中常用命令的作用和命令 ...

  10. Linux操作命令(六):wc、grep

     Linux命令实例练习 一.实验介绍 1.1 实验内容 1.2 实验知识点 1.3 实验环境 二.实验步骤 2.1 wc 命令 2.2 grep 命令 2.3 正则表达式与 grep 命令 三.参考 ...

最新文章

  1. 2011.03.16中国食盐价格不上涨,日本不缺少食盐。
  2. linux 暂停一段时间,sleep命令_Linux sleep命令:让程序暂停或休眠一段时间
  3. webService 客户端调用及异常信息First Element must contain the local name, Envelope , but found definitions...
  4. [SEO]让你的Asp.Net网站自动生成Sitemap——XmlSitemap
  5. Linux加密框架crypto AES代码相关
  6. python数据结构简单总结
  7. 设置c++程序的堆栈空间解决栈溢出问题
  8. 爬虫入门-京东评论爬取和简单分析[学习笔记]
  9. Spark数据分析技术学习笔记(三)——Spark累加器
  10. mac install: /usr/bin/unrar: Operation not permitted
  11. JS中var和let
  12. 181002有道扇贝每日一句
  13. cuda驱动更新方法之一:
  14. NFT数字藏品交易平台免费版源码-视觉猿CMS
  15. mac 壁纸 android,可以用于任何设备的Android 12壁纸现在已可下载
  16. 在职场中如何和同事处好关系是门艺术活
  17. python xmind_2018-09-14 python-xmind文件解析
  18. get请求在ie浏览器中缓存问题
  19. Java重定向标准输入/输出
  20. Java爬虫实践之获取历史上的今天

热门文章

  1. 简述进程的启动、终止的方式以及如何进行进程的查看。
  2. STM32的时钟系统RCC详细整理
  3. Keil μVision 5版新建工程详细步骤(版本2)
  4. 分享关于搭建高性能WEB服务器的一篇文章
  5. C#中的{n}运算符
  6. 使用wkwebview后,页面返回不刷新的问题
  7. tkinter之事件绑定
  8. Playframework2 标签速记
  9. Visual Studio 2012中的为创建类时的添加注释模板
  10. 不要通过终止进程的方式清理内存