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

  • Post author:
  • Post category:linux




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            # 建立硬连接

ln -s /usr/hdp/2.6.5.0-292/storm/ /usr/hdp/current/storm-supervisor

软链接实际上只是一段文字,里面包含着它所指向的文件的名字,系统看到软链接后自动跳到对应的文件位置处进行处理;相反,硬联接为文件开设一个新的目录 项,硬链接与文件原有的名字是平权的,在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/



版权声明:本文为dingweijson原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。