Linux创建软链接命令-ln -s

<

div id=”content” contentScore=”2943″>这是Linux中一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,
 
具体用法是:ln -s 源文件 目标文件。

当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的 目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln -s /bin/less /usr/local/bin/less

-s 是代号(symbolic)的意思。

这 里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又软链接 和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
 
如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls -l命令去察看,就可以看到显示的link的路径了。
 
演示一个实战例子: 

bash: sqlplus: command not found 解决方法 
环境变量已经配好,但是仍报错:
 
[Oracle@dg1 ~]$ vi .bash_profile
 
# .bash_profile
 
# Get the aliases and functions
 if [ -f ~/.bashrc ]; then
        . ~/.bashrc
 fi
 
# User specific environment and startup programs
 
PATH=$PATH:$HOME/bin
 
export PATH
 unset USERNAME
 

export EDITOR=vi
 export ORACLE_SID=dg1
 export ORACLE_BASE=/u01/app/oracle
 export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
 export PATH=/u01/app/oracle/product/10.2.0/db_1/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
 export PATH=$ORACLE_HOME/bin:$PATH
 umask 022
 
解决方法:
 
[oracle@dg1 ~]$ sqlplus /nolog
 bash: sqlplus: command not found
 [oracle@dg1 ~]$ ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
 ln: creating symbolic link /usr/bin/sqlplus' to/bin/sqlplus’: Permission deni ed
 [oracle@dg1 ~]$ su – root
 Password:
 [root@dg1 ~]# ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
 [root@dg1 ~]# su – oracle
 [oracle@dg1 ~]$ sqlplus /nolog
 
SQL*Plus: Release 10.2.0.1.0 – Production on Mon May 11 12:51:24 2009
 
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 
SQL> conn / as sysdba
 Connected to an idle instance.
 SQL> startup
 ORACLE instance started.
 
Total System Global Area  167772160 bytes
 Fixed Size                  1218316 bytes
 Variable Size              79694068 bytes<br