[转]Linux 命令行快捷键

摘要:
只知道上下光标可用于切换历史命令。HISTFILESIZE表示文件中记录的命令数。HISTSIZE表示在shell命令行上执行命令时记录在内存中的命令数。最新的HISTSIZE命令保存在内存中。您可以使用上下光标或ctrl+p、ctrl+n来搜索上下命令。退出shell时,HISTFILESIZE命令将保存在历史命令文件中。

群里有人问“问个问题,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://www.nginx.cn/1114.html

免责声明:文章转载自《[转]Linux 命令行快捷键》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇自动化测试 python2.7 与 selenium 2 学习WebRTC 之ICE浅谈下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Druid.io系列(八):部署

介绍 前面几个章节对Druid的整体架构做了简单的说明,本文主要描述如何部署Druid的环境 Imply提供了一套完整的部署方式,包括依赖库,Druid,图形化的数据展示页面,SQL查询组件等。本文将基于Imply套件进行说明 单机部署 依赖 Java 8 or better Node.js 4.5.x or better Linux, Mac OS...

gulp的简单使用

一、Gulp的安装: 注意:在gulp安装之前需要安装nodejs环境  nodejs下载地址:https://nodejs.org/en/    安装v4.6.1版本 1.先在cmd下全局安装gulp,在命令窗口输入:npm install gulp -g 2.然后在项目文字下进行本地安装:npm install gulp --save-dev 二、创建...

MySQL之表字段的处理

一、删除、添加表字段删除表字段: mysql> ALTER TABLE testalter_tbl DROP i; 注意:若表中只剩余一个字段时,是无法使用DROP来进行删除的。 添加字段: ALTER TABLE testalter_tbl ADD i INT; 注意:添加字段时必须指定字段的数据类型。且添加的字段默认添加到表字段的末尾处。 若要...

Linux基础知识学习:Linux下修改文件名或修改文件夹名称(有待解决问题)

Linux下修改文件名或修改文件夹名称 1、修改文件夹名称 1.1我先创建一个test文件夹用来测试 mkdir test 1.2用 mv 命令 将文件移动,目标地址如果加 / 就 代表文件夹,如果没有 / 就会重新命名 例: mv test Test 表示文件重命名 mv test /Test/ 将test移动到根目录的Test文件夹下 在练...

30道linux运维面试题(很精典)

https://zhangge.net/1986.html 1.linux 如何挂在 windows 下的共享目录         Shell   1 mount.cifs//192.168.1.3/server/mnt/server-ouser=administrator,pass=123456 linux 下的 server 需要自己手动建...

linux虚拟机环境快速搭建redis5.x版本的主从集群总结

文/朱季谦 我在阿里云服务器上曾参与过公司redis集群的搭建,但时间久了,都快忘记当时的搭建过程了,故而决定在虚拟机centOS 7的环境,自行搭建一套redis5.x版本的集群,该版本集群的搭建比较方便,不用再像以前版本那样还得再搞一个 Ruby,5.x版本可直接使用 redis-cli的方式来构建集群。 提前准备六台虚拟机: 192.168.200....