|
楼主 |
发表于 2009-10-20 17:22:12
|
显示全部楼层
本帖最后由 changyongid 于 2009-10-20 17:52 编辑
[changyongid@localhost vacs]$ ln --help
用法:ln [选项]... [-T] 目标 链接名称 (第一种格式) 为“目标”创建一个名为“链接名称”的链接
或:ln [选项]... 目标 (第二种格式) 在当前目录创建一个指向“目标”的链接
或:ln [选项]... 目标... 目录 (第三种格式) 三、四两种格式 :为目录里的每个“目标”创建链接
或:ln [选项]... -t 目录 目标... (第四种格式)
默认不加“选项”的时候是创建硬链接。如果要创建符号链接,则需要加上 “--symbolic”
如果创建硬链接,则命令行中的“目标”必须存在。符号链接能够指向任意的文本,
长选项必须用的参数在使用短选项时也是必需的。
--backup[=CONTROL] 为存在的目标文件创建备份
-b --backup,但是不接受参数
-d, -F, --directory 建立目录的硬链接
-f, --force 强行建立文件或目录的链接,不论文件或目录是否存在。
-n, --no-dereference 如果目的地是一个链接至某目录的符号链接,会将
该符号链接当作普通文件处理,先将该已存在的
链接备份或删除
-i, --interactive 确认是否删除目的地文件
-s, --symbolic 创建符号链接而不是硬链接
-S, --suffix=SUFFIX 使用-b参数备份目标文件后,备份文件的字毛会被加上一个后缀。默认的是“~”,可以通过-S来改变它
-t, --target-directory=DIRECTORY 指定创建链接的路径
备份文件的后缀为“~”,除非以 --suffix 选项或是 SIMPLE_BACKUP_SUFFIX
环境变量指定。版本控制的方式可透过 --backup 选项或 VERSION_CONTROL 环境
变量来选择。以下是可用的变量值:
none, off 不会进行备份 (即使使用了 --backup 选项)
numbered, t 备份文件会加上数字
existing, nil 若有数字的备份文件已经存在则使用数字,否则使用普通方式备份
simple, never 永远使用普通方式备份
说明:这个命令是经常用到的。有人说链接跟windows下的快捷方式差不多。但我觉得还是千万不要以windows的思维方式来理解。要完全的理解ln,需要对Linux里的文件系统有一定的了解。这里我引用网上的一些解释(黑色部分为自己加的一点理解):
“每个存储设备或存储设备的分区(存储设备是硬盘、软盘、U盘 ... ...)被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。做个比喻,比如一本书,存储设备或分区就相当于这本书,Block相当于书中的每一页,inode 就相当于这本书前面的目录,一本书有很多的内容,如果想查找某部份的内容,我们可以先查目录,通过目录能最快的找到我们想要看的内容。虽然不太恰当,但还是比较形象。
在Linux 文件系统中,inode值相同的文件是硬链接文件,也就是说,不同的文件名,inode可能是相同的,一个inode值可以对应多个文件。理解链接文件并不难,看看例子就会了。在Linux中,链接文件是通过ln工具来创建的。 (那么创建硬链接,即是创建一个inode,它也指向某个文件。这样,对于这个文件,同时就有两个inode来指向它。删除某个文件时,即删除了它对应的inode,如果删除了两上inode中的一个,文件还是存在的。因为还有一个inode指向它。硬链接只能链接文件,而不能链接目录。且不能链接别的文件系统里的文件(即不同分区的文件))
软链接也叫符号链接,他和硬链接有所不同,软链接文件只是其源文件的一个标记。当我们删除了源文件后,链接文件不能独立存在,虽然仍保留文件名,但我们却不能查看软链接文件的内容了
(由上面的解释可以了解到,链接好比一个指针一样,我们通过它来访问文件或目录,修改它也实际上就修改了那个文件或目录)
” |
|