LINUX教程:Linux命令类型及执行顺序
《LINUX教程:Linux命令类型及执行顺序》要点: 一、敕令分类 Linux敕令分为两类,具体为内部敕令和外部敕令 内部敕令: ? ? ? 指shell内部集成的敕令,此类敕令无需人为安装,开机后自动运行在内存中,敕令help查看所有内部敕令的详情,如cd、type、echo、time、true等. 外部敕令: 指通过外部介质安装的命令对象包,如通过yum、rpm等方式安装,具体安装路径在$PATH下. 敕令查看: type查看敕令分类,内部敕令显示 shell相关信息,外部敕令则显示$PATH路径,如下图: time属于内部敕令,date属于外部敕令. 二、命令执行次序 ? ? ? 在命令执行过程中,命令形态主要分为4类:alias别号命令、内部命令、hash缓存命令和外部命令. ? ? ? 实例:echo即是内部命令又是外部命令,以echo为例实验证明其执行次序 ? ? ? 1. 将/bin/echo 复制到/usr/local/bin/下,用which -a查看echo的路径($PATH中/usr/local/bin路径优先于/bin,则echo优先使用/usr/local/bin/下的echo) 2.查看内部echo,并封闭内部命令的echo,使用echo命令在hash中形成记录,并查看记录 ? ? 3. 删除/usr/local/bin下的echo,hash中任然存echo的路径/usr/local/bin,再次使用echo “welcome to xi'an” ? ? 结论:执行hash中的敕令优先$PATH中的敕令 4. 开启内部敕令echo,再次执行echo “welcome to xi'an” 结论:阐明内部命令优先于hash缓存命令和外部命令 ? ? 5. 定义别名alias echo=“hostname”,如果echo 输出是hostname的内容时,则注解alias比内部命令优先 总结:命令执行次序为alias——内部命令——hash缓存——外部命令 三、命令分类及查找根本命令 ? ? 1. type command 查看是否是内部敕令 ? ? 2. which -a| --skip-alias? command? 查看所有包括command的路径|不查看别名的路径 ? ? 3. enable -n command 封闭内部命令 ? ? 4. hash -l 显示hash缓存 -d 清楚具体缓存敕令路径 -r 删除所有敕令路径 ? ? 5. alias 定义别号 ualias取消别号 本文永远更新链接地址: 学习更多LINUX教程,请查看站内专栏,如果有LINUX疑问,可以加QQ交流《LINUX教程:Linux命令类型及执行顺序》。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |