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  使配置生效

完成!

最新文章

  1. linux安装pip
  2. lucene教程简介
  3. android 弹出日期选择框
  4. C#模拟键盘鼠标事件 SendKeys 的特殊键代码表(转)
  5. 真正解决ASP.NET每一个页面首次访问超级慢的问题 (转载)
  6. LDR伪指令与ADR伪指令的区别
  7. 工作流设计参考(包括PHP实现)
  8. C# 连接 Access 数据库
  9. 在配置wem.xml后,Tomcat遇到问题,启动失败的解决方法
  10. sql server2008数据库迁移的两种方案
  11. VS2017中用C#调试DLL
  12. 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题
  13. 【数论】Prime Time UVA - 10200 大素数 Miller Robin 模板
  14. LeetCode 590 N-ary Tree Postorder Traversal 解题报告
  15. 【转】网段,子网掩码,网络标识,IP划分
  16. Kubernetes集群安全配置案例
  17. win10 安装oracle 11gR2_database出现universal Installer后闪退就没反应的解决方案
  18. Yii2邮箱发送与配置
  19. 菜鸟笔记 -- Chapter 6.4.3 多态
  20. Kudu安装前的建议说明(博主推荐)

热门文章

  1. 【DRF框架】路由组件
  2. PS批量制作获奖证书并导出PNG
  3. 使用aop注解实现表单防重复提交功能
  4. ElasticSearch 连载一 基础入门
  5. 重新编程Hexiwear Docking Station扩展坞
  6. LINUX 新手 入门 教程
  7. JS中map、some、every、filter方法
  8. 用vue开发一个所谓的数独
  9. SQL:SQL Broker
  10. 动态 DP 总结