开发者学堂课程【计算机基础与Linux入门:Linux 命令执行过程】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/583/detail/8063
Linux 命令执行过程
内容介绍:
一、 语句修改
二、 执行命令
三、 执行外部命令
四、 命令别名
五、 小结
一、 语句修改
nano 可以在字符界面下编辑修改文件
1. 修改:
[root@centos7~]#nano/etc/gdm/custom.conf
得到:
#GDM configuration storage
[daemon]
AutomaticLoginEnable=true
AtomaticLogin=root
作用:开机自动登录,不需要手动输入密码。
2. 修改:
[root@centos6~]#cat/etc/motd
作用:登陆后有提示
效果:
3. [root@centos6~]#rpm -ivh /media/CentOS_6.10-Final/Packages/lrzsz-0.12.20,27,1,e16,x86_64.rpm
[root@centos6~]#mv motd-keyboard /etc/motd 移动并且改名
结果:
二、 执行命令
1. 输入命令后回车
提请 shell 程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来。
2. 在 shell 中可执行的命令有两类
1) 内部命令:由shell自带的,而且通过某命令形式提供
help 内部命令列表
[root@centos6~]#ll /bin/bash
enable cmd 启用内部命令
[root@centos6~]#enable pwd
enable -n cmd 禁用内部命令
[root@centos6~]enable -n pwd
enable-n 查看所有禁用的内部命令
2) 外部命令:在文件系统路径下有对应的可执行程序文件
查看路径:which -a |--skip-alias ; whereis
3. 区别指定的命令是内部或外部命令
type COMMAND
三、 执行外部命令
1. Hash 缓存表
系统初始 hash 表为空,当外部命令执行时,默认会从 PATH 路径下寻找该命令,找到后会将这条命令的路径记录到 hash 表中,当再次使用该命令时,shell 解释器首先会查看 hash 表,存在将执行之,如果不存在,将会去PATH路径下寻找,利用 hash 缓存表可大大提高命令的调用速率。
2. hash常见用法
hash 显示 hash 缓存
hash-I显示 hash 缓存,可作为输入使用
hash -p path name 将命令全路径 path 起别名为 name
hash-t name 打印缓存 中 name 的路径
hash-d name 清除 name 缓存
hash -r 清除缓存
四、 命令别名
1. 显示当前 shell 进程所有可用的命令别名
alias
2. 定义别名 NAME,其相当于执行命令 VALUE
alias NAME='VALUE'
3. 在命令行中定义的别名,仅对当前 shell 进程有效如果想永久有效
4. 如果想永久有效,要定义在配置文件中
仅对当前用户:~/.bashrc
对所有用户有效:/etc/bashrc
五、 小结
内部--hash 表(记录外部命令的路径)---SPATH--命令找不到。
缓存 cache:将刚用硬盘的数据放在内存中,下次用此数据,不需要从硬盘找,直接内存取出 hash。
Cache 为王