RTFM系列之ln命令
Description
这是一个用于创建链接的命令
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)
- 第一种形式是建立一个链接到target的链接,名字是link_name
- 第二种形式是在当前目录下建立一个链接到target的链接
- 第三种和第四种是在directory下面为每一个target建立一个链接
- 默认建立的是硬链接(hard links),什么是硬链接见文末相关资料
下文的destination file 指的是directory下面的文件名和要创建的链接名一样的文件
$ln -b, –backup//如果destination file存在,将文件备份
$ln -d, -F, –directory//允许root用户对目录建立硬链接(虽然不一定能成功)
$ln -f, –force//如果destination file已经存在,则删除它,建立链接
$ln -i, –interative//提示是否删除destination file
$ln -L, –logical//对符号链接进行解引用操作
- 如果对一个符号链接进行ln 操作并加上-L参数,效果和对符号链接指向的对象进行操作是一样的,例如
//symb.c 是某个文件file.x的符号链接
$ln -L symb.c ./new/a.c
实际上是在new下面建立了一个file.x的硬链接a.c,
$ln -n, –no-dereference//如果link_file是一个符号链接,不把它当成符号链接,而是当成文件(记得在linux里面一切都是文件)
$ln -P, –physical//硬链接转符号链接
$ln -s, –symbolic//创建符号链接
$ln -t, –target-directory=DIRECTORY//表明directory
$ln -v, –verbose//在建立链接时显示建立链接的文件名
注意事项
符号链接(symbolic links)也叫软链接
在建立符号链接的时候,被链接的文件一定要写绝对路径,原因在参考资料中