如何判断文件是否为符号链接?
运行以下 ls 命令:
ls -lt
如果文件是符号链接,我们将看到如下内容:
myshortcut -> myfile
什么是符号链接(软连接)?
符号链接就像从一个文件到另一个文件的快捷方式。
符号链接的内容是链接到的文件或者文件夹的地址。
使用符号链接的好处是我们可以链接到其他分区和其他设备上的文件和文件夹。
硬链接和符号链接的区别在于,硬链接必须针对存在的文件创建,而软链接可以在其指向的文件创建之前创建。
创建符号链接
要创建符号链接,请使用以下语法:
ln -s /path/to/file /path/to/link
如果我们担心覆盖现有链接,请使用 -b 开关,如下所示:
ln -s -b /path/to/file /path/to/link
如果链接存在,此开关会创建链接的备份。
它创建相同的文件名,但末尾有波浪号。
如果存在与符号链接同名的文件,我们将收到错误消息。
使用以下命令强制链接覆盖文件:
ln -s -f /path/to/file /path/to/link
不要在没有 -b 开关的情况下使用 -f 开关,因为我们将丢失原始文件。
收到一条消息,询问我们是否要覆盖存在的文件:
ln -s -i /path/to/file /path/to/link
本文介绍了如何在 Linux 中使用 ln 命令创建符号链接。
Linux创建硬链接和软链接方法
- 创建硬链接: ln /path/to/file /path/to/hardlink 。使用 ls 命令检查有多少文件链接到同一个 inode:ls -lt
- 创建符号链接: ln -s /path/to/file /path/to/link 。避免覆盖现有链接:ln -s -b /path/to/file /path/to/link
- 覆盖现有链接: ln -s -f /path/to/file /path/to/link 。要获得覆盖警报: ln -s -i /path/to/file /path/to/link
Linux 支持两种主要的链接方法:
- 硬链接:链接到 Linux 系统上的实际文件。
- 软链接:类似于 Windows 快捷方式,指向原始文件位置。也称为符号链接。
在 Linux 中如何使用硬链接链接文件?
什么是硬链接?
inode 标识文件系统中的每个文件。
大多数情况下,我们不会使用这个数字,但是当我们创建硬链接时,它的重要性就会显现出来。
硬链接为不同位置的文件分配不同的名称,但它仍然是同一个文件。
将文件链接在一起的关键是 inode 编号。
硬链接的好处在于它们不占用另外的物理硬盘空间。
执行以下命令创建硬链接:
ln /path/to/file /path/to/hardlink
示例:
ln /holidayphotos/BrightonBeach.jpg /kidsphotos/BrightonBeach.jpg
使用 ls 命令检查有多少文件链接到同一个 inode,如下所示:
ls -lt
输出将类似于
-rw-r--r-1 username groupname date filename
输出的第一部分显示了用户的权限,但重要的部分是权限之后和用户名之前的数字。
如果数字为 1,则它是指向特定 inode(即未链接)的唯一文件。
如果数字大于 1,则它由两个或者多个文件硬链接。