答案是都可以修改
测试
测试命令如下
$ cd /tmp # 所有人都有rwx权限
$ touch test.txt
$ vim test.txt #写入: this is the test file
$ ln test.txt hardlink.txt #硬链接
$ ln -s test.txt symboliclink.txt #符号链接
$ vim symboliclink.txt # 换行写入symboliclink writes
$ tail test.txt # 可以修改
$ vim hardlink.txt # 换行写入hardlink writes
$ tail test.txt # 可以修改
执行结果如下:
硬链接和符号链接的相同点:
- 都可以修改原文件:硬链接是在inode层面上去修改inode记录的数据区块,修改其中一个硬连接文件则所有文件都会被同步修改;符号链接作为“快捷方式”修改的是它所存放的链接并通过链接打开的原文件
硬链接和符号链接的不同点
- 建立链接之后再删除原文件则符号链接失效,但是硬链接不会失效:符号链接失效的原理与“快捷方式”相同,硬链接不失效是因为已经建立了inode到数据区块的链接;
- 读取权限不同:硬链接的权限和原文件的权限相同,符号链接的权限是777(rwxrwxrwx);
- 文件类型不同:硬链接是普通文件(-),符号链接是链接文件(l);
- 占用空间不同:硬链接不产生inode和数据区块,符号链接会占用inode和区块,因此硬链接不占用任何空间,而符号链接占用的空间大小就是链接的大小(比如’/home/user/'有11个字母,所以相应的符号链接应该占用了11个Byte)
硬链接的限制:
- 不能链接跨文件系统的文件
- 不能连接目录:目录中的文件都要建立硬链接。
软链接的限制:
- 创建软连接的时候最好使用绝对路径创建,这样创建好的软连接,移动到其他目录下依然有效,若用相对路径创建则无效。