linux软连接绝对路径的区别,linux软连接硬连接的区别

本文介绍了Linux/UNIX系统中硬链接和软链接的区别。硬链接无法链接目录,不能跨越文件系统边界,而软链接(符号链接)可以。创建软链接的命令是`ln -s`。当源文件被移动或删除时,硬链接仍然指向它,而软链接则不再更新。通过示例展示了如何创建和删除软链接。
摘要由CSDN通过智能技术生成

Inodes are associated with precisely one directory entry at a time. However, with hard links it is possible to associate multiple directory entries with a single inode. To create a hard link use ln command as follows:

# ln /root/file1 /root/file2

# ls -l

Above commands create a link to file1. Symbolic links refer to:

A symbolic path indicating the abstract location of another file.

Hard links refer to:

The specific location of physical data.

Hard link vs. Soft link in Linux or UNIX

Hard links cannot link directories.

Cannot cross file system boundaries.

Soft or symbolic links are just like hard links. It allows to associate multiple filenames with a single file. However, symbolic links allows:

To create links between directories.

Can cross file system boundaries.

These links behave differently when the source of the link is moved or removed.

Symbolic links are not updated.

Hard links always refer to the source, even if moved or removed.

How do I create symbolic link?

You can create symbolic link with ln command:

$ ln -s /path/to/file1.txt /path/to/file2.txt

$ ls -ali

Above command will create a symbolic link to file1.txt.

Task: Symbolic link creation and deletion

Let us create a directory called foo, enter:

$ mkdir foo

$ cd foo

Copy /etc/resolv.conf file, enter:

$ cp /etc/resolv.conf .

View inode number, enter:

$ ls -ali

Sample output:

total 152

1048600 drwxr-xr-x 2 vivek vivek 4096 2008-12-09 20:19 .

1015809 drwxrwxrwt 220 root root 143360 2008-12-09 20:19 ..

1048601 -rwxr-xr-x 1 vivek vivek 129 2008-12-09 20:19 resolv.conf

Now create soft link to resolv.conf, enter:

$ ln -s resolv.conf alink.conf

$ ls -ali

Sample output:

total 152

1048600 drwxr-xr-x 2 vivek vivek 4096 2008-12-09 20:24 .

1015809 drwxrwxrwt 220 root root 143360 2008-12-09 20:19 ..

1048602 lrwxrwxrwx 1 vivek vivek 11 2008-12-09 20:24 alink.conf -> resolv.conf

1048601 -rwxr-xr-x 1 vivek vivek 129 2008-12-09 20:19 resolv.conf

The reference count of the directory has not changed (total 152). Our symbolic (soft) link is stored in a different inode than the text file (1048602). The information stored in resolv.conf is accessible through the alink.conf file. If we delete the text file resolv.conf, alink.conf becomes a broken link and our data is lost:

$ rm resolv.conf

$ ls -ali

If alink.conf was a hard link, our data would still be accessible through alink.conf. Also, if you delete the soft link itself, the data would still be there. Read man page of ln for more information.

Continue reading rest of the Understanding Linux file system series (this is part VI):

Part I - Understanding Linux superblock

Part II - Understanding Linux superblock

Part III - An example of Surviving a Linux Filesystem Failures

Part IV - Understanding filesystem Inodes

Part V - Understanding filesystem directories

Part VI- Understanding UNIX/Linux symbolic (soft) and hard links

Part VII - Why isn't it possible to create hard links across file system boundaries?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值