本文介绍一些关于bash的可以提升效率的技巧,主要是关于历史命令操做和一些快捷键,让你在命令行下工做效率翻倍。vim
一、history-----最基本的查看历史命令bash
二、!n-----编号为n的历史命令spa
不用再复制粘贴,或者照着历史记录敲了。执行历史命令记录里面的某个命令,只须要 ! + 这条命令记录前的序号命令行
三、!-n-----倒数第n个历史命令class
你也能够用 ! - (倒数第几个命令)来执行历史命令,好比 !-1 就是倒数第一个命令, !-3就是倒数第三个命令效率
四、!!-----上一条命令配置
!! 表示上一条命令,至关于 !-1 。 file
这是一个极为方便实用的命令,好比一条很长的命令并且须要管理员权限,可是好不容易敲完但忘记加sudo,这里就能够直接用 sudo !!来完成刚刚的那条复杂的命令加sudo搜索
五、!keyword----- 查找包含该keyword的历史命令权限
若是想查找包含某个关键字的历史命令,能够这样作
!keyword
查找包含keyword的历史命令,而后回车就能执行这条历史命令
六、Ctrl + R 反向查找命令
快捷键Ctrl + R ,而后输入要查找的关键字,输入的同时,bash就会动态地增量搜索,找到想要的历史命令后能够按回车执行,或者esc把这条提取命令出来可是不执行。再按Ctrl + R 则继续日后查找符合条件的命令。
七、history | grep keyword 列出全部符合条件的命令
Ctrl + R 无疑是最方便经常使用的历史记录搜索方式,可是固然也能够用 history | grep keyword 来查找全部的符合条件的记录,而后再结合刚刚的! 方法完成命令。
八、历史记录的参数的技巧
!$ 上一条命令的最后一条参数
若是说你只想用上条命令的参数,一个个打出来又太繁复,就能够这样
!^ 上一条命令的第一个参数
$ 表示最后一个参数,而 ^就表示的是第一个参数
!^ 在这样的一个应用场景里十分方便:你刚备份了一个配置文件,而后想编辑这个配置文件:vim !^
:n 第n个参数
^与$表示第一个参数和最后一个参数,而 :n 就表示第n个参数,好比 !:2就表示上一条命令的第2个参数:cd !:2
注意,参数符号不只是能够 !$、!^、!:n 这样用,这些关于参数的符号都是能够和!表达式任意组合使用的,好比:
cd !762:2 (表示762号历史命令的第2个参数)
ls !-3^ (表示倒数第3个命令的第一个参数)
dpkg -L !apt$ (表示搜索含apt的命令的最后一个参数)
设置
magic-space 让历史记录表达式和参数符号当即显出原形
虽然历史记录表达式和参数符号使用起来简易方便,可是在包含这些表达式和符号的命令回车执行以前,你是并不知道这些表达式和符号到底表明的什么。为了解决这个问题,咱们能够使用Magic-Space
bind Space:magic-space
使用了这个设置后,在bash中输入历史记录表达式和参数符号后,按一下空格,这些表达式和符号就当即变成它们所表明的历史命令和参数,简称magic space。能够把这句放到.bashrc中,让设置持久生效(Mac是在.bash_profile)。
命令前加空格,使之不计入history
在命令前加空格,就能够避免改该命令计入history,小伙伴们就能够在不用清空history的前提下干一些坏事了。
HISTSIZE=0 不记录命令
若是不想记录命令,能够设置HISTSIZE=0。若是想恢复,能够在设置HISTSIZE为一个大于零的值(默认为500或者1000)
HISTCONTROL=ignoredups 去除重复命令
这样设置后,屡次的一样的命令连续执行就会只记录一次。