(1)命令历史
history
环境变量:
HISTSIZE:命令历史记录的条数
HISTFILE:~/.bash_history
HISTFILESIZE:命令历史文件记录历史的条数
history -d OFFSET:删除某一调历史命令
history -c :清空历史命令
history #:显示历史中最近的#条命令
history -a:手动追加当前会话缓冲区的命令历史至历史文件中
调用历史中的命令:
!#:重复执行第#条命令
!!:执行上一条命令
!string:调用历史中最近一个以string开头的命令\
调用上一条命令的最后一个参数:
!$:
ESC, .
控制命令历史的记录方式:
环境变量:HISTCONTROL
ignoredups:忽略重复的命令,连续且相同方为“重复”
ignorespace:忽略所有以空白开头的命令
ignoreboth:ignoredups, ignorespace
示例:
[root@syh ~]# export HISTCONTROL=ignorespace
[root@syh ~]# echo $HISTCONTROL
ignorespace
修改环境变量值得方式:export 变量名=“值”
变量赋值:把赋值符号后面的数据存储于变量名指向内存空间
(2)命令补全
bash执行命令:
内部命令:
外部命令:bash根据PATH环境变量定义的路径,自左向右在每个路径搜寻以给定命令名命名的文件,第一次找到即为要执行的命令
直接补全:Tab,用户给定的字符串只有一条唯一对应的命令
以用户给定的字符串为开头对应的命令不唯一,则再次Tab会给出列表
(3)路径补全
把用户给出的字符串当做路径的开头,并在其指定上级目录下搜索以指定的字符串开头的文件命名
如果唯一:则直接补全
否则:再次Tab,给出列表
(4)命令行展开
~:展开为用户的主目录
~USERNAME:展开为指定用户的主目录
{}:可承载一个以逗号分隔的多个列表,并将其展开为多个路径
/tmp/{a,b} = /tmp/a, /tmp/b
/tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi
(5)命令的执行结果状态
成功
失败
bash使用特殊变量$?保存最近一条命令的执行状态结果:
0:成功
1-255:失败
程序执行有两类结果:
程序的返回值
程序的执行状态结果