Linux补全


命令怎么补全,外部命令,bash是根据PATH环境变量的定义路径,自左而右在每个路径

搜寻以给定命令名命名的文件,第一次找到即为要执行的命令

路径怎么补全,把用户给出的字符串当做路径的开头,并在其指定的位置就是上级目录

下搜寻以指定的字符串开头文件名

 

 

按住tab

1.对文件补全

2.路径补全

 

如果给以的字符是唯一那么直接补全

如果给以的字符不唯一那么再按一次tab,即为显示列表

命令行展开


命令行展开

  1. ~展开为用户的主目录

  2. ~USERNAME  展开为指定用户的主目录

  3. {} 可承载一个以逗号分隔的列表,并将其展开为多个路径
             例如
    /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中实现文件名“通配”机制

 

  1. *
             
    表示任意长度的任意字符

  2. ?
             
    表示?后的字符前面必须有一个字符,表示比配单个字符

  3. []
             
    表示比配指定范围内的单个字符
             
       [0-9],[a-z]不区分字符大小写,[A-Z] 只匹配大写字母

  4. [^]取反
             匹配取反不匹配范围之内的
             
       [^0-9]表示不匹配0-9的数字

  5. 专用字符集

[: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 删除光标所在处的后部分