ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [20120207]快速进入各种目录.txt

[20120207]快速进入各种目录.txt

原创 Linux操作系统 作者:lfree 时间:2012-02-08 10:39:50 0 删除 编辑
使用oracle数据库,经常要在各种目录切换,有什么好方法在各种目录之间切换呢?自己总结如下:

1.使用环境变量:

export CDPATH=$ORACLE_HOME:$ORACLE_BASE:$ORACLE_BASE/admin/orcl

但是使用环境变量有一个缺点,就是如果当前一个目录有目录与定义的CDPATH环境变量有冲突。会优先选择CDPATH的目录路径。

例子:
假设:
admin目录在$ORACLE_HOME/sqlplus/以及$ORACLE_BASE有存在,如果当前目录在$ORACLE_HOME/sqlplus/
cd admin
实际上进入的是$ORACLE_BASE目录。

[ /u01/app/oracle/product/10.2.0/db_1/sqlplus 10]$ cd admin/
/u01/app/oracle/admin

当然解决方法也很简单,修改CDPATH加入.在开头:
export CDPATH=.:$ORACLE_HOME:$ORACLE_BASE:$ORACLE_BASE/admin/orcl
或者打入命令是修改为 cd ./admin/

2.把经常要进入的目录修改为环境变量,为了方便使用以及冲突,我使用小写变量,而且最好简洁好记:

#directory env variable
export b=$ORACLE_BASE
export h=$ORACLE_HOME
export c=$ORA_CRS_HOME
export netadmin=$ORACLE_HOME/network/admin
export bdump=$ORACLE_BASE/admin/$ORACLE_SID/bdump
export udump=$ORACLE_BASE/admin/$ORACLE_SID/udump
export dbs=$ORACLE_HOME/dbs

--进入$ORACLE_HOME/dbs,cd $odbs.
--我曾经与一位同业者讨论这个问题,按照他的道理连美元$都不想输入,可以在登录时执行如下:
shopt -s cdable_vars
--这样就可以直接打入,这样cd odbs进入了。不过我觉得这样这样很容易冲突或者理解错误,我个人不建议使用!
--这样就产生了第3种方法。

3.建立别名:[注意一点:别名最好建立在.bashrc文件中,这样在x window也能正常使用]
#directory alias
alias b='cd $ORACLE_BASE'
alias h='cd $ORACLE_HOME'
alias c='cd $ORA_CRS_HOME'
alias netadmin='cd $ORACLE_HOME/network/admin'
alias dump='cd $ORACLE_BASE/admin/$ORACLE_SID/bdump'
alias udump='cd $ORACLE_BASE/admin/$ORACLE_SID/udump'
alias dbs='cd $ORACLE_HOME/dbs'

4.使用ln建立这些目录的链接,集中放在一个目录便于进入:
mkdir ~/fastlink
使用ln建立如下链接:

ls -l
total 0
lrwxrwxrwx  1 oracle oinstall 21 Nov 10  2009 admin -> /u01/app/oracle/admin
lrwxrwxrwx  1 oracle oinstall 32 Nov 10  2009 bdump -> /u01/app/oracle/admin/orcl/bdump
lrwxrwxrwx  1 oracle oinstall 39 Nov 10  2009 dbs -> /u01/app/oracle/product/10.2.0/db_1/dbs
lrwxrwxrwx  1 oracle oinstall 49 Nov 10  2009 net -> /u01/app/oracle/product/10.2.0/db_1/network/admin
lrwxrwxrwx  1 oracle oinstall 15 Nov 10  2009 oracle_base -> /u01/app/oracle
lrwxrwxrwx  1 oracle oinstall 35 Nov 10  2009 oracle_home -> /u01/app/oracle/product/10.2.0/db_1
lrwxrwxrwx  1 oracle oinstall 41 Nov 10  2009 rdbms -> /u01/app/oracle/product/10.2.0/db_1/rdbms
lrwxrwxrwx  1 oracle oinstall 32 Nov 10  2009 udump -> /u01/app/oracle/admin/orcl/udump

但是这个有一个缺点,提示符号显示的是链接目录:
[~/fastlink ]$ cd udump
[~/fastlink/udump ]$ cd -P .
[/u01/app/oracle/admin/orcl/udump ]$

解决方法很简单再建立一个别名
alias cdp='cd -P $1'

这样可以使用它来代替cd命令。你自己可以根据工作的需要在fastlink目录中加入自己经常要进入的目录链接,方便自己的工作。

总结:
    到底那种方法好!我个人谈不上,我实际上4中方法都在用,我个人使用的最多的是第4种,感觉更加放心一些^_^。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-715812/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    2485
  • 访问量
    6290160