ln和mount的区别

1 篇文章 0 订阅
1 篇文章 0 订阅

ln,顾名思义,link,连接到意思,就是将2个文件连接到一起到意思。不过,linux下的文件连接,有2种,分别叫硬连接和软连接。

举个例子:现在有个文件 A,我又用ln命令创建了文件B和A硬连接,那么,当我删除文件A后,我访问B,其内容和A是一样到–这就是硬连接了!软连接呢?和windows里到快捷方式一样,不用说了吧?两种连接到功能一目了然,不过硬连接只能用在同一个文件分区里,软连接则没有限制。

在内部实现上,硬链接的文件是使用同一个inode结构,每一个硬链接使inode的使用计数加一,删除文件时,使用计数减一,当使用计数为零时,才真正删除文件.

而软链接的文件内,不是存的数据,而是存的一个文件的全路径名,使用此链接时,会根据此路径找到目标文件.这样就会出现这样的问题:目标文件已删除,而链接文件还存在,
则使用链接文件找目标文件时就会失败,这中情况称为 “悬空 “.

mount命令是把一个文件系统,挂载到另一个文件系统上.

它与ln命令的区别:
mount操作的对象是设备;Ln的操作对象是文件; mount操作的不一定是设备,也可以是回接文件.
ln命令与mount有分别吗?
我分了个/date出来 位于/dev/sda11
在home下有ddate文件夹
那么我 ln -s /date /home/ddate
和 mount /dev/sda11 /home/ddate
两种方法都是直接对sda11的数据直接操作,有什么分别吗?
一个是挂载,一个是链接,你说有区别吗?
但这两种方法都是对sda11的数据操作呢,说说有什么实际的分别。那种操作更好?
你的/date是一个文件夹, 而你的/dev/sda11是一个实际硬盘。
ln -s /date /home/ddate实将.date链接到/home/ddate上,相当于你再/home/ddate创建了/ddate的快捷方式。事实上,你能在 ddate上操作sda11,是因为你已经将sda11挂载到了/ddate上。你可以试一下umount /ddate 再看你的/home/ddate是否还有sda11的内容。
mount /dev/sda11 /home/ddate 是将sda11直接挂载到了ddate上
mount取代ln去实现连结档(Symbolic Link)
我们在Linux或者是FreeBSD底下如何建立连结档(Symbolic Link),也就是在Windows底下的快捷方式啦,最重要搞清楚hard link跟soft link就可以了,简单来说,hard link只可以针对档案,不可以对目录,但是soft link就是可以对目录了,因为她就像Windows底下的快捷方式,那在Linux底下,大家常常在玩FTP,一定会碰到需要利用Link的方式,但是如果你利用ln的方式的话,连接ftp,会没办法回到上一层目录,就是有chroot的问题,那底下是我发现可以解决的方法。
在Linux底下,就是利用mount的指令:
mount –bind olddir newdir
在FreeBSD底下,利用mount_nullfs指令
例如:

mv /usr/src /newadd      //连src 目录移动到newadd下
mkdir /usr/src    
mount_nullfs   /newadd/src /usr/src

注意:做了连接以下看有什么变化

cd /usr/src
pwd
/usr/src

很简单吧,大概是这样,FTP就不会出现不能回到上一层目录的问题了
原文地址:http://www.360doc.com/content/16/0622/10/34505423_569738518.shtml

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值