外部命令:
可执行程序的文件名(基名);
命令解释器:词法分析、语法分析;
搜索路径:$PATH环境变量;
命令别名(bash的特性之一):
获取当前用户可用的别名的定义:
~]# alias
定义别名:
~]# alias NAME='COMMAND'
生命周期:当前shell进程;
撤消别名:
~]# unalias NAME
如果别名与命令名相同时,直接调用原命令,而非别名,可使用"\COMMAND"
bash的特性之二:命令历史
shell进程会保存其会话中用户曾经执行过的命令;命令通过其“历史文件”来持久保存此前执行过的命令;每个用户都有其自己专用的历史文件;
HISTSIZE:shell进程的缓冲区保留的历史命令的条数;
HISTFILESIZE:命令历史文件可保存的历史命令的条数;
默认均为1000;
HISTFILE:当前用户的命令历史文件;
~/.bash_history
查看命令历史列表:
~]# history
命令用法:
history -c:清空命令历史;
history -d OFFSET:删除指定的条目;
-a 将当前缓冲的历史行追加到历史文件中
-n 从历史文件中读取所有未被读取的行
-r 读取历史文件并将内容追加到历史列表中
调用命令历史列表中的命令以重执行之目的:
!#:再一次执行历史列表中的第#条命令;
!!:再一次执行上一条命令;
!STRING:再一次执行命令历史列表中最近一个以指定的STRING开头的命令;
调用上一条命令的最后一个参数:
快捷键:ESC, .
Alt+.
!$:给出的字符组合
显示最近的n条件命令历史:
history #
控制命令历史的记录方式:
通过HISTCONTROL环境变量进行,其取值:
ignoredups:忽略重复的命令;重复是指连续且相同的命令;
ignorespace:以空白字符开头的命令不记入历史;
ignoreboth:上述两者同时生效;
修改变量值的方式:
NAME='VALUE'
bash特性之三:快捷键
Ctrl+a:跳至命令行首;
Ctrl+e:跳至命令行尾;
Ctrl+k:删除光标所在处至尾部的内容;
Ctrl+u:删除行首至光标所在处的内容;
常用命令:
shutdown:
shutdown [OPTIONS...] [TIME] [WALL...]
选项:
-h:关机
-r:重启
-c:取消尚未执行的关机或重启操作
TIME:
(1) HH:MM
(2) +m
系统关机或重启命令:
关机:halt, poweroff, init 0, systemctl poweroff, systemctl halt
重启:reboot, init 6, systemctl reboot
which:
which - shows the full path of (shell) commands.
which [OPTIONS] [PROGRAMS]
-a:显示所有匹配的程序文件,而非第一个;
--skip-alias:略过别名;
whereis:
whereis - locate the binary, source, and manual page files for a command
whereis [options] name...
-b Search only for binaries
-m Search only for manuals
who:
who - show who is logged on
who [OPTION]...
-r:显示运行级别;
-b:系统本次启动的时间;
w:
w - Show who is logged on and what they are doing.
w [options] user [...]
whoami:
whoami - print effective userid