shell基础知识
一.什么是shell
shell是系统跟计算机硬件交互时使用的中间介质,它只是系统的一个工具,用户把指令告诉shell,然后shell再传输给系统内核(相当于人的大脑),接着内核再去支配计算机硬件去执行各种操作。
我们接触的Linux版本(CentOS默认安装的版本是bash即(Bourne Again Shell),它是sh的增强版本,创始人是Steven Bourne。
- 1.记录历史命令
我们执行过的命令Linux都会记录,预计可以记录1000条历史命令。这些命令保存在用户的家目录的.bash_history文件中。但需要注意的是,只有当用户正常退出当前shell时,在当前shell中运行的命令才会保存至.bashhistory文件中。
!是与命令历史有关的一个特殊字符,该字符常用的应用有以下2个。
1.!!:连续两个!表示执行上一条指令。示例命令如下:
#pwd
/root
#!!
pwd
/root
!n :这里的n是数字,表示执行命令历史中的第n条指令。例如,!11表示执行命令历史中的第11个命令,如下所示:
#history |grep 11
11 pwd
35 history |grep 11
#!11
pwd
/root
- 2.命令和文件名补全
在Linux中,按tab键可以帮我们补全一个指令、一个路径或者一个文件名。连续按两次tab键,系统则会把所有的命令或者文件名都列出来。
- 3.别名
alias,它也是bash所特有的功能之一。我们可以通过alias把一个常用的并且很长的指令另取名为一个简单易记的指令。如果不想用了,还可以使用unalias命令解除别名功能。 直接执行alias命令,会看到目前系统预设的别名,如下所示:
#alias
alias cp=‘cp -i’
alias egrep=‘egrep --color=auto’
alias fgrep=‘fgrep --color=auto’
alias grep='grep --color=auto*
- 4.通配符
在bash可以使用来匹配零个或多个字符,用5匹配一个字符。示例命令如下:<