群里有人问“问个问题,linux命令行 有没有快捷键一下从行末会到行头? 经常敲了很多命令 发现忘加 sudo 了,然后把命令删了重新敲一遍”。自己还真不知道怎么操作,只知道历史命令可以使用上下光标切换。正好早上微博有人科普,感谢龙浩的blog的总结,我也补充点知识,纠正一下百度知道上关于“HISTFILESIZE”和“HISTSIZE”的区别错误回答。好吧,开始说说历史记录个数的“HISTFILESIZE”和“HISTSIZE”的区别,默认情况下HISTFILESIZE和HISTSIZE的值都是500,表示可以记录500条命令记录。HISTFILESIZE 表示记录在文件中的命令条数
HISTSIZE 表示记录在内存中的命令条数当我们在shell命令行执行命令的时候,最近的HISTSIZE条命令被保存在内存当中可以使用上下光标或者ctrl+p,ctrl+n上下查找命令。当退出shell时HISTFILESIZE条命令被保存到历史命令文件中,下次登录shell时会从历史命令文件中读取命令道内存历史命令道中当网络中断等异常时,你会发现之前的历史命令,下次登录时用上下光标找不到上次的历史命令,所以要正常退出或者发送探测包保持shell在线。如果想增加历史命令保存的数量,可以在~/.bash_profile中手动修改HISTFILESIZE和HISTSIZE这两个变量的值。
搜索操作快捷键搜索历史命令的快捷键:Ctrl + r
它是通过关键字去匹配历史记录,执行后会提示:(reverse-i-search)`':输入你记得的关键字去匹配,如果出现你需要的命令,按Enter就可以选择命令;如果不是请输入更精确的关键字去匹配。
移动操作快捷键Ctrl + f-- 向右移动一个字符,当然多数人用→
Ctrl + b-- 向左移动一个字符, 多数人用←
ESC + f-- 向右移动一个单词,MAC下建议用ALT + →
ESC + b-- 向左移动一个单词,MAC下建议用ALT + ←
Ctrl + a-- 跳到行首
Ctrl + e-- 跳到行尾
删除操作快捷键Ctrl + d-- 向右删除一个字符
Ctrl + h-- 向左删除一个字符
Ctrl + u-- 删除当前位置字符至行首(输入密码错误的时候多用下这个)
Ctrl + k-- 删除当前位置字符至行尾
Ctrl + w-- 删除从光标到当前单词开头
命令切换操作快捷键Ctrl + p-- 上一个命令,也可以用↑
Ctrl + n-- 下一个命令,也可以用↓
其他操作快捷键Ctrl + y-- 插入最近删除的单词
Ctrl + c-- 终止操作
Ctrl + d-- 当前操作转到后台
Ctrl + l-- 清屏 (有时候为了好看)学完这几个快捷键组合,回答一下开始的问题吧,相信大家自己也试过了,就是ctrl+a快捷键能使光标回到行首。
表示除了了ctrl+c其他都没用过也觉得没必要