问题:搭建ubuntu系统后,输入命令的第一个字符+上页按键,发现不能找到历史命令,找了好久才发现是因为/etc/inputrc没有对键盘映射的上页键和下页键进行设置。

解决方法:

修改文件/etc/inputrc,添加对上页键和下页键的设置如下

# vim /etc/inputrc

"\e[5~": history-search-backward

"\e[6~": history-search-forward

重启系统后就可以实现快速寻找历史命令

/etc/inputrc详解

Inputrc 用来处理键盘映射表。这个文件在启动的时候被一个bash和其他shell使用的库,readline,调用。

全局的设定值包含在 /etc/inputrc中。 每个用户自己的值设定于~/.inputrc。 ~/.inputrc 若存在,则会忽略全局设定值。前面bash设定中缺省调用 /etc/inputrc 如果你想让系统同时使用两个设定,可以把一个 .inputrc放到/etc/skel 中给每一个新建立的用户使用。

参数详解:

# emacs模式的一些默认/修改
$if mode=emacs

# 允许使用Home/End键
"\e[1~": beginning-of-line
"\e[4~": end-of-line

# 允许使用Delete/Insert 键
"\e[3~": delete-char
"\e[2~": quoted-insert

# “page up”和“page down”的映射将逐步进入历史的开始/结束
 "\e[5~": beginning-of-history
 "\e[6~": end-of-history

# “page up”和“page down”搜索历史的替代映射
"\e[5~": history-search-backward
"\e[6~": history-search-forward

#ctrl -左箭头和ctrl -右箭头用于单词移动的映射
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

$if term=rxvt
"\e[7~": beginning-of-line
"\e[8~": end-of-line
"\eOc": forward-word
"\eOd": backward-word
$endif

# 对于非RH/Debian xterm,对RH/Debian xterm没有害处
# "\eOH": beginning-of-line
# "\eOF": end-of-line

# 支持freebsd控制台
# "\e[H": beginning-of-line
# "\e[F": end-of-line

$endif

set horizontal-scroll-mode Off         # 确认我们不会在同一行中输出所有的东西。

set meta-flag On              # 开启8比特输入

set input-meta On

set convert-meta Off              # 禁止对第8个比特过滤

set output-meta On                # 在显示时保存第8个比特

set bell-style none                 # 关闭可视和声音提示

# 函数第一部分中包括的换码符序列的值

"\eOd": backward-word

"\eOc": forward-word

# 在控制台使用

"\e[1~": beginning-of-line

"\e[4~": end-of-line

"\e[5~": beginning-of-history

"\e[6~": end-of-history

"\e[3~": delete-char

"\e[2~": quoted-insert

# xterm使用

"\eOH": beginning-of-line

"\eOF": end-of-line

inputrc命令的更多相关文章

  1. linux shell & bash

    shell & bash shell指允许用户通过文本操作计算机的程序. interactive shell:从是否通过标准输入输出与用户进行交互的角度分为交互式shell(interacti ...

  2. 常见linux命令释义(第八天)—— Bash Shell 的操作环境

    换了新公司,公司的领导很不错.自己感受比较多的地方是,自己的工作效率明显比以前高了.以前会对频繁变动的需求十分不耐烦,现在接到需求后会仔细的思考,进行整体构建.即使以后需求有变动,也能够比较轻易的在原 ...

  3. [Linux] 常用Linux命令

    查看端口占用状态 netstat -atunp | grep hadoop netstat -atunp | grep / zk 查看进程被哪些用户启动 ps - aux | grep hadoop ...

  4. 学习 Linux,101: Linux 命令行

    概述 本教程将简要介绍 bash shell 的一些主要特性,涵盖以下主题: 使用命令行与 shell 和命令交互 使用有效的命令和命令序列 定义.修改.引用和导出环境变量 访问命令历史和编辑工具 调 ...

  5. LINUX命令总结 -------来自 水滴娃娃 的CSDN

    LINUX命令总结 标签: LINUX命令总结 2014-01-27 15:54 41039人阅读 评论(1) 收藏 举报  分类: linux(1)  版权声明:本文为博主原创文章,未经博主允许不得 ...

  6. sudo简单命令语法及配置

    参考:http://yangrong.blog.51cto.com/6945369/1289452, https://wiki.archlinux.org/index.php/Sudo_(%E7%AE ...

  7. Mac快捷键、命令行

    睡眠:option + command + 电源键  立即关机:Cmd-Opt-Ctrl-Eject 立即重启:Cmd-Ctrl-Eject 弹出关机提示 :Ctrl + 关机 正常关机快捷键 : C ...

  8. Linux命令-sudo

    sudo命令用于给普通用户提供额外权利来完成原本只有超级用户才有权限完成的任务, 格式:sudo [参数] 命令名称 sudo命令与su命令的区别是,su命令允许普通用户完全变更为超级管理员的身份,但 ...

  9. pssh 不能执行指定用户命令

    问题: 一个脚本a.sh(必须root用户执行),在本地可以运行,通过pssh  -h ip_file "cd /home/byte/a.sh"不能执行. 原因: 分析应该是ssh ...

随机推荐

  1. ng build --aot 与 ng build --prod

    angluar的编译有以下几种方式: ng build  常规的压缩操作    代码体积最大 ng build --aot   angular预编译      代码体积较小 ng build --pr ...

  2. Kafka管理与监控——查看和重设消费者组位移

    kafka 0.11.0.0版本丰富了kafka-consumer-groups脚本的功能,用户可以直接使用该脚本很方便地为已有的consumer group重新设置位移. 前提必须consumer ...

  3. 在Spring中配置jdbc为什么不能用${username}问题

    楼主在spring中配置jdbc时,引用的是dbcp.jar包,在dataSource.properties配置文件中,有mysql用户名,楼主自然的选择了使用username,密码是root, 然后 ...

  4. Python 网络通信协议(互联网协议)

    一. 操作系统基础 操作系统(Operatin System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在"裸机"上的最基本的系统软件,任何其他软件都必须在 ...

  5. 冒泡排序到demo

    package com.lmy.demoSort; /** * 冒泡排序demo * @author Yubaba * */ public class BubbleSort { public stat ...

  6. Openstack知识点总结

    Openstack: 一.云计算+openstack概念: 1.云计算是一种按使用量付费的模式,这种模式提供可用的,便捷的,按需的访问,通过互联网进入可配置的计算资源共享池(资源包括网络,计算,存储, ...

  7. Java 基础篇之lambda

    Lambda 示例 public interface Eatable { void taste(); } public interface Flyable { void fly(String weat ...

  8. mysql对字段的操作

    增: alter table 表名 add 字段名+数据类型, add 字段名+数据类型; alter table 表名 add primary key 字段: "添加主键" 删: ...

  9. C学习笔记-函数

    函数的定义 返回值类型 函数名([[参数类型 参数名1],[参数类型 参数名2],···,[参数类型 参数n]]) { //执行语句 return 返回值; } 返回值类型:用于限定函数返回值的数据类 ...

  10. DAY 吐

    今天所学: 一,Linux的文件和目录管理 #1 cd( 变更用户所在目录)直接运行cd会进入root的/root下,后面跟目录名,会进入指定目录下( 后面只能是目录名,不能跟文件名). #2 pwd ...