5个找出Linux中“二进制命令”描述和系统中位置的方法

在数千个 Linux 系统上的命令/程序中,知道给定命令的类型和目的以及其在系统上的位置(绝对路径)对于新手来说可能是一个挑战。

知道命令/程序的一些细节不仅有助于 Linux 用户掌握大量命令,还能使用户理解命令行或脚本在系统上的操作。

因此,在本文中我们将向你解释五个有用的命令,用于显示给定命令的简短描述和位置。

要在系统上发现新命令,请查看 PATH 环境变量中的所有目录。这些目录存储系统上安装的所有命令/程序。

一旦你找到一个有趣的命令,在继续阅读更多关于它的手册页之前,请尝试如下收集一些简要的信息。

假设你输出了 PATH 的值,然后进到其中的一个目录 /usr/local/bin,注意到一个名为 fswatch(监视文件修改更改)的新命令:


  1. $ echo $PATH$ cd /usr/local/bin    

在 Linux 中找出新命令

现在让我们在 Linux 中用不同的方法找出 fswatch 命令的描述和位置。

1、 whatis 命令

whatis 用于显示你作为参数输入的命令名的单行描述(例如下面命令中的 fswatch)。

如果描述太长,一些部分在默认情况下会被省略,使用 -l 标志来显示完整的描述。


  1. $ whatis fswatch$ whatis -l fswatch    

 Linux whatis 命令示例

2、 apropos 命令

apropos 会搜索手册页名称和关键字描述(以命令名作为正则表达式搜索)。

使用 -l 标志来显示完整的描述。


  1. $ apropos fswatch $ apropos -l fswatch  

Linux apropos 命令示例

默认上,apropos 会如示例那样输出所有匹配的行。你可以使用 -e 选项来精确匹配:


  1. $ apropos fmt$ apropos -e fmt  

Linux apropos 命令根据关键词显示

3、 type 命令

type 命令会输出给定命令的完整路径名,此外,如果输入的命令名不是做为独立存储在磁盘的文件的程序,type 还会告诉你命令分类:

  • shell 内置命令
  • shell 关键字或保留字
  • 别名

  1. $ type fswatch  

Linux type 命令示例

当命令是另外一个命令的别名时,type 会显示运行别名时所执行的命令。使用 alias 命令可以查看你系统上创建的所有别名:


  1. $ alias$ type l$ type ll 

 显示 Linux 中所有别名

4、 which 命令

which 可以帮助命令定位命令,它会打印出命令的绝对路径:


  1. $ which fswatch  

 找出 Linux 命令位置

一些二进制文件存在于 PATH 环境变量中的多个目录,使用 -a 标志来找出所有匹配的路径名。

5、 whereis 命令

whereis 定位指定命令名的二进制、源和帮助页文件,如下所示:


  1. $ whereis fswatch$ whereis mkdir $ whereis rm  

 Linux whereis 命令示例

虽然上面的命令对于查找关于命令/程序的一些快速信息很重要,但是该命令的手册总是可以提供完整的文档,它还包括其他相关程序的列表:


  1. $ man fswatch 

在本文中,我们回顾了五个简单的命令,用于显示命令的简短的手册描述和位置。 你可以在反馈栏中对此文章做出贡献或提出问题。

作者简介:

 

Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux SysAdmin、web 开发人员,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并坚信分享知识。

作者:Aaron Kili

来源:51CTO

时间: 2024-10-13 03:20:42

5个找出Linux中“二进制命令”描述和系统中位置的方法的相关文章

Linux的free命令来显示系统中空闲和已使用的内存

  系统管理员必须维护他们服务器的健康运行.其中一个重要的部分就是内存.当服务器内存使用率过高时,它会降低服务器的性能.Linux有一个称为 free 的工具,来监控内存使用率. free 命令是什么 free 命令是一个显示系统中空闲和已用内存大小的工具.free 命令的输出和 top 命令相似.大多数Linux发行版已经含有 free 命令. 如何运行 free 想要运行,只需在控制台输入free 即可.不带选项运行会显示一个以KB为单位的默认输出. $ free 从上面的截图我们看到: 内

如何找出Linux系统中所有的*.cpp、*.h文件

如何找出Linux系统中所有的*.cpp.*.h文件? 用find命令就可以了.不过如果从根目录查找消耗资源较高,使用下面的命令就可以: find / -http://www.aliyun.com/zixun/aggregation/11696.html">name "*.cpp" -o -name "*.h" 示例: [root@localhost /]# find / -name "*.cpp" -o -name "

贪心算法-找出一个-1,0,1三值矩阵中的最大全1子块

问题描述 找出一个-1,0,1三值矩阵中的最大全1子块 并不要求子块仍为一个矩阵,但要求形状为凸多边形,可进行行列变换,只要求所求子块最大. 我的理解是:用贪心法找出一个连续的最全1块,再进行行列变换保证子块形状为凸. 数据量较大,文件形式给出.

怎样找出包含在HttpSession,Request,ThreadLocal中的对象

问题描述 领导指定了一个任务,就是找出包含在HttpSession,Request,ThreadLocal中的对象,不知道该如何下手.使用的是Websphere! 解决方案 解决方案二:查下apiHttpSession有个getAttributeNames()依次类推吧如果这不能满足老板的要求就用反射吧解决方案三:我尝试过用这种方法,但是HttpSession,Request,ThreadLocal怎么区别呢?解决方案四:Useru=newUser();Systen.out.prtinln(ui

Linux平台php命令行程序处理管道数据的方法_php技巧

本文实例讲述了Linux平台php命令行程序处理管道数据的方法.分享给大家供大家参考,具体如下: linux下有一个强大的命令|(管道提示符).它的作用是将前一个命令的结果交给后一条命令并作为后一条命令的输入.而linux下的大多数命令 也都支持这种方式.可是当笔者写完一个php的命令行小程序以后,对于怎样获得前一个命令的结果却陷入了僵局.难道php不支持这样的操作? 于是又开始问google大叔.找来找去,都是说php的命令行模式是怎么回事儿,也没有和我想知道的问题相关的资料.难道是俺的关键字

Linux有问必答:如何找出Linux中内置模块的信息

提问:我想要知道Linux系统中内核内置的模块,以及每个模块有哪些参数.有什么方法可以得到内置模块和设备驱动的列表,以及它们的详细信息呢? 现代Linux内核正在随着时间变化而迅速增长,以支持大量的硬件.文件系统和网络功能.在此期间,"可加载模块(loadable kernel modules,[LKM])"的引入防止内核变得越来越臃肿,以及在不同的环境中灵活地扩展功能及硬件支持,而不必重新构建内核. 最新的Linux发行版的内核只带了相对较小的"内置模块(built-in

Linux系统中ln命令创建软链接与硬链接的方法

Linux 系统下每创建一个文件,系统都会为此文件生成一个 index node 简称(inode) ,而每一个文件都包含用户数据(user data) 与 元数据(metadata) 用户数据里记录了文件的真正内容. 元数据里记录的是文件的附加属性,如 文件大小,创建时间,所有者等,其中 上面提到的 index node 就保存在元数据中.在linux 中文件名并不是文件的唯一标识,index onde 才是唯一标示,系统查找文件也是通过 index node 来查找内容数据块. 如何查看文件

找出链表倒数第n个节点元素的二个方法_java

方法一:利用两个指针p,q,首先将q往链表尾部移动n位,然后再将p.q一起往后移,那么当q达到链表尾部时,p即指向链表的倒数第n个节点. 复制代码 代码如下: node* find_nth_to_last(node* head,int n) { if(head==NULL || n<1) return NULL; node*p,*q; p=q=head; while(q!=NULL && n--){ q=q->next; } if(n>=0) return NULL; w

CMD里或登陆远程linux服务器时命令行下复制和粘贴实现方法_DOS/BAT

如果要在CMD中复制的话,必须通过鼠标. 复制:要先标记(在CMD中击鼠标右键)要复制的内容(或者称是范围),然后鼠标点击右键或按回车(或Ctrl+C)即可复制完成. 粘贴:击右键粘贴即可把复制到粘贴板上的内容粘贴到CMD中. putty登陆远程大型机 复制:双击选中或鼠标拖动选中要复制的内容 粘贴:点右键直接粘贴 Xshell登陆远程大型机 复制:光标选中要复制的内容,按Ctrl+Insert 粘贴:Shift+Insert