linux(内部、外部、别名、缓存)命令及其优先级

内部命令: 指的是集成于Shell解释器程序(如Bash)内部的一些特殊指令,也成为内建(Built-IN)指令。内部命令 属于Shell的一部分,所以并没有单独对应的系统文件,只要Shell解释器被运行,内部指令也就自动载入内存了,用户可以直接使用。内部命令无需从硬盘中重新读取文件,因此执行效率更高。例:echo 、pwd、cd、help 、hash等。

  • 查看内部命令:如用help命令


外部命令:指的是Linux系统中能够完成特定功能的脚本文件或二进制程序,每个外部命令对应了系统中的一个文件,是属于Shell解释器程序之外的命令,所以称为外部命令。Linux系统必须知道外部命令对应的文件位置,才能够由Shell加载并执行。外部命令是在bash之外额外安装的,通常放在/bin:/usr/bin:/sbin:/usr/sbin……等等。例:ls 、 bc、 chvt 、init等。

  • 查看外部命令的路径:echo $PATH


别名命令:Linux系统提供了一个有用的工具叫alias,可以让我们将一些需要频繁使用的但又过于冗长的命令设置一个别名,这样一来,以后只需输入一个简短的别名就可以达到同样的作用。

  • 查看别名命令:alias


  • 别名的命名 例: alias cdnet='cd /etc/sysconfig/network-scripts/'
    取消别名:unalias cdnet

缓存命令:缓存命令分为内部缓存命令与外部缓存命令。内部缓存命令即为系统每次执行玩一次外部命令都会将其加载到内存中缓存,以便下次调取命令的时候省去去硬盘寻找命令的时间,直接从内存中读取命令执行。外部缓存命令即为每次注销、关机或者重启的时候,系统都会将缓存在内存中的外部命令与执行过的内部命令写入到硬盘的.bash_history文件中,这跟日志文件差不多,记录下来系统的命令使用历史,以便在系统非正常情况下排错。

  • 显示缓存过的命令:hash


如何判定一个命令是否为内部命令or外部命令?

type:确定命令是否为内部命令或外部命令


它们的优先级

判定优先级需先了解命令:

help:查看内部命令

enable:启、禁用内部命令

hash:缓存执行过的命令

1.以echo为例:它是内部命令又是外部命令



2.

从上面可以看出内部命令优先于外部命令执行

从上面可以看出别名优先于内部命令

最后得出:别名命令>内部命令>缓存命令>外部命令!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 13,507评论 2 33
  • 基础概念 linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动...
    姜饼人_9e7b阅读 2,721评论 1 2
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 100,918评论 9 468
  • 一、用户登录 root 用户一个特殊的管理帐户也被称为超级用户。 Centos7中root的id是0 普通(非特权...
    不知岁月惜阅读 1,038评论 0 0
  • linux基础入门 linux是一门开源稳定性高实用的全文本的操作系统,一般实用于服务器,我们国家大多数互联网公司...
    数据革命阅读 439评论 0 0

友情链接更多精彩内容