1.快捷键
快捷键 |
说明 |
ctrl+c |
强制终止当前命令 |
ctrl+l |
清屏=clear |
command+r |
清屏=clear |
ctrl+a |
光标移动到命令行首 |
ctrl+e |
光标移动到命令行尾 |
ctrl+u |
从光标所在位置删除到行首 |
ctrl+z |
将命令放入后台 |
ctrl+r |
在历史命令中搜索 |
2.history用法
1.使用HISTTIMEFORMAT显示时间戳
export HISTTIMEFORMAT="%F %T "
history | more
# 这个功能只能用在当HISTTIMEFORMAT这个环境变量设置之后,之后的那些新执行的bash命令才会被打上正确的时间戳,在此之前的命令,都将会显示成设置HISTTIMEFORMAT变量的时间
2.搜索历史
control+r
# 找到命令后按回车就可以执行命令,如果想调整,则可以按左/右
3.重复命令
# 使用上方向键,并回车执行
# 按!!并回车执行
# 输入!-1并回车执行
# 按control+p并回车执行
4.从命令历史中执行一个指定的命令
# history | more
1 service network restart
2 exit
3 id
4 cat /etc/redhat-release
# !4
cat /etc/redhat-release
5.通过指定关键字来执行以前的命令
!ps
# 将会执行以ps开头的命令
6.控制历史命令长度
vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450
7.更改历史文件名称
# 默认情况下历史命令存储在~/.bash_history中,添加下列内容到.bash_profile并重新登陆shell,将使用.commandline_warrior来存储命令历史
vi ~/.bash_profile
HISTFILE=/root/.commandline_warrior
8.使用HISTCONTROL从命令历史中剔除连续重复的条目
# pwd
# pwd
# pwd
# history | tail -4
# 在上面的例子中,pwd命令被连续执行了三次,执行history后会看到三条重复的条目,要剔除这些重复的条目可以将HISTCONTROL设置为ignoredups
export HISTCONTROL=ignoredups
9.使用HISTCONTROL清除整下命令历史中的重复条目
# 上面例子中的ignoredups只能剔除连续的重复条目,要清除整个命令历史中的重复条目,可以将HISTCONTROL设置为erasedups
10.使用HISTCONTROL强制history不记住特定的命令
# 将HISTCONTROL设置为ignorespace,并在不想被记住的命令前面输入一个空格
11.清除所有命令历史
history -c
12.获取上一条命令的参数(!!:$或者!$)
ls anaconda-ks.cfg
vi !!:$
vi anaconda-ks.cfg
# 使用!$可以达到同样的效果
13.获取上一条命令的第一项参数(!^)
cp anaconda-ks.cfg anaconda-ks.cfg.bak
vi -5 !^
vi anaconda-ks.cfg
14.为特定的命令替换指定的参数
cp ~/longname.txt /really/a/very/long/path/long-filename.txt
ls -l !cp:2
ls -l /really/a/very/long/path/long-filename.txt
# !cp:$获取cp命令最后一项参数
15.使用HISTSIZE禁用history
export HISTSIZE=0
16.使用HISTIGNORE忽略历史中的特定命令
export HISTIGNORE="pwd:ls:ls -ltr:"
# 上面的例子将忽略pwd,ls,ls -ltr命令