Linux命令-文件处理命令:ln

ln -s /etc/issue /tmp/issue.soft  为这个/etc/issue文件创建一个软连接,名称为/tmp/issue.soft(相当于windows里面给/etc/issue文件创建一个快捷方式,名称为/tmp/issue.soft)
ln /etc/issue /tmp/issue.hard     为这个/etc/issue文件创建一个硬连接,名称为/tmp/issue.hard(相当于windows里面复制文件,但不同的是硬连接支持同步更新)

ls -l /etc/issue         查看源文件/etc/issue的长格式信息
ls -l /tmp/issue.soft    查看软连接文件issue.soft的长格式信息,就能看到软连接的信息

注意:在linux系统中所有的软连接权限显示的时候都是rwxrwxrwx,但是执行软连接的时候一定要看它对应的源文件是否有相应的操作权限。如,要看/etc/issue文件的权限。

ls -l /etc/issue    查看issue文件长格式信息
ls -l /tmp/issue.hard    查看issue.hard硬连接长格式信息

 

注意:两个文件详细信息的区别只有位置不同,其他全部相同,好比:cp -p 这个复制命令一样。但是和cp -p命令复制的文件有什么区别呢?那就是同步更新

echo "wangyunpeng" >> /etc/issue   将wangyunpeng字符串内容写入到etc目录中的issue文件末尾。

cat /etc/issue    查看源文件内容
cat /tmp/issue.hard   查看硬连接文件内容(它们之间是同步更新的)

cat /tmp/issue.soft   查看软连接文件内容

下面演示软连接和硬连接的区别:

cp -p /etc/issue /tmp/issue.bak   将etc目录下面的issue文件复制到tmp目录下面起名叫issue.bak
rm -f /etc/issue 强制删除etc目录下面的issue文件
cat /etc/issue  查看etc目录下面的文件内容,答案是没有了
cat /tmp/issue.soft  查看tmp目录下面的软连接issue.soft文件内容,答案也是没有了
cat /tmp/issue.hard  查看tmp目录下面的硬连接issue.hard文件内容,答案是有内容的(硬连接的文件还会保存下来)

ls -l /tmp/issue.soft  查看软连接长格式信息,指向源文件那里会有闪烁的现象

接下来,将tmp中的issue文件创建它的硬连接、软连接,以及查看它们三个文件的标示信息

cd /tmp   切换tmp目录
ls   显示当前目录的内容
ln issue.bak issue.bak.hard   创建硬连接
ln -s issue.bak issue.bak.soft   创建软连接
ls -i issue.bak issue.bak.hard issue.bak.soft  查看三个文件的标识信息

所以这也是为什么硬连接可以同步更新,就是因为在linux内核中它们的标示号是相同的。

硬连接的好处就是:实时备份,删除一个文件,不会影响另外一个文件。缺点是:不同一个磁盘分区之间不能创建硬连接

ln /tmp/issue.bak  /boot/issue.bak.hard  tmp分区和boot分区是两个不同的磁盘分区

但是软连接是可以的

ln -s /tmp/issue.bak /boot/issue.bak.soft 创建在两个不同分区上的软连接是可以的
ls -l /boot/issue.bak.soft   查看软连接长格式

缺点二:硬连接不可以针对目录创建的

ln /tmp /home/tmp.hard   将tmp目录创建硬连接到home目录下面,并修改名称为tmp.hard 是不可以的

但是软连接是可以的

ln -s /tmp /home/temp.soft  将tmp目录创建软连接到home目录下面,并修改名称为temp.soft
ls -rl /home/temp.soft  查看软连接目录temp.soft的长格式信息

提示:删除软连接文件,不会删除源文件。

posted @ 2015-03-07 13:16  —八戒—  阅读(724)  评论(0编辑  收藏  举报