Linux alias命令用于设置指令的别名。

用户可利用alias,自定指令的别名。若仅输入alias,则可列出目前所有的别名设置。alias的效力仅及于该次登入的操作。若要每次登入是即自动设好别名,可在.profile或.cshrc中设定指令的别名。

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

可以下载rlwrap包从inthirties里。
这个包依赖readline包,这个包也可以下载
http://inthirties.com:90/thread-1061-1-1.html  

然后解压
由于rlwrap依赖readline包,我们先安装readline包
#gunzip readline-6.1.tar.gz
#tar -xf readline-6.1.tar
#cd readline-6.1
#./configure
#make install
安装以后,我们可以安装rlwrap叻

#gunzip rlwrap-0.30.tar.gz
#tar -xf rlwrap-0.30.tar
#cd rlwrap-0.30
#./configure
#make install
现在rlwrap就已经安装到我们的linux里。

我们可以用rlwrap sqlplus执行试试,好悲惨哟,好像有错误
rlwrap: error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory

报错哟,别着急,这里其实这里是.so库没有load到,

你可以修改/etc/ld.so.conf,设置我们so库的load路径
先找到这个libreadline.so.6的路径
find / -iname libreadline.so.6
/usr/local/lib/libreadline.so.6
在最后的一行下加上/usr/local/lib就可以叻,这里的
include ld.so.conf.d/*.conf
/usr/local/lib

加入要重启生效,不过我们也可以执行ldconfig即时生效

现在我们在试试lrwrap sqlplus命令,是不是很爽呀。

不过每次在前面要多输入lrwrap,确实有些不习惯了,都习惯直接sqlplus,以后要是加上lrwrap也太不习惯了。

解决方法用alias命令就可以叻
alias sqlplus="rlwrap sqlplus"
alias rman="rlwrap rman"

可以在启动文件里加入一上两句,就尅直接的sqlplus,
---------------------

Options:
  -a[password:]              --always-readline[=password:]
  -A                         --ansi-colour-aware
  -b  <chars>                --break-chars=<chars>
  -c                         --complete-filenames
  -C  <name|N>               --command-name=<name|N>
  -D  <0|1|2>                --history-no-dupes=<0|1|2>
  -f  <completion list>      --file=<completion list>
  -g  <regexp>               --forget-matching=<regexp>
  -h                         --help
  -H  <file>                 --history-filename=<file>
  -i                         --case-insensitive
  -I                         --pass-sigint-as-sigterm
  -l  <file>                 --logfile=<file>
  -n                         --no-warnings
  -N                         --no-children
  -o                         --one-shot
  -O  <regexp>               --only-cook=<regexp>
  -p[colour]                 --prompt-colour[=colour]
  -P  <input>                --pre-given=<input>
  -q  <chars>                --quote-characters=<chars>
  -m[newline substitute]     --multi-line[=newline substitute]
  -r                         --remember
  -R                         --renice
  -v                         --version
  -s  <N>                    --histsize=<N> (negative: readonly)
  -S  <prompt>               --substitute-prompt=<prompt>
  -t  <name>                 --set-term-name=<name>
  -w  <N>                    --wait-before-prompt=<N> (msec, <0  : patient mode)
  -z  <filter command>       --filter=<filter command>

bug reports, suggestions, updates:
http://utopia.knoware.nl/~hlub/uck/rlwrap/

为 lrwrap sqlplus 命令添加别名:

[root@pbr-svr1 rlwrap-0.37]# vi /home/oracle/.bash_profile

添加

alias sqlplus='rlwrap sqlplus'

alias rman='rlwrap rman'
---------------------

alias命令的用法:

1.显示当前设置的所有别名:

2.只显示某个别名代表的含义可输入alias name,比如:

3.为命令设置别名可输入alias 新命令='原命令 选项/参数',比如:

4.取消命令别名

5.一次执行多个命令

希望进行如下操作:

1.进入目录/root

2.查看目录下文件

3.切换回根目录/。

通常这需要三条命令 cd /root、ls、cd / ,如果需要经常使用那么我们可以通过自定义命令的方式用一条命令完成全部操作

a.首先使用命令 type 自定义命令名 ,查看自定义命令名是否被系统占用。从图中可以看出test命令名已被系统占用,所以不能使用,而loo这个命令名经查询可以使用。

b.使用命令alias创建自定义命令:alias loo='cd /root;ls;cd /' 。需要注意的是命令的使用格式,分号与分号之间是没有空格的。

c.测试一下自定义命令,当输入命令 loo 时,发现系统依次完成了 cd /root、ls、cd / 三条命令,说明设置成功。

同时也可直接使用命令 alias  查询系统中是否添加了loo这个自定义命令。

d.如果希望删除这个自定义命令,可以使用命令 unalias 自定义命令名 来完成。执行之后发现,loo命令已不存在,同时自定义命令库中也没有loo命令。

通过这种方式设置的别名命令只对当前登录环境下有效,退出后重新登录就无效了,如何才能使别名命令一直有效呢,

那就是修改rc配置文件,把设置别名的过程加入到系统启动后初始化用户的脚本中, 用户只需要修改 ~/.bashrc文件, 加入你要设置的别名命令即可

想要添加一个命令 oo  输入oo就能直接进入/mnt/hgfs/D/work/project/ASID/5.code/trunk/ASID/ASID/wms目录

方法:vi /etc/bashrc

在文件末尾添加alias oo='cd /mnt/hgfs/D/work/project/ASID/5.code/trunk/ASID/ASID/wms/'并保存退出

执行source /etc/bashrc  使配置生效

完成!

SQL中如何使用方向键——lrwrap的更多相关文章

  1. SQL中Round(),Floor(),Ceiling()函数的浅析

    项目中的一个功能模块上用到了标量值函数,函数中又有ceiling()函数的用法,自己找了一些资料,对SQL中这几个函数做一个简单的记录,方便自己学习.有不足之处欢迎拍砖补充 1.round()函数遵循 ...

  2. 关于sql中in 和 exists 的效率问题,in真的效率低吗

    原文: http://www.cnblogs.com/AdamLee/p/5054674.html 在网上看到很多关于sql中使用in效率低的问题,于是自己做了测试来验证是否是众人说的那样. 群众: ...

  3. 学习sql中的排列组合,在园子里搜着看于是。。。

    学习sql中的排列组合,在园子里搜着看,看到篇文章,于是自己(新手)用了最最原始的sql去写出来: --需求----B, C, F, M and S住在一座房子的不同楼层.--B 不住顶层.C 不住底 ...

  4. SQL中distinct的用法

    SQL中distinct的用法   1.作用于单列 2.作用于多列 3.COUNT统计 4.distinct必须放在开头 5.其他 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出 ...

  5. hibernate中java类的成员变量类型如何映射到SQL中的数据类型变化

    hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型 在从Hibernate的java的成员类型映射到SQL中的数据类型,其内映射方式它满足,SQL可以自己调制 ...

  6. C#调用SQL中的存储过程中有output参数,存储过程执行过程中返回信息

      C#调用SQL中的存储过程中有output参数,类型是字符型的时候一定要指定参数的长度.不然获取到的结果总是只有第一字符.本人就是由于这个原因,折腾了很久.在此记录一下,供大家以后参考! 例如: ...

  7. sql中case when语句的使用-来自网摘文章

    Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...

  8. SQL中inner join、outer join和cross join的区别

    对于SQL中inner join.outer join和cross join的区别简介:现有两张表,Table A 是左边的表.Table B 是右边的表.其各有四条记录,其中有两条记录name是相同 ...

  9. SQL中对于两个不同的表中的属性取差集except运算

    SQL中对两个集合取差集运算,使用except关键字,语法格式如下: SELECT column_name(s) FROM table_name1 EXCEPT SELECT column_name( ...

随机推荐

  1. Vue指令之`v-bind`的三种用法及v-on事件指令

    v-bind:是 Vue中,提供的用于绑定属性的指令 1. 直接使用指令`v-bind` 2. 使用简化指令`:` 3. 在绑定的时候,拼接绑定内容:`:title="btnTitle + ...

  2. Python memory error的问题

    前段时间在读取一个文件的过程中,竟然出现了Memory Error!简直让我怀疑自己买了个假电脑,毕竟是8G内存i7处理器,一度怀疑自己装了假的内存条....下面说一下几个解题步骤....一般就是用下 ...

  3. 每日一题-——LeetCode(46)全排列

    题目描述: 给定一个没有重复数字的序列,返回其所有可能的全排列.输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1] ...

  4. Nginx服务rewrite模块功能说明 网站自动跳转功能

    实现域名地址信息跳转,用于做伪静态地址 www.impkk.com/oldboy?edu.html 动态地址 www.impkk.com/oldboy-edu.html 伪静态地址 rewrite ^ ...

  5. Tensorflow&CNN:裂纹分类

    版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/90478551 - 写在前面 本科毕业设计终于告一段落了.特 ...

  6. VGG网络的Pytorch实现

    1.文章原文地址 Very Deep Convolutional Networks for Large-Scale Image Recognition 2.文章摘要 在这项工作中,我们研究了在大规模的 ...

  7. G1垃圾收集器官方文档透彻解读【官方解读】

    在前几次中已经对G1的理论进行了一个比较详细的了解了,对于G1垃圾收集器最权威的解读肯定得上官网,当咱们将官网的理解透了,那基本上网上对于G1的说明其实最终都是来自于官网,所以接下来会详细来解读Ora ...

  8. mybatis3.0-[topic10-14] -全局配置文件_plugins插件简介/ typeHandlers_类型处理器简介 /enviroments_运行环境 /多数据库支持/mappers_sql映射注册

    mybatis3.0-全局配置文件_   下面为中文官网解释 全局配置文件的标签需要按如下定义的顺序: <!ELEMENT configuration (properties?, setting ...

  9. master-worker常驻型程序代码修改哪些需要重启master或者worker

    之前在yii的项目里用redis作为消息队列,现在很多任务需要延迟需求,于是把之前redis的消息队列替换成了rabbitmq 于是使用yii的yii2-queue这个组件 但是由于提供的yii qu ...

  10. MySQL 空间数据 简单操作

    在做的项目中需要,自己绘制区域图形,并存储起来,后面还有更新的需要,存文件不方面,想到现在数据库都支持空间数据库. 现在用的就是 MySQL ,就继续用 MySQL 来存储.管理空间数据.下面就做一些 ...