Linux如何快速查找需要执行的命令

大家知道,对于熟悉命令行的用户来说,命令行操作比图形界面操作高效、简洁,那么Linux是如何快速找到命令的位置呢?今天刚学了这一部分,与大家分享。

        Linux将命令分为内部命令和外部命令,这是由于一些命令是常用的,需要常驻内存以减少检索时间,所以集成在shell之中,而一些命令不经常用到,所以存放在硬盘之中。具体如何检索请继续欣赏下面的介绍。

使用enable命令可以看到所有的shell内嵌命令。一共有61条。

1

2

使用type可以查看命令的属性。

3

当使用enable –n pwdpwd命令禁用时,则系统将在内存中找不到pwd命令,此时pwd的属性变为从硬盘查找。

4

当运行过一次pwd命令时,则会把pwd命令缓存到hash中。以后找命令就会在hash表中查找。

5

取消pwdhash,就会发现pwd回到硬盘当中。

8

最后将pwd重新添加的shell中。

9

但是,如果将pwd添加一个别名,就会发现pwd是在aliased中,即别名表中。

6

如果取消pwd的别名,再次type就看到pwd重新回到shell中

10

由此,我们可以总结出来一下执行命令时系统查找命令的先后顺序。

alias > shell > hash > path路径 。

其中在path路径下找到后将此命令调入hash表中,以便于下次直接调用。

至此,你一定对命令的调用过程有了更进一步的认识。谢谢阅读。

原创文章,作者:myq,如若转载,请注明出处:http://www.178linux.com/80725

(1)
myqmyq
上一篇 2017-07-15 12:51
下一篇 2017-07-15 13:04

相关推荐

  • Linux基础目录名称命名法则及功用规定

    FHS:文件系统层级结构标准 – Filesystem Hieracry Standard 参考这篇文档: http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html  /bin:供所有用户使用的基本命令文件 /sbin:系统管理使用的工具程序 /boot:引导加载器必须用的静态文件…

    Linux干货 2016-08-15
  • 马哥教育网络班22期+第9周课程练习

    week9: 1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin); 分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # SHELL1="/sbin/nologin" declare -i sum1=sum2=0 for&nb…

    Linux干货 2016-10-17
  • 08.02 笔记总结

    1. newgrp 用来临时切换主组。    root 切换, 不需要组密码。    而普通用户切换是需要组密码的。    newgrp 组名  用来切换当前用户的组信息 2. pwunconv     //  将密码的密文复制到/etc/passw…

    Linux干货 2016-08-08
  • Http实践

    练习:搭建虚拟主机     (1)基于主机名实现三个虚拟主机     (2) 每虚拟主机使用独立的访问日志和错误日志     (3) 第三个虚拟主机的/admin要进行用户访问认证     (4) 在…

    Linux干货 2016-09-30
  • linux的终端类型

    Linux系统的终端类型    Linux系统的终端主要包括控制台终端、控制终端、串口终端、伪终端、虚拟终端。                 1.  控制台终端(/dev/console)。    在Unix系统中,计…

    Linux干货 2016-10-19
  • 8.1作业

    8月1日作业 创建testuser uid 1234,主组:bin,辅助组:root,ftp,shell:/bin/csh home:/testdir/testuser [root@localhost ~]# useradd -u 1234 -g bin -G root,ftp&…

    Linux干货 2016-08-04