RHCSA Linux系统 命令的解释器 – shell
1.什么是 shell
(1) 定义:shell 即壳,是命令解释器,负责解析用户输入的命令
(2) 命令分类
① 内置命令:由 shell 命令内置,用于完成自我管理和基本管理,不同 shell 内置命令大多相似
② 外置命令:在文件系统某目录下,存在与命令名称相同的文件
(3) 查看命令类型:使用 type 命令
① type -a:列出当前命令可执行方式
② type -t:仅列出命令执行方式
(4) 命令执行路径
系统为了让用户在命令行快速方便地执行命令,将可执行文件的路径存储在环境变量 PATH 中。
在执行命令时,系统会在 PATH 记录路径下搜索同名二进制文件,有则执行,无则提示命令找不到
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
2.Linux中的特殊符号
3. 命令别名
(1) 定义:命令的快捷方式,对需经常执行且稍长的命令创建快捷方式很有用。
(2) 语法:alias 别名 = ' 原命令 [选项]... [参数]...'
(3) 操作(暂时)
① 查看已设置的别名:alias
eg: alias cp='cp -i'
② 删除别名:
unalias 别名
(4) 操作(永久)
① 针对单个用户:
把别名加在~/.bash_profile 或~/.bashrc 中,然后执行 source ~/.bashrc 或 source ~/.bash_profile.
② 针对所有用户:
把别名加在 /etc/bashrc 或 /etc/profile 中,然后执行 source /etc/profile 或 source /etc/bashrc
4. 命令历史
(1) 查看命令:history 命令可查阅命令历史记录,也可通过向上或向下光标键查询
(2) 语法:history [选项] [参数]
(3) 选项
① number:显示最近 number 条命令历史
② -c:清空当前历史命令
③ -a [文件]:将缓冲区中历史命令写入~/.bash - history 中(默认)
④ -r [文件]:将历史命令文件中的命令读入当前历史命令缓冲区中
⑤ -w:将当前历史命令缓冲区命令写入历史命令文件
(4) 部分示例
① 查看最近 5 条命令:
history 5
② 再次执行第 200 条命令
!200
③ 执行上一条命令
!!
(5) 命令行快捷键
① Ctrl + d:输入已结束,也可当做 exit
② Ctrl + c:键盘中断请求,终止当前命令
③ Ctrl + a:移动到当前行开头
④ Ctrl + e:移动到当前行结尾
⑤ Ctrl + l:清屏(等同于 clear)
⑥ Ctrl + u:剪切命令行中光标所在处之前的所有字符(不包括自身)
⑦ Ctrl + k:剪切命令行中光标所在处之后的所有字符(包括自身)
⑧ Ctrl + ←/→:光标在命令行中按照单词跳转
(6) 引用上一条命令最后一个参数
①!$
②先按Alt,再输入.
③先按ESC再输入.
(7)实例
[root@localhost ~]# vim /etc/profile
按i进入插入模式,在末尾行加入
USER_IP='who -u am i 2> /dev/null | awk '{printNF}' | sed -e's/[()]//g'`
export HISTTIMEFORMAT="[%F %T] [`whoami`] [$USER_IP]"
[root@localhost ~]# source /etc/profile
[root@localhost ~]# history
history 命令记录会包含操作时间、操作用户、操作 IP
如 [2020-12-15 18:10:27] [root] [111.18.44.1] exit