ln 创建链接文件

ln

在文件之间创建链接。链接有硬链接、软链接之分。软链接(soft link)也就是符号连接(symbolic link)。

使用形式

  • ln [option]... [-T] target link_name:用link_name创建一个链接到target。
  • ln [option]... target:在当前目录下创建一个链接到target。
  • ln [option]... target... directory:为directory目录下的每个target创建链接。
  • ln [option]... -t directory target...:为directory目录下的每个target创建链接。

默认创建硬链接,用 --symbolic-s 选项创建软链接。
当创建硬链接时,每个target必须存在。软链接可以持有任意的文本(指向目的文件的路径),即使target不存在。

选项

  • -s, --symbolic:创建软链接,而不是硬链接。
  • -f, --force:移除已经存在的目的文件。
  • -i, --interactive:提示是否移除目的文件。
  • -P, --physical:创建链接文件到链接文件所指向的文件。
  • -t, --target-directory=DIRECTORY:在制定目录下创建链接文件。
  • -T, --no-target-directory:把 link_name 作为普通文件对待。
  • --backup[=CONTROL]:为每个目的文件创建一个备份(创建链接而不是拷贝内容)。
  • -b:与--backup一样,但不接收参数。
  • -d, -F, --directory:允许超级用户尝试硬链接到目录。(可能会因为系统的约束而失败)
  • -S, --suffix=SUFFIX:覆盖通常的备份后缀。
  • -v, --verbose:打印每个链接文件的名字。

举例

ln ../cronlog clog:在当前目录下创建一个名为clog的文件硬链接到../cronlog文件。

ln -s ../cronlog clog:在当前目录下创建一个名为clog的文件软链接到../cronlog文件。

ln -s -f ../cronlog clog:在当前目录下创建一个名为clog的文件软链接到../cronlog文件,如果当前目录已经存在clog文件,则移除。

ln -b ../*:在当前目录为上级目录的所有文件创建一个备份。(会报错,因为默认是创建硬链接,而硬链接是不能对目录创建的。)

ln -b -s ../*:在当前目录为上级目录的所有文件创建一个备份。(创建的都是软链接,不会报错。)

ln -t -s abc ../*:在当前目录的abc目录下为../*目录下的所有文件创建软链接。

ln -T ../cronlog clog:在当前目录下创建clog文件硬链接到../cronlog文件。

clog是个软链接文件,则ln clog hard_log 创建的hard_log文件也是一个软链接文件,ln -L clog hard_clog创建的hard_log文件是个硬链接文件。

clog是个软链接文件,链接到../cronlog文件,则 ln -P hard_log clog 创建链接文件直接链接到../cronlog文件而不是clog


欢迎关注我的微信公众号: coderbee笔记,可以更及时回复你的讨论。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据