Linux的基础特性:
(1)历史命令
history
环境变量:
HISTSIZE:命令历史记录的条数;
HISTFILE:~./bash_history;
HISTFILESIZE:命令历史文件记录历史的条数
history -d OFFSET 删除offset条
-c 清除历史
history #:显示历史最近的#条命令
-a:手动追加当前回话缓冲区的命令历史至历史文件中
调用历史中的命令:
!#:重复执行#条命令
!!:上一条命令
!String :最近一个以string的命令
控制命令历史的记录方式
环境变量:HISTCONTROL
ignoredups:忽略重复的命令;连续且相同方为”重复“;
ignorespaces:忽略所有以空白开头的命令:
ignoreboth:ignoredups,ignorespaces;
修改环境变量的方式: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:失败
程序执行有两类直结果:
程序的返回值;
程序的执行状态结果;