Linux补全
命令怎么补全,外部命令,bash是根据PATH环境变量的定义路径,自左而右在每个路径
搜寻以给定命令名命名的文件,第一次找到即为要执行的命令
路径怎么补全,把用户给出的字符串当做路径的开头,并在其指定的位置就是上级目录
下搜寻以指定的字符串开头文件名
按住tab键
1.对文件补全
2.路径补全
如果给以的字符是唯一那么直接补全
如果给以的字符不唯一那么再按一次tab,即为显示列表
命令行展开
命令行展开
~展开为用户的主目录
~USERNAME 展开为指定用户的主目录
{} 可承载一个以逗号分隔的列表,并将其展开为多个路径 例如/tmp/{a,b} 表示为 /tmp/a 和 /tmp/b
命令执行状态与结果
命令执行结果状态只有两种(要么成功要么失败)
成功只有一种,0
失败就是 1-255
bash使用特殊变量$?保持最近一条命令的执行状态
#echo $?
程序执行有两类结果
程序的返回值
程序执行的状态结果
alias命令别名
通过alias命令实现
1).alias
显示当前shell进场所有可用的命令别名
2).alias NAME='VALUE' 表示别名=命令或者路径
定义别名NAME,其相当于执行命令VALUE
注意通过alias定义命令别名只对当前shell进程生效,当重新启动shell进程或重新登录在失效,并且只对当前用户生效
当前用户生效定义命令别名: ~/.bashrc文件中,如果没有这文件可创建
如果需要永久生效,并长期有效必须写在 /etc/bashrc文件中如果没有则创建
需要重读配置文件.bashrc 使用命令 source /path/to/config_file
#source .bashrc
或者写成
#. /path/to/config_file
撤销别名 unalias
unalias NAME 表示撤销NAME的别名
Note:如果别名与原命令的名称相同例如 cp='cp -i' 如果需要使用原命令而不是cp -i这个命令,则
#\cp
通配符
glob(globbing)
bash中实现文件名“通配”机制
* 表示任意长度的任意字符
? 表示?后的字符前面必须有一个字符,表示比配单个字符
[] 表示比配指定范围内的单个字符 [0-9],[a-z]不区分字符大小写,[A-Z] 只匹配大写字母
[^]取反 匹配取反不匹配范围之内的 [^0-9]表示不匹配0-9的数字
专用字符集
[:alnum:]任意数字或字母
[:alpha:]任意大小写字母
[:blank:]
[:cntrl:]
[:digit:]任意数字
[:graph:]
[:lower:]任意小写字母
[:print:]可打印字符
[:punct:]标点符号
[:space:]任意空格
[:upper:]任意大写字母
[:xdigit:]
用法
#ls a[[:alnum:]]b 表示中间匹配任意数字或字母
bash快捷键
Crtl+l 清屏 相当于clear
Crtl+a回到命令开始处
Crtl+e 回到命令尾部处
Crtl+C 换行
Crtl+u 删除光标所在处的前部分
Crtl+k 删除光标所在处的后部分