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

简介: 使用oracle数据库,经常要在各种目录切换,有什么好方法在各种目录之间切换呢?自己总结如下:1.使用环境变量:export CDPATH=$ORACLE_HOME:$ORACLE_BASE:$ORACLE_BASE/admin/orcl但是使用环境变量有一个缺点,就是如果当前一个目录有目录与定义的CDPATH环境变量有冲突。
使用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种,感觉更加放心一些^_^。
目录
相关文章
|
30天前
ls 列出目录的内容
ls 列出目录的内容。
10 2
|
数据库管理
[20180619]fsc表示什么.txt
[20180619]fsc表示什么.txt --//上个星期做sys.bootstrap$恢复时,执行verify时出现类似错误. BBED> verify dba 4,547 DBVERIFY - Verification starting FILE = /mnt/ramdisk/book/users01.
1139 0
|
SQL 测试技术 Perl
20180205]为什么是3秒.txt
[20180205]为什么是3秒.txt http://blog.itpub.net/267265/viewspace-2138042/ 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                   ...
1012 0
|
Oracle 关系型数据库 数据库
[20171120]关于find 软连接问题.txt
[20171120]关于find 软连接问题.txt --//上个星期为了测试oracle参数filesystemio_options,将数据库做了一次移动.但是我使用find对软链接目录查询时 --//遇到一些问题做一个记录 1.
1293 0
|
SQL 测试技术 Perl
[20171031]markhot.txt
[20171031]markhot.txt --//昨天看了https://jonathanlewis.wordpress.com/2017/10/02/markhot/,测试看看这样时候可以减少争用.
886 0
|
SQL
[20170825]2038.txt
[20170825]2038.txt --//昨天帮别人解决电脑问题联想到的,对方是主机电池没电,导致启动XP黑屏,重新设置正确的时间后ok. --//这样我想到除了2000年外的2038年的问题,大家知道类unix的os系统计时从'1970/1/1'开始的秒数.
1075 0
|
Oracle 关系型数据库 数据库管理
[20170530]写一致问题.txt
[20170530]写一致问题.txt --//oracle 通过undo等保持读一致性. --//假如一个回话修改1条记录 y字段+1,另外的回话也修改相同记录,y字段+1.
737 0
|
Oracle 关系型数据库 Shell
[20161130]快速进入目录.txt
[20161130]快速进入目录.txt --要建立如下相似链接,便于快速访问 adump -> /u01/app/oracle/admin/${ORACLE_SID}/adump bdump -> /u01/app/oracle/diag/rdbms/$...
729 0