📅  最后修改于: 2023-12-03 15:27:18.331000             🧑  作者: Mango
在 Linux 系统中,我们常常需要对文件进行链接操作,以方便对文件的访问与管理。硬链接和软链接是两种常用的链接方式。
硬链接是指多个文件名指向同一个数据块的链接方式。具有以下特点:
在 Linux 系统中,可以使用 ln
命令来创建硬链接。语法如下:
ln 源文件目录/源文件名 链接后的文件目录/链接后的文件名
例如,我们可以使用以下命令,将文件 file1
创建一个硬链接 file2
:
ln /path/to/file1 /path/to/file2
通过执行 ls -li
命令,可以查看文件的 inode 号和硬链接数量。例如:
$ ls -li /path/to/file1 /path/to/file2
123456 -rw-r--r-- 2 user1 user1 0 Oct 21 18:00 /path/to/file1
123456 -rw-r--r-- 2 user1 user1 0 Oct 21 18:00 /path/to/file2
从上述输出信息可以看到,文件 file1
和 file2
的 inode 号相同,并且链接数量均为 2。
软链接也被称为符号链接,是通过一个指向原文件的快捷方式进行链接的一种方式。具有以下特点:
在 Linux 系统中,可以使用 ln
命令的 -s
选项来创建软链接。语法如下:
ln -s 源文件目录/源文件名 链接后的文件目录/链接后的文件名
例如,我们可以使用以下命令,将文件 file1
创建一个软链接 file2
:
ln -s /path/to/file1 /path/to/file2
通过执行 ls -l
命令,可以查看文件的 inode 号和硬链接数量。例如:
$ ls -l /path/to/file1 /path/to/file2
-rw-r--r-- 1 user1 user1 0 Oct 21 18:00 /path/to/file1
lrwxrwxrwx 1 user1 user1 12 Oct 21 18:00 /path/to/file2 -> /path/to/file1
从上述输出信息可以看到,file2
文件是个软链接,其文件名末尾有箭头 ->
,并且它所指向的是另一个文件(相对或绝对路径均可),这里指向了 file1
。