你知道吗?在Linux系统中也存在着类似于Windows中快捷方式的东西。可以用ln命令来创建一个快捷方式。
ln命令
用来为文件创建链接,链接类型分为硬链接和符号链接两种,默认的链接是硬链接,如果要创建软连接的话需要用到一个-s
参数。
所以?什么是硬链接什么是软连接呢?
硬链接
通俗的说。假设小王有一个院子,她是院子的主人,在院子里搭建了自己小楼房,这个时候小爱看上了小王的院子,想要搬进来和小王一起住,共用这个院子,但是小王不同意,于是小爱就强制在围墙上再开了一个门,就这样小爱就硬是住了进来。从此小爱也可以在院子里搭建自己的小房子,甚至可以拆掉小王盖的小楼房。但是当小王发现小爱搬进来后,非常生气,他将小爱干了出去,把小爱开的门给封上了。这就是一个完整的故事,下面我来讲解这个故事。
- 首先:小王有一个院子
# 创建一个新文件作为小王的院子
touch /home/wang/wang
- 然后:小爱看上了并且新开了一个门,搬了进来
# 创建一个硬链接为小爱新开一扇门
ln /home/wang/wang /home/ai/wang_ai
那么现在院子就有两个门,一个是小王的一个是小爱的,但是他们的院子是同一个哦。他们可以对原子进行自己想要的整修。
- 一段时间后,小王不喜欢小爱,并把它赶走了,封上了小爱开的门
# 删除硬链接,赶走小爱
rm /home/ai/wang_ai
虽然赶走了小爱,但是,院子还在。只是少了一个门,没有对小王的院子造成什么影响。
所以你明白了吗?
所以硬链接就是,对于同一个文件,新建立了一个入口,更准确的说,是一个进入的路径。所以硬链接一般有一下几个特点:
- 修改任何一个文件,另外一个文件也改变。
- 删除其中一个,另外一个还能用。(其实删除的只是这个入口罢了)
- 硬链接标记不清,不建议使用。
- 硬链接不可以链接目录。(由于目录下会存在子目录子文件,链接要耗费的资源过大)
- 硬链接不可以跨分区链接。
软连接
接着上个故事,赶走小爱之后,院子又重新属于小王一个人了。可以没过几天,小王的朋友klelee,需要在小王家寄宿,小王慷慨的接待了klelee,并为klelee新配了一把钥匙。从此klelee就可以拿着钥匙进门了。
- 首先:院子还是那个院子,门只剩一个了哦。
cat /home/wang/wang
- 给klelee配新钥匙
# 给刘奶奶新建一个家,并把钥匙放在刘奶奶家
ln -s /home/wang/wang /home/klelee/wang_klelee
- 从此两人过上了没羞没臊的生活!故事结束。
所以你明白了吗?
所以软连接就是,只是给另外一个文件一个路径指引,当打开这个文件的时候,会自动指引到原来的文件,然后再进入,使用的是同一个入口。因此软连接有以下特点:
- 修改其中一个另一个跟着改变。因为你修改肯定要打开嘛,当你打开指引文件的时候,你就被自动指引到源文件上了,所以,不管从哪里打开,打开的都是同一个文件。
- 删除源文件,软连接就不可用了,软连接文件里存的是指引向源文件的指针,源文件都不存在了,自然就不能访问了。但是删除软连接,并不会影响源文件。
- 软连接内,无实际内容,只有隐藏的指引。
- 软连接创建的时候一定要使用绝对路径
所以在linux系统中,软连接的形式,就相当于Windows中的快捷方式。