linux 中的ln命令

比如当前目录如下:

/var/

目标目录:

/usr/test1

想在当前目录建一个test链接,链接到目标目录的test1上,命令如下:

ln -s /usr/test1 test

这样儿链接了之后,进入当前目录的test之后就可以直接进入目标目录了。。。。

最后通过ls -ltr命令查看当前目录,显示如下:

lrwxrwxrwx  1 xxxx xxxx   19 2011-11-09 16:52 test -> /usr/test1

如果我想改变当前目录中的test->/usr/test1 链接为newtest->/usr/test1:

操作如下:

$ rm -fr test;ln -s /usr/test1 newtest

最终显示如下:

lrwxrwxrwx  1 xxxx xxxx   19 2011-11-09 17:07 newtest -> /usr/test1

关于ln命令的介绍:

ln 这是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的路径了。

相关推荐