[TOC]
# 番外
## 命令别名和快捷键
### 别名
**查看别名**
~~~
$ alias
~~~
返回结果:
~~~
alias cp='cp -i'
alias egrep='egrep --color'
alias fgrep='fgrep --color'
alias grep='grep --color'
alias l='ls -AFhlt'
alias l.='ls -d .* --color=auto'
alias lh='l | head'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
~~~
我们执行`cp`命令其实执行的是`cp -i`。
**设定别名**(临时生效)
~~~
$ alias ls='ls --color=never'
~~~
注:这种设定方式只能临时生效,一旦重启就生效。
**别名永久生效**
我们需要写入到环境变量中去。
~~~
$ vim ~/.bashrc
# 重新加载配置文件
$ source .bashrc
~~~
> 环境变量文件不止上面一个
**删除别名**(临时删除)
~~~
$ unalias ls
~~~
#### 命令的生效顺序
1. 使用**绝对路径**或**相对路径**执行的命令
2. 执行**别名**
3. 执行**bash的内部命令**
4. 按照 **$PATH** 环境变量定义的目录查找顺序找到的第一条命令
### 快捷键
| 快捷键 | 描述 |
| --- | --- |
| ctrl + C | 强制终止当前命令 |
| ctrl + l | 清屏 |
| ctrl + a | 光标一定到命令首行 |
| ctrl + e | 光标一定到命令尾行 |
| ctrl + u | 从光标所在位置删除到首行(删除整行) |
| ctrl + z| 把命令放入后台 |
| ctrl + r | 在历史命令中搜索 |
## 历史命令
### history
**语法**
~~~
$ history [选项] [历史名令保存文件]
~~~
**选项**
+ -c : 清空历史命令
+ -w: 把缓存中的历史命令写入历史保存文件`~/.bash_history`
> `~/.bash_history`中的文件是系统正常退出后才会写入到里面去。
### 命令补全
在输入命令或文件时,按`tab`键会自动补全。
**命令**补全其实依赖的是 `$PATH`
## 输出重定向
比如:输出为显示器,但是我们输出在文件中。
~~~
# 将ifconfig结果保存到test.log文件中
$ ifconfig > test.log
~~~
> `>`表示覆盖文件
> `>>`表示追加
记录错误的输出
~~~
$ i 2>>test.log
~~~
> `2>>`表示标准错误输出,符号两边不能有空格。

**将正确和错误的文件都出错到文件**(追加)
~~~
$ ifconfig >> test.log 2>&1
$ ifconfig &>>文件
~~~
**将正确和错误的日志分别存放到不同的文件**
~~~
cat dd >> access.log 2>>err.log
~~~
## 管道符


## 通配符


