Bash特性的详解

 

    Shell是壳的意思,在linux中人就是通过在shell程序下输入命令,启动一系列的程序和进程,与linux系统交流,所以熟悉shell是非常必要的。

linux中常用的shell有: sh, ksh,bash,tcsh,zsh,其中我们用的最多的就是bash

首先我们先总结一下在linuxbash的常用功能:

命令行编辑:

Ctrl +跳到命令行首

Ctrl+e:跳到命令行尾

Ctrl +u:删除当前光标到命令行首的内容

Ctrl +k:删除当前光标到命令行尾的内容

Ctrl+l:清屏 =clear

 

令历史:

history: 查看输入的命令历史

-w 保存命令历史到历史文件中

-c 清空命令历史

-d  [num]  [num] 从第几行开始删除多少行历史

eg:  history  -d  500 10 

     对命令历史常用的用法:

!n  :执行命令历史中的第n条命令

!-n  :执行命令历史中的倒数第n条命令

!!   :执行上一条命令

!string :执行命令历史中最近一个以指定字符串开头的命令

!$:引用上一个命令的最后一个参数 =Esc+.和Alt+

 

 

环境变量:

$PATH :当前用户环境中可以执行的二进制程序的路径

$HISTSIZE :统计命令历史的大小

 

命令补全:

TAB键

 

命令别名:

Alias 别名=命令   eg: alias cls=clear

注意在shell中定义的别名仅在当前shell生命周期中有效

unalias cmdalias 取消别名 eg: unalias cls

 

 

命令替换 把命令中某个子命令替换为命令的执行结果

$(command)  变量的引用

`command`   反引号

温馨提示:推荐使用第一种

Eg: echo The date is `date +%F`

 

 

Bash支持的引号:

`` : 反引号,命令的引用

“”双引号,弱引用,可以实现变量替换

‘’单引号,强引用,不会进行变量的替换,直接原样输入

  Eg:  a=12

  echo $a

  echo $a

 

文件名通配符使用:(man 7 glob---帮助文档)

* : 任意长度的任意字符

? :任意一个字符

[];匹配中括号内的任意单个字符 [abc],[a-g]

[^]:匹配中括号以外的任意单个字符[^0-9]

[[:space:]]: 空白字符

[[:lower:]]:小写字母

[[:upper:]]:大写字母

[[:digit: ]] :数字

[[:alnum:]]:数字和大小写字母

[[:alpha:]]:大小写字母