Chinaunix首页 | 论坛 | 博客
  • 博客访问: 389323
  • 博文数量: 75
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 645
  • 用 户 组: 普通用户
  • 注册时间: 2015-06-03 18:24
文章分类

全部博文(75)

文章存档

2019年(1)

2018年(20)

2017年(14)

2016年(10)

2015年(30)

分类: 嵌入式

2015-08-26 23:39:27

    window下有快捷方式。而linux却有链接。
    linux的链接分为软链接和硬链接两种。下面来讲讲这两种链接方式的异同点!

1、要将链接方式,首先要创建这两种链接方式

    echo hello world > file      //创建一个file文件,然后将hello world写入该文件中
    ln file file_hardlink            //创建file的硬链接file_hardlink
    ln file file_softlink             //创建file的软链接file_softlink
通过上面的步骤,我们就可以创建一个file文件的软链接和硬链接。

2、通过观察上面的图片,我们是不是发现出一个问题,就是file和file_hardlink的inode都是1083023。这有什么问题吗?我可以做下下面一件事。

我们修改了file_hardlink里面的内容,然后查看file里面的内容。发现内容已经被修改了。

这就说明了一件事。那就是file和file_hardlink其实就是同一个文件file_hardlink只不过是file的一个别名。就好比他名字叫张三,也有人叫他小张,其实小张和张三都是指同一个人。

3、其实我们仔细观察,还会发现另一个问题。那就是为什么file_softlink的大小只有4,而filefile_hardlink的大小都是11.软链接的大小与什么有关系?

下面我们再做一个实验,我们就会明白这是为什么。


软链接就类似于window下的快捷方式。它的大小就是指向文件的字符串长度。file_softlink指向file,所以它的大小是4个字节,file_softlink1指向/home/tay/code/link/file,所以file_hardlink1的大小是24个字节。

4、因为软链接是保存文件的路径名而确定指向的文件,我们就不经会想,如果像file_softlink一样,只要把这个软链接文件移到另一个文件夹,而刚好该文件夹也有file文件。是不是该file_softlink就指向该文件夹的file文件了!不多说了,实践是检验真理的唯一标准。


5、如果用mv指令换成cp呢,会出现什么效果?你们可以去实践下


阅读(1146) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~