码迷,mamicode.com
首页 > 系统相关 > 详细

linux命令分类及优先度

时间:2018-01-12 11:28:51      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:路径   别名   一个   images   comm   实用程序   搜索   blog   完成   

一丶liunx分类
linux命令可大致分为三类 内置命令,外部命令及alias命令(别名)(可通过type comment来查询是什么命令)
1 内置命令(builtin),内置命令实际上是shell程序的一部分,包含一些比较简练的liunx系统命令,由shell程序识别并在shell程序内部完成运作。
技术分享图片注:此为type查询的内部命令

    查询所有激活的内置命令 enable
*   [root@centos7 ~]# enable 
enable .
enable :

enable [
enable cd
... ...*
可以将内置命令禁用,如 enable -n comment (comment代指某一指令,以下皆同)
技术分享图片
显示所有已禁用的内部命令 enable -n
技术分享图片
若想重新启用已禁掉的内置命令可 enable comment
技术分享图片
2 外部命令,外部指令是linux系统中的实用程序部分,由于包含的程序量过大,并不会一开机就被加载入系统内存中,而是在需要时才会被调入内存。(通过shell程序管理外部命令执行的路径查找、加载存放,并控制命令的执行。)
技术分享图片注:此为type查询的外部命令
外部命令分为hash缓存命令和路径执行,凡是被执行过的命令会被调入缓存,而这个缓存便是hash,hash记录了你最近所有执行过的外部命令
显示所有被缓存的命令路径 hash
技术分享图片
清空所有的缓存 hash -r
技术分享图片
按路径执行又可分为直接输入相关路径执行和输入命令后自动搜索路径执行,自动搜索路径的目录可用echo ¥PATH查看
技术分享图片
如上图所示,以冒号为分隔 从左往右搜索,若同一命令在两个文件夹内存在,则将第一个搜寻到的命令存入hash中并执行。
3 alias,alias命令指的是用户设置命令的别名,以简写命令,提高操作效率。
显示所有的别名信息 alias
技术分享图片
设置一个别名 alias 别名=‘command -选项 参数‘
技术分享图片
删除一个已设置的别名 unalias 别名
技术分享图片

二丶优先度
若假设一条命令同时存在于内置命令,外部命令,alias中
技术分享图片
技术分享图片
技术分享图片
直接输入comment进行测试
技术分享图片
可得第一个为alias,从别名中删除该命令后测试
技术分享图片
第二个为内置命令,将其禁用后再测试
技术分享图片
技术分享图片
第三个为hash,将缓存删除后最后测试
技术分享图片
由此可知根据同一命令在系统中输出的优先度显示分别为alias>内置命令>外部命令(hash>path)

linux命令分类及优先度

标签:路径   别名   一个   images   comm   实用程序   搜索   blog   完成   

原文地址:http://blog.51cto.com/13570215/2060064

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!