在window下的sqlplus可以通过箭头键,来回看历史命令,用起来非常的方便。但是在linux里就没有这么方面了,错了一个命令,我们必须重新敲一次,辛苦了手指头。

通过rlwrap包实现linux里的sqlplus历史命令的功能:

第一步:下载安装包

在http://rpm.pbone.net/   网站搜索以下包,并下载后上传到服务器

rlwrap-0.42-1.el6.x86_64.rpm

readline-devel-6.0-4.el6.x86_64.rpm

ncurses-devel-5.7-4.20090207.el6.x86_64.rpm

第二步:在root 用户下,rpm -ivh 安装下载的包  ;如果配置yum resporitory ,可通过yum install直接安装

[root@localhost Downloads]# rpm -ivh ncurses-devel-5.7-4.20090207.el6.x86_64.rpm   

Preparing...                ########################################### [100%]      

1:ncurses-devel          ########################################### [100%]

[root@localhost Downloads]# rpm -ivh readline-devel-6.0-4.el6.x86_64.rpm   

Preparing...                ########################################### [100%]      

1:readline-devel         ########################################### [100%]

[root@localhost Downloads]# rpm -ivh rlwrap-0.42-1.el6.x86_64.rpm

Preparing...                ########################################### [100%]      

1:readline-devel         ########################################### [100%]

第三步:切换至oracle 用户,在oracle 下 .bash_profile 文件中添加

alias sqlplus='rlwrap sqlplus'   

alias rman='rlwrap rman'

如下示例:

[oracle@localhost ~]$ vi .bash_profile

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

  . ~/.bashrc

fi

# User specific environment and startup programs

alias sqlplus='rlwrap sqlplus'

alias rman='rlwrap rman'

PATH=$PATH:$HOME/bin

umask 022

TMP=/tmp;

export TMP

TMPDIR=$TMP;

export TMPDIR export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1

export PATH=$ORACLE_HOME/Apache/perl/bin:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH

export ORACLE_OWNER=oracle

export ORACLE_SID=emrs

export ORACLE_TERM=xterm

unset USERNAME

如何在linux sqlplus 下实现方向健和回退键操作而避免乱码的更多相关文章

  1. 【android开发】如何在Linux平台下安装JDK环境

    原文:http://android.eoe.cn/topic/android_sdk Linux平台JDK安装 本文主要描述如何在Linux平台下安装JDK环境.进入网页:http://www.ora ...

  2. Jmeter(五十四) - 从入门到精通高级篇 - 如何在linux系统下运行jmeter脚本 - 上篇(详解教程)

    1.简介 上一篇宏哥已经介绍了如何在Linux系统中安装Jmeter,想必各位小伙伴都已经在Linux服务器或者虚拟机上已经实践并且都已经成功安装好了,那么今天宏哥就来介绍一下如何在Linux系统下运 ...

  3. 操作系统复习——如何查看一个进程的详细信息,如何追踪一个进程的执行过程 ,如何在 Linux 系统下查看 CPU、内存、磁盘、IO、网卡情况?epoll和select区别?

    1. 如何查看一个进程的详细信息,如何追踪一个进程的执行过程 通过pstree命令(根据pid)进行查询进程内部当前运行了多少线程:# pstree -p 19135(进程号) 使用top命令查看(可 ...

  4. 如何在linux环境下配置环境变量

    jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 在linux环 ...

  5. 如何在linux系统下查看日志

    在linux系统下, 首先在idea中使用clean---->install----->package将这个项目进行打包,打包的方式 , 根据你在项目中的pom文件,最上面,可以查看到 这 ...

  6. 如何在linux系统下对文件夹名有空格的文件夹进行操作

    http://www.2cto.com/os/201409/335119.html 在Windows操作系统中可以轻易地创建\移动\删除文件夹名带有空格的文件夹, 而在linux则需要进行一些特殊的处 ...

  7. 如何在 Linux 终端下创建新的文件系统/分区

    在 Linux 中创建分区或新的文件系统通常意味着一件事:安装 Gnome Parted 分区编辑器(GParted).对于大多数 Linux 用户而言,这是唯一的办法.不过,你是否考虑过在终端创建这 ...

  8. 如何在Linux系统下挂载光盘

    工具/原料 Linux 方法/步骤   找到光盘的完整路径名.在命令行输入:ls -l /dev | grep cdrom. 可以看到光盘的名字叫做:cdrom1.然后在命令行执行: mount /d ...

  9. 如何在linux系统下配置无线网卡?【转】

    转自:http://www.jb51.net/LINUXjishu/61315.html 本文介绍在Linux 命令行界面中手动配置无线网卡的方法.目前流行的多数发行版都支持用图形界面的network ...

随机推荐

  1. 编程之美----NIM游戏

    : 博弈游戏·Nim游戏 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 今天我们要认识一对新朋友,Alice与Bob.Alice与Bob总是在进行各种各样的比试,今天他 ...

  2. Exit函数

    1函数: exit() 函数名: exit() 所在头文件:stdlib.h 功 能: 关闭所有文件,终止正在执行的进程. exit(1)表示异常退出.这个1是返回给操作系统的. exit(x)(x不 ...

  3. oracle procedure

    http://www.cnblogs.com/wuhenke/archive/2010/03/20/1690535.html

  4. linux 查看剩余内存数

    返回的是kb的数值 cat /proc/meminfo | grep MemFree | cut -d ":" -f2 | sed -e 's/\(^ *\)//' -e 's/\ ...

  5. oracle给字段添加描述

    oracle中,我们有时候需要给表的字段添加描述.用以下语句即可. alter table a add b varchar2(2); comment on column a.b  is '这是表a的字 ...

  6. c语言 四种方法调用数组

      #include <stdio.h> /********************************* * 方法1: 第一维的长度可以不指定 * * 但必须指定第二维的长度 * * ...

  7. swift objective-及c语言 混编

    在xocde6出来我们大部分代码都是用objective-c写的(部分C/C++),现在出生来了一个新的语言叫swift,那么如何既能使用我们之前的代码,还可以使用新语言呢, 本文就此做一下说明. 关 ...

  8. oracle查看当前用户权限

    查看用户和默认表空间的关系select username,default_tablespace from dba_users;--查看当前用户能访问的表select * from user_table ...

  9. HDU 4734 F(x)

    这题可能非递归版好写? #include<iostream> #include<cstdio> #include<cstring> #include<algo ...

  10. jQuery 中 offset()方法与用position()的区别

    jq中offset().left和offset().top获取的是相对于整个文档左上角的偏移. 而用$(selector).position().left和.top 取到的则是相对于selector父 ...