linux命令行快捷键
群里有人问“问个问题,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快捷键能使光标回到行首。
有没有在命令行中搜索某个字符或字符串的快键键,快速跳到某个字符
我知道的是没有
不错,谢了
这里有更多的:http://coderbee.net/index.php/linux/20130424/41
挺好的