背景
虽然很早就明白软连接的作用以及使用场景,但毕竟是偏向开发的技术,不会去经常在服务器上创建文件,并为之配上软连接,如果临时需要创建,一时还想不起来参数该如何写。这次决定做个记录
软连接的作用
给已经存在的文件,创捷一个快捷访问方式,比如一个处于很深层次的文件或者目录,每次访问的时候,写上绝对全路径,是很要命的,如果有快捷访问方式,是不是就爽很多了?是的!
创建软连接
我们用实际例子来说明这一点:
比如有这样一个文件目录,他的绝对路径是:
/home/hadoop/softs/dir1/dir2/dir3/dir4/apache-zookeeper-3.5.7-bin
如果我们每次访问这个目录下的文件,都有写出全路径,是不是得疯掉,何况这么深层次的目录,我们也很难记得住。
这时候给他搞一个软连接
ln -s /home/hadoop/softs/dir1/dir2/dir3/dir4/apache-zookeeper-3.5.7-bin /home/hadoop/zookeeper
这个命令可以让我们每次通过访问 /home/hadoop/zookeeper 就可以访问 /home/hadoop/softs/dir1/dir2/dir3/dir4/apache-zookeeper-3.5.7-bin 了,这下可好记多了,也方便多了!
进入/home/hadoop,执行ls -l命令
[root@hdp01 hadoop]# ls -l
total 0
drwxr-xr-x. 3 root root 18 Mar 10 22:56 softs
lrwxrwxrwx. 1 root root 65 Mar 10 22:59 zookeeper -> /home/hadoop/softs/dir1/dir2/dir3/dir4/apache-zookeeper-3.5.7-bin
发现多了一个zookeeper指向那个很长的目录,这个zookeeper就是我们命令创建的软连接名
进入软连接目录,查看里面的文件:
[root@hdp01 zookeeper]# cd /home/hadoop/zookeeper
[root@hdp01 zookeeper]# ll
total 32
drwxr-xr-x. 2 root root 232 Mar 10 22:55 bin
drwxr-xr-x. 2 root root 77 Mar 10 22:55 conf
drwxr-xr-x. 5 root root 4096 Mar 10 22:55 docs
drwxr-xr-x. 2 root root 4096 Mar 10 22:55 lib
-rw-r--r--. 1 root root 11358 Mar 10 22:55 LICENSE.txt
-rw-r--r--. 1 root root 432 Mar 10 22:55 NOTICE.txt
-rw-r--r--. 1 root root 1560 Mar 10 22:55 README.md
-rw-r--r--. 1 root root 1347 Mar 10 22:55 README_packaging.txt
没有问题,正式我们想访问目录里面的文件!
取消软连接
假如有一天,我们需要通过这个软连接访问其他的文件,比如上面的zookeeper需要升级,我就需要用zookeeper软连接指向更高本版的目录。此时我们需要取消已经存在的软连接,然后再为高版本的zookeeper建立新的软连接
rm -rf /home/hadoop/zookeeper
注意:千万不要写成 /home/hadoop/zookeeper/ ,这会把软连接指向的实际目录下的所有文件都删掉!而没有删除软连接,一定不要多写最后那一个斜杠!