群里有人问“问个问题,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快捷键能使光标回到行首。