unix-ln 命令

指令名称 :

ln 使用权限 :所有使用者

使用方式 : ln [options] source dist,

其中 option 的格式为 :

[-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}] [--help] [--version] [--]

说明 : Linux/Unix 档案系统中,有所谓的链接(link),我们可以将其视为档案的别名。 链接可分为两种 : 硬链接(hard link)与软链接(symbolic link) 硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。 硬链接是存在同一个档案系统中,而软连结却可以跨越不同的档案系统。 ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。 不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

参数 :

-f : 链接时先将与 dist 同档名的档案删除
-d : 系统管理者硬链结自己的目录
-i : 在删除与 dist 同档名的档案时先进行询问
-n : 在进行软链接时,将 dist 视为一般的档案
-s : 进行软链接(symbolic link)
-v : 在链接之前显示其档名
-b : 将在链接时会被覆写或删除的档案进行备份
-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾
-V METHOD : 指定备份的方式
--help : 显示辅助说明
--version : 显示版本 尝试过硬链接后发现硬链接并不是随时被允许,建立了硬链接后就分不清到底哪个是链接哪个都不是了,好象是两个内容一样的复本。

注意

硬链接:默认情况下,ln用来创建硬链接,硬链接与原始文件无法区分且无法指向目录。同一个文件的所有硬链接必须位于相同的文件系统中,

符号链接:符号链接可以指向目录,并且能够位于不同的文件系统中

 

示例

ln 创建硬链接

$ ln /home/siu/BackupName.sql .
$ ls -l
总用量 0
-rw-r--r-- 2 siu siu 0  1月  7 13:01 BackupName.sql

这里在当前目录下创建了一个文件硬链接,后面的.也可以省略

 

ln -s 创建符号链接

$ ln -s /tmp/ ./abc
$ ls -l
总用量 0
lrwxrwxrwx 1 siu siu 5  1月  8 20:07 abc -> /tmp/

此处为/tmp创建了一个符号链接/abc

 

ln -sb

$ ln -sb aa bb
$ ls -l
总用量 0
-rw-r--r-- 1 siu siu 0  1月  8 20:11 aa
lrwxrwxrwx 1 siu siu 2  1月  8 20:11 bb -> aa
-rw-r--r-- 1 siu siu 0  1月  8 20:11 bb~

创建符号链接,并备份已有的文件

 

ln -sf

$ ln -s aa cc
ln: 无法创建符号链接"cc": 文件已存在
$ ln -sf aa cc
$ ls -l
总用量 0
-rw-r--r-- 1 siu siu 0  1月  8 20:11 aa
lrwxrwxrwx 1 siu siu 2  1月  8 20:11 bb -> aa
-rw-r--r-- 1 siu siu 0  1月  8 20:11 bb~
lrwxrwxrwx 1 siu siu 2  1月  8 20:13 cc -> aa

强制创建符号链接

 

ln -si

$ ln -si aa bb
ln:是否替换"bb"? y
$ ls -l
总用量 0
-rw-r--r-- 1 siu siu 0  1月  8 20:14 aa
lrwxrwxrwx 1 siu siu 2  1月  8 20:14 bb -> aa

创建符号链接时进行提示

 

Tips

1.硬链接通常和普通文件一样,无法区分其是否为链接

2.硬链接大小属性和原文件一样,如果删除原文件,硬链接同样可以使用

3.硬链接有一定局限性,因此符号链接适用范围更广

posted @ 2015-06-06 19:57  深海蓝精灵  阅读(552)  评论(0编辑  收藏  举报