首页 > 代码库 > linux下添加链接与删除链接(ln命令的用法)

linux下添加链接与删除链接(ln命令的用法)

添加链接使用ln命令
用法:
#ln --help
用法:ln [选项]... 目标 [链接名]
或:ln [选项]... 目标... 目录
或:ln [选项]... --target-directory=目录 目标...
创建连至指定<目标>的链接,并可选择性指定<链接名>。
如果没有指定<链接名>,会在目前的目录中创建一个和<目标>名称一样的链接。
当使用第二种格式而<目标>多於一个时,最后的参数必须是目录;这样会在指定的
<目录>中分别创建连至每个<目标>的链接。默认会创建硬链接,若
使用 --symbolic 选项则创建符号链接。当创建硬链接时,每个<目标>都必须存
在。

长选项必须用的参数在使用短选项时也是必须的。
      --backup[=CONTROL]      make a backup of each existing destination file
-b                          like --backup but does not accept an argument
-d, -F, --directory         allow the superuser to attempt to hard link
                                directories (note: will probably fail due to
                                system restrictions, even for the superuser)
-f, --force                 remove existing destination files
-n, --no-dereference        如果目的地是一个链接至某目录的符号链接,会将
                              该符号链接当作一般文件处理,先将该已存在的
                              链接备份或删除
-i, --interactive           确认是否删除目的地文件
-s, --symbolic              创建符号链接而不是硬链接
-S, --suffix=后缀           自行指定备份文件的<后缀>
      --target-directory=目录 在指定<目录>中创建链接
-v, --verbose               链接前先印出每个文件的名称
      --help     显示此帮助信息并离开
      --version 显示版本信息并离开

备份文件的后缀为‘~’,除非以 --suffix 选项或是 SIMPLE_BACKUP_SUFFIX
环境变量指定。版本控制的方式可透过 --backup 选项或 VERSION_CONTROL 环境
变量来选择。以下是可用的变量值:

none, off       不会进行备份 (即使使用了 --backup 选项)
numbered, t     备份文件会加上数字
existing, nil   若有数字的备份文件已经存在则使用数字,否则使用普通方式备份
simple, never   永远使用普通方式备份

删除链接时,直接用rm命令


例:

添加
ln -s /usr/jboss4.0.5.GA/ jboss

删除
rm jboss
 
参考:
 
1 . 使用方式 :ln [option] source_file dist_file   (source_file是待建立链接文件的文件,dist_file是新创建的链接文件)
                    -f 建立时,将同档案名删除. 
                    -i 删除前进行询问. 
                    ln -s abc cde 建立abc 的软连接 
                    ln abc cde 建立abc的硬连接,

2. 软链接与硬链接的区别(通俗): 
                    硬链接可认为是一个文件拥有两个文件名;                     而软链接则是系统新建一个链接文件,此文件指向其所要指的文件
 
                    此外,软链接可对文件和文件夹。。而硬链接仅针对文件。

3. 软链接与硬链接的区别(讲解): 

Linux 软连接与硬连接

对于一个文件来说,有唯一的索引接点与之对应,而对于一个索引接点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问该文件。注意在Linux下是一切皆文件的啊,文件夹、新加的硬盘 ...都可以看着文件来处理的啊。
    连接有软连接和硬连接(hard link)之分的,软连接(symbolic link)又叫符号连接。符号连接相当于Windows下的快捷方式。
    不可以对文件夹建立硬连接的,我们通常用的还是软连接比较多。     
    
eg:
    ln -s source dist        # 建立软连接
    ln source dist            # 建立硬连接


    软链接实际上只是一段文字,里面包含着它所指向的文件的名字,系统看到软链接后自动跳到对应的文件位置处进行处理;相反,硬联接为文件开设一个新的目录 项,硬链接与文件原有的名字是平权的,在Linux看来它们是等价的。由于这个原因,硬链接不能连接两个不同文件系统上的文件。
(1)软连接可以 跨文件系统 ,硬连接不可以 。实践的方法就是用共享文件把windows下的 aa.txt文本文档连接到linux下/root目录 下 bb,cc . ln -s aa.txt /root/bb 连接成功 。ln aa.txt /root/bb 失败 。
(2)关于 I节点的问题 。硬连接不管有多少个,都指向的是同一个I节点,会把 结点连接数增加,只要结点的连接数不是 0,文件就一直存在,不管你删除的是源文件还是 连接的文件 。只要有一个存在 ,文件就 存在 (其实也不分什么源文件连接文件的 ,因为他们指向都是同一个 I节点)。 当你修改源文件或者连接文件任何一个的时候 ,其他的文件都会做同步的修改。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以 删除连接文件 对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件 。软链接有自己的inode,并在磁盘上有一小片空间存放路径名.
(3)软连接可以对一个不存在的文件名进行连接 。
(4)软连接可以对目录进行连接。
 
最后 删除符号链接,有创建就有删除
rm -rf   symbolic_name   注意不是rm -rf   symbolic_name/ 

linux下添加链接与删除链接(ln命令的用法)