标签:history center justify linux color
Linux总结之Bash特性
环境变量:HISTCONTROL
三个值:
ignoredups:忽略重复的命令;所谓重复,一定是连续且完全相同,包括选项和参数;
ignorespace:忽略所有以空白开头的命令,不记录;
ignoreboth:忽略上述两项,既忽略重复的命令,也忽略空白开头的命令;
修改环境变量的方式:
export 变量名="VALUE"
或: VARNAME="VALUE" export VARNAME
内部命令:直接通过shell补全;
外部命令:bash根据PATH环境变量定义的路径,自左而右地在每个路径搜寻以给定命令命名的文件,第一次找到即为要执行的命令;
Note:在第一次通过PATH搜寻到命令后,会将其存入hash缓存中,下次使用不再搜寻PATH,从hash中查找;
Tab键补全:
若用户给出的字符在命令搜索路径中有且仅有一条命令与之相匹配,则Tab键直接补全;
若用户输入的字符在命令搜索路径中有多条命令与之相匹配,则再次Tab键可以将这些命令列出;
以用户输入的字符串作为路径开头,并在其指定路径的上级目录下搜索以指定字符串开头的文件名;
如果唯一,则直接补全;
否则,再次Tab,列出所有符合条件的路径及文件;
1)~:展开为用户的主目录;
2)~USERNAME : 展开为指定用户的主目录;
成功或失败;
bash使用特殊变量$?保存最近一条命令的执行状态结果;
值: 0 : 成功;
1-255:失败,1,127,255为系统保留;
程序执行有两类结果:
程序的返回值;程序自身执行的输出结果;
程序的执行状态结果;$?
当前用户:~/.bashrc
全局用户:/etc/bashrc
Bash进程重新读取配置文件:
source /path/to/config_file
./path/to/config_file
撤销别名:unalias
unalias [-a] name [name ...]
Note:对于定义了别名的命令,要使用原命令,可用使用 \COMMAND
bash中用于实现文件名"通配"
通配符:*,?,[]
a*b:
a?b:
[0-9] [a-z] 不区分大小写
[admin] 可以是区间形式的,也可以是离散的;
4)[^] 匹配指定范围外的任意字符;
[^0-9] 单个非数字的任意字符;
专用字符集合:
[:digit:] 任意单个数字,相当于[0-9]
[:lower:] 任意单个小写字母,
[:upper:] 任意单个大写字母;
[:alpha:] 任意单个大小写字母;
[:alnum:] 任意数字或字母;
[:space:] 任意空白字符;
[:punct:] 任意单个特殊字符;
Note:在使用[]引用专用字符集合时,外层也需要嵌套[]。例如:
# ls -d /etc/l*[[:digit:]]*[[:lower:]]