欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ln - make links between files

程序员文章站 2022-03-11 16:24:08
...

ln - make links between files

Linux ln 命令的功能是为某一个文件在另外一个位置建立一个同步的链接。

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用 ln 命令链接 (link) 它就可以,不必重复的占用磁盘空间。

1. SYNOPSIS

       ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
       ln [OPTION]... TARGET                  (2nd form)
       ln [OPTION]... TARGET... DIRECTORY     (3rd form)
       ln [OPTION]... -t DIRECTORY TARGET...  (4th form)

ln [参数] [源文件或目录] [目标文件或目录]
ln -sf a b ==== b —> a ==== b 指向 a

synopsis [sɪ'nɒpsɪs]:n. 概要,大纲

2. DESCRIPTION

In the 1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form, create a link to TARGET in the current directory. In the 3rd and 4th forms, create links to each TARGET in DIRECTORY. Create hard links by default, symbolic links with --symbolic. By default, each destination (name of new link) should not already exist. When creating hard links, each TARGET must exist. Symbolic links can hold arbitrary text; if later resolved, a relative link is interpreted in relation to its parent directory.
在第 1 种形式中,创建一个名为 LINK_NAME 的 TARGET 链接。在第 2 种形式中,在当前目录中创建指向 TARGET 的链接。在第 3 和第 4 种形式中,创建指向 DIRECTORY 中每个 TARGET 的链接。默认情况下创建硬链接,使用 --symbolic 创建符号链接。默认情况下,每个目标 (新链接的名称) 不应该已存在。创建硬链接时,每个 TARGET 必须存在。符号链接可以包含任意文本。如果稍后解析,则相对于其父目录解释相对链接。

Linux 文件系统中,有所谓的链接 (link),我们可以将其视为档案的别名,而链接又可分为两种:硬链接 (hard link) 与软链接 (symbolic link)。硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁盘空间。

软链接:

  1. 软链接,以路径的形式存在。类似于 Windows 操作系统中的快捷方式。
  2. 软链接可以跨文件系统,硬链接不可以。
  3. 软链接可以对一个不存在的文件名进行链接。
  4. 软链接可以对目录进行链接。

硬链接:

  1. 硬链接,以文件副本的形式存在。但不占用实际空间。
  2. 不允许给目录创建硬链接。
  3. 硬链接只有在同一个文件系统中才能创建。

-s, --symbolic
make symbolic links instead of hard links (制作符号链接而不是硬链接)

-‌-help
display this help and exit (显示此帮助并退出)

-‌-version
output version information and exit (输出版本信息并退出)

-P, --physical
make hard links directly to symbolic links (直接将符号链接硬链接)

-v, --verbose
print name of each linked file (打印每个链接文件的名称)

-f, --force
remove existing destination files (删除现有目标文件,强制执行)

-r, --relative
create symbolic links relative to link location (创建相对于链接位置的符号链接)