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笔记,可以更及时回复你的讨论。