Linux 中创建软链接和硬链接

基于 Linux 的操作系统中的链接指向文件或目录。 链接允许多个文件名引用同一文件。 有两种类型的链接,软链接和硬链接。 简单来说,软链接是指向原始文件的实际链接,而硬链接是原始文件的镜像副本。

如果删除原始文件。 我们无法通过其软链接访问其内容。 另一方面,如果我们删除原始文件,我们仍然可以通过其硬链接访问其内容。 硬链接具有相同的 inode 号和文件权限,而软链接具有不同的 inode 号和文件权限。

在这篇文章中,我们将向我们展示 Linux 中创建软链接和硬链接。

先决条件

  • 云平台上的全新 Ubuntu 20.04 服务器
  • 在我们的服务器上配置的 root 密码

创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 Ubuntu 20.04 作为至少 2GB RAM 的操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

登录到 Ubuntu 20.04 服务器后,运行以下命令以使用最新的可用软件包更新基本系统。

apt-get update -y

创建软链接

首先,使用以下命令创建一个名为 softlink 的目录:

mkdir softlink

接下来,创建一个名为 normal_link.txt 的文件:

cd softlink
echo "This is a softlink" > normal_link.txt

接下来,创建文件 normal_link.txt 的软链接:

ln -s normal_link.txt soft_link.txt

现在,检查两个文件的内容:

cat normal_link.txt

输出:

This is a softlink

cat soft_link.txt

输出:

This is a softlink

如我们所见,两个文件具有相同的内容。

现在,检查两个文件的 inode 号和权限:

ls -lia

我们应该看到两个文件具有不同的 inode 编号和权限。

15866192 drwxrwxr-x  2 vyom vyom 4096 Apr 19 15:10 .
15466497 drwxrwxrwt 13 root root 4096 Apr 19 15:10 ..
15866186 -rw-rw-r--  1 vyom vyom   19 Apr 19 15:09 normal_link.txt
15866189 lrwxrwxrwx  1 vyom vyom   15 Apr 19 15:10 soft_link.txt -> normal_link.txt

现在,使用以下命令删除原始文件:

rm -rf normal_link.txt

现在,检查软链接文件的内容:

cat soft_link.txt

输出:

cat: soft_link.txt: No such file or directory

如我们所见,没有这样的文件或目录。

如果要删除软链接,请运行以下命令:

unlink soft_link.txt

创建硬链接

首先,使用以下命令创建一个名为 hardlink 的目录:

mkdir hardlink

接下来,使用以下命令创建一个名为 normal_link.txt 的文件:

cd hardlink
echo "This is a hard link" > normal_link.txt

接下来,使用以下命令创建文件的硬链接:

ln normal_link.txt hard_link.txt

现在,检查两个文件的内容:

cat normal_link.txt

输出:

This is a hard link

cat hard_link.txt

输出:

This is a hard link

接下来,检查两个文件的 inode 和权限:

ls -lia

我们应该看到两个文件具有相同的 inode 和权限:

15866186 drwxrwxr-x  2 vyom vyom 4096 Apr 19 15:16 .
15466497 drwxrwxrwt 14 root root 4096 Apr 19 15:16 ..
15866190 -rw-rw-r--  2 vyom vyom   20 Apr 19 15:16 hard_link.txt
15866190 -rw-rw-r--  2 vyom vyom   20 Apr 19 15:16 normal_link.txt

现在,尝试在原始文件中添加一些内容:

echo "I am adding some content" >> normal_link.txt

现在,检查硬链接的内容:

cat hard_link.txt

我们应该看到我们对原始文件所做的更改在两个文件中都得到了更新。

This is a hard link
I am adding some content

现在,删除原始文件:

rm -rf normal_link.txt

现在,检查硬链接的内容:

cat hard_link.txt

我们仍然应该看到文件的内容:

This is a hard link
I am adding some content

如果要删除硬链接,请运行以下命令:

unlink hard_link.txt

在上面的指南中,我们学习了 Linux 上创建软链接和硬链接。 尝试使用 在我们的 VPS 托管帐户上创建软链接和硬链接!

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论