首页 > 其他 > 详细

日常总结-DAY2

时间:2019-09-23 20:50:31      阅读:124      评论:0      收藏:0      [点我收藏+]

日常总结-DAY2

内部命令与外部命令

  Linux命令中分为内部命令和外部命令,其中内部命令在系统启动中加载到内存中,可以供shell解释器直接使用,内部命令通常都是功能简单的命令。而外部命令通常保存在系统的磁盘中,只有当使用外部命令时才会去磁盘中加载外部命令。

  通常,使用type命令来判断一个命令是属于内部命令还是外部命令,基本命令格式如下:

  type    [command]

  当提示“XXX is a shell builtin”时,说明此命令为一个内建命令。

[root@centos7 ~]#type echo
echo is a shell builtin

  当提示“XXX is /usr/bin/who”时,说明此命令为一个内建命令,其中/usr/bin/who是命令所在文件夹位置。

[root@centos7 ~]#type who
who is /usr/bin/who

外部命令执行流程

  外部命令执行后,会将命令所在文件位置存放至缓存中,当再次使用缓存过的外部命令时,可以通过内存直接找到命令位置运行,以重复提高使用同一外部命令的效率。可以使用:
【hash】 命令查看当前缓存的外部命令。

[root@centos7 ~]#hash

hits	command
   2	/usr/bin/stat
   2	/usr/bin/man
   3	/usr/bin/ls
   1	/usr/bin/clear
  • 注:若外部命令的文件位置被移动,由于缓存中的命令的文件位置不存在,则运行此外部命令时会报错

可以通过 hash -r : 清除所有hash缓存

hash -r [command]:清除指定命令的hash缓存

所有命令的执行顺序

优先级从左往右从高到低为:

  别名--->内部命令--->缓存中的外部命令--->外部命令

日常总结-DAY2

原文:https://www.cnblogs.com/thomascyq/p/11574196.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!