`
qjoycn
  • 浏览: 1245271 次
文章分类
社区版块
存档分类
最新评论

Linux 下 SQLPLUS 中 退格 方向键问题

 
阅读更多

. 退格键的问题

如果退格键不能用,可以使用stty命令来解决。该命令可以改变并打印终端行设置。

以前整理的Blog

stty 命令

http://blog.csdn.net/tianlesoftware/archive/2010/03/15/5381984.aspx

看这个命令的帮助:

[oracle@singledb ~]$ stty --help

Usage: stty [-F DEVICE] [--file=DEVICE] [SETTING]...

or: stty [-F DEVICE] [--file=DEVICE] [-a|--all]

or: stty [-F DEVICE] [--file=DEVICE] [-g|--save]

Print or change terminal characteristics.

-a, --all print all current settings in human-readable form

-g, --save print all current settings in a stty-readable form

-F, --file=DEVICE open and use the specified DEVICE instead of stdin

--help display this help and exit

--version output version information and exit

Optional - before SETTING indicates negation. An * marks non-POSIX

settings. The underlying system defines which settings are available.

Special characters:

* dsusp CHAR CHAR will send a terminal stop signal once input flushed

eof CHAR CHAR will send an end of file (terminate the input)

eol CHAR CHAR will end the line

* eol2 CHAR alternate CHAR for ending the line

erase CHAR CHAR will erase the last character typed

intr CHAR CHAR will send an interrupt signal

kill CHAR CHAR will erase the current line

* lnext CHAR CHAR will enter the next character quoted

quit CHAR CHAR will send a quit signal

* rprnt CHAR CHAR will redraw the current line

start CHAR CHAR will restart the output after stopping it

stop CHAR CHAR will stop the output

susp CHAR CHAR will send a terminal stop signal

* swtch CHAR CHAR will switch to a different shell layer

* werase CHAR CHAR will erase the last word typed

....

Handle the tty line connected to standard input. Without arguments,prints baud rate, line discipline, and deviations from stty sane. In settings, CHAR is taken literally, or coded as in ^c, 0x37, 0177 or 127; special values ^- or undef used to disable special characters.

Report bugs to <bug-coreutils@gnu.org>.

[oracle@singledb ~]$

与退格键相关的设置是erase,它表示删除最后一个字符。

$stty erase ^H

说明:按下退格键会显示成^H

如果在当前窗口执行的话,只对当前的窗口有效,下次登陆的时候还需要重新设置,可以把这个命令写入shell 的配置文件,如~/.bashrc 中,这样每次都能生效了。

. 方向键的问题

WIN 下使用方向键是没有问题的,但是在Linux下,方向键是使用不了了。 可以安装一下rlwrap 工具。

rlwrap本身是个遵循GPL 标准的Shell 脚本,可以运行任何你提供给它的命令包括参数,并添加命令历史浏览功能。

可以在http://rpm.pbone.net/ 上搜到这个工具的RPM包。

http://rpm.pbone.net/index.php3/stat/4/idpl/14484200/dir/redhat_el_5/com/rlwrap-0.3

7-1.el5.i386.rpm.html

[root@singledb mnt]# rpm -ivh rlwrap-0.37-1.el5.i386.rpm

warning: rlwrap-0.37-1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6

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

1:rlwrap ########################################### [100%]

[oracle@singledb ~]$ rlwrap sqlplus / as sysdba;

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Feb 3 15:13:13 2012

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL> select * from v$version;

BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

PL/SQL Release 10.2.0.1.0 - Production

CORE 10.2.0.1.0 Production

TNS for Linux: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 - Production

SQL> select * from v$version;

现在就可以上下翻动了。 但是这样没事都需要加上rlwrap 也是很麻烦的,可以对rlwrap 做一个别名,放到shell 的配置文件里,在~/.bashrc 文件里添加如下内容:

alias sqlplus='rlwrap sqlplus'

[oracle@singledb ~]$ cat ~/.bashrc

# .bashrc

# Source global definitions

if [ -f /etc/bashrc ]; then

. /etc/bashrc

fi

# User specific aliases and functions

alias sqlplus='rlwrap sqlplus'

[oracle@singledb ~]$

[oracle@singledb ~]$ source ~/.bashrc --让参数生效

[oracle@singledb ~]$ sqlplus / as sysdba; -- 然后就可以正常使用sqlplus

SQL*Plus: Release 10.2.0.1.0 - Production on Fri Feb 3 15:18:07 2012

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL> select * from v$version;

BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

PL/SQL Release 10.2.0.1.0 - Production

CORE 10.2.0.1.0 Production

TNS for Linux: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 - Production

SQL>

其他一些组合键:

Ctrl+Aahead,到行的顶端,相当于 Home

Ctrl+Eend,到行的末端,相当于end

Ctrl+Bbehind,后退一个字符,相当于left

Ctrl+Fforward,前进一个子放入,相当于right

Ctrl+Pprev.,上一行历史记录,相当于up

Ctrl+Nnext.,下一行历史记录,相当于down

Ctrl+Uundo,回复操作,这行就被清空掉了

Ctrl+W:剪切

Ctrl+Y:粘贴

Ctrl+LcLear,清屏

整理自网络

------------------------------------------------------------------------------

Blog http://blog.csdn.net/tianlesoftware

网上资源: http://tianlesoftware.download.csdn.net

相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(); DBA2 群:62697977()

DBA3 群:62697850 DBA 超级群:63306533;

聊天 群:40132017

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请

分享到:
评论

相关推荐

    oracle11g sqlplus解决退格方向键输入乱码问题

    包含termcap-1.3.1.tar.gz,readline-6.2.tar.gz,rlwrap-0.37.tar.gz包 libtermcap-2.0.8-47.i386.rpm readline-devel-5.2-13.fc9.i386.rpm...按照里面说明文档操作即可,可以解决sqlplus下面退格,方向键输入乱码问题

    Linux下sqlplus退格、上翻键乱码工具

    `rlwrap`能够处理SQL*Plus的退格键问题,使退格操作恢复正常。 接下来,我们来看看“上翻键乱码”问题。当用户尝试使用上箭头键查看之前输入的SQL命令时,终端可能会显示一串乱码字符,而不是预期的历史命令。这也...

    完美解决linux下sqlplus无法使用退格及方向键

    总的来说,通过使用`rlwrap`,你可以在Linux下的SQL*Plus中充分利用退格键和方向键,提升你的工作效率。同时,持续学习和掌握Linux命令行工具和数据库管理技巧,对于IT专业人士来说是非常重要的。

    rlwrap工具支持Oracle sqlplus支持退格键方向键等编辑功能

    rlwrap工具支持Oracle sqlplus支持退格键方向键等编辑功能

    linux优化sqlplus方向键

    linux优化sqlplus方向键

    解决linux下sqlplus 退格,回车乱码

    然而,用户在使用SQL*Plus时可能会遇到一些输入问题,比如退格键和回车键导致的乱码现象。这通常是因为终端不支持某些高级的键盘输入处理功能。为了解决这个问题,我们可以借助于`readline`库和`rlwrap`工具。 `...

    Linux中sqlplus方向键的安装配置

    然而,默认情况下,当我们在SQL*Plus中尝试使用方向键时,可能会遇到输出显示为不可读的ASCII字符,即所谓的“乱码”问题。这是因为SQL*Plus本身并不直接支持方向键的正确显示。为了解决这个问题,我们可以安装一个...

    linux下sqlplus历史命令回调问题

    linux下sqlplus历史命令回调问题 linux下sqlplus历史命令回调问题 linux下sqlplus历史命令回调问题 linux下sqlplus历史命令回调问题 linux下sqlplus历史命令回调问题 linux下sqlplus历史命令回调问题

    Linux中SQLplus上下键不能显示历史命令的问题

    在Linux环境中,SQLplus是一个常用的Oracle数据库管理工具,但默认情况下,它并不支持使用上下键来查看和重复执行历史命令,这在日常操作或面试中可能会带来不便。为了解决这个问题,我们可以借助一个名为rlwrap的...

    解决linux环境下sqlplus乱码的方法

    本篇文章将详细介绍如何解决在Linux环境下SQL*Plus出现的乱码问题。 首先,我们需要了解Linux系统的字符编码。Linux默认使用UTF-8作为系统编码,而SQL*Plus则可能根据Oracle数据库的字符集进行显示。如果两者不一致...

    解决sqlplus 删除键,方向键扥乱码

    在SQL*Plus中,用户可能会遇到输入删除键(Delete)或方向键时出现乱码的问题。这通常是由于终端编码设置不正确或者SQL*Plus的NLS设置与系统环境不匹配导致的。以下是一些详细的知识点,帮助你解决这个问题: 1. **...

    让linux 下sqlplus可以自由翻页的工具集

    在Linux环境中,SQLPLUS是Oracle数据库管理系统的命令行接口,用于执行SQL语句和PL/SQL块。然而,原生的SQLPLUS并不支持像在Unix或Windows终端中常见的自由翻页功能,这使得查看长查询结果时变得不便。为了改善这一...

    Linux中Oracle的sqlplus下退格和Del键无效的问题解决

    在Linux环境中,Oracle数据库的管理工具sqlplus可能会遇到一些操作上的困扰,比如退格键(Backspace)和删除键(Del)在输入SQL语句时失效,反而显示出类似`^H`的乱码字符,这极大地降低了工作效率。此外,有时在...

    Linux Oracle下sqlplus无法使用命令退格删除和历史记录的解决方法(使用rlwrap)

    在Linux环境下,Oracle数据库的管理工具sqlplus在交互式模式下使用时,可能存在无法使用键盘的退格键进行字符删除,以及无法查看和利用历史查询命令的问题。这给数据库管理员在执行SQL语句时带来了不便。然而,通过...

    Linux下Oracle中SqlPlus时上下左右键乱码问题的解决办法

    通过以上步骤,你可以成功解决Linux下Oracle SqlPlus使用时的方向键乱码问题,提高你的工作效率。记住,保持系统更新和正确配置是避免这类问题的关键。如果你遇到其他问题,查阅官方文档或在线社区通常都能找到解决...

    Linux下面使用sqlplus热键冲突

    Linux下面使用sqlplus热键冲突 解决方案包中包括:libtermcap-devel-2.0.8-46.1.i386.rpm rlwrap-0.42.tar.gz readline-devel-5.1-1.1.i386.rpm

    Sqlplus下解决回车键和上下键历史信息问题

    ### Sqlplus下解决回车键和上下键历史信息问题 #### 背景与问题概述 在使用Oracle的命令行工具Sqlplus时,用户可能会遇到一个常见问题:无法使用回车键确认输入或通过上下箭头键访问命令历史记录。这不仅降低了...

    在Linux下安装完Oracle后,上方向键和退格键修改

    通过以上步骤,你就解决了在Linux环境下使用Oracle SQL*Plus时上方向键和退格键无法正常工作的困扰,提高了命令行操作的便利性。rlwrap的使用不仅限于SQL*Plus,还可以应用于其他不支持GNU Readline功能的命令行工具...

    Linux SQLplus 资源包(11g+12c)

    总结来说,这个"Linux SQLplus 资源包(11g+12c)"是Linux环境下搭建Oracle数据库管理环境的实用工具,它提供了两种版本的SQL*Plus,以及安装教程,方便用户根据系统环境和需求选择。通过详细阅读和遵循提供的资源,...

Global site tag (gtag.js) - Google Analytics