在Linux或Unix中如何创建硬链接
时间:2019-11-20 08:53:17 来源:igfitidea点击:
在Linux/UNIX/Apple Mac OS X/BSD操作系统中如何使用命令创建硬链接?
Linux/UNIX都允许文件的数据在同一文件系统中的不同位置具有多个名称。对于同一数据,具有多个名称的此类文件称为硬链接文件。硬链接到文件与原始目录条目没有区别。对文件的任何更改实际上都独立于用于引用文件的名称。硬链接通常可能不指向目录,并且可能不会跨越文件系统。
如何在Linux或Unix中创建硬链接
- 创建硬链接
ln sfile1file link1file
- 创建符号链接(软链接)
ln -s source link
- 查看软链接或硬链接
ls -l source link
。
在Linux上创建硬链接
ln命令用于在文件之间建立链接。
默认情况下,ln创建的是硬链接。
ln命令语法
Unix/Linux创建硬链接命令的语法如下:
ln {source} {link} ln /path/to/source /path/to/link ln target link ln target directory
其中
- source是一个现有文件。
- link是要创建的文件(硬链接)。
为foo文件创建硬链接:
echo 'This is a test' > foo ln foo bar ls -li bar foo
输出示例:
21233953 -rw-r--r-- 2 root root 15 Oct 1 15:30 bar 21233953 -rw-r--r-- 2 root root 15 Oct 1 15:30 foo
其中:
- 21233953:Inode。可以看到inode是相同的。
- 2:文件的硬链接数显示在第三栏中。说明有两个文件名执行这块数据
如何在Linux或Unix上删除硬链接?
rm命令用于删除Linux或Unix上的文件,包括硬链接。
但是,只要还存在另一个硬链接,数据仍然可以访问。
要清除数据,必须删除所有硬链接。
使用rm命令:
rm bar ls -li bar foo rm foo ls -li bar foo
Linux和Unix上的硬链接限制
大多数现代操作系统不允许在目录上进行硬链接,以防止无限递归。硬链接的另一个缺点是它们必须位于同一文件系统中
如何在Linux或Unix中创建符号链接(软链接)
语法如下:
ln -s source link ln -s /path/to/foo/ /path/to/link ln -v /path/to/foo/ /path/to/link
创建两个软链接:
$ ln -sv test bar $ ln -sv test foo
验证一下:
$ ls -li test bar foo