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 软连接与硬连接
连接有软连接和
硬连接(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 失败 。
(3)软连接可以对一个不存在的文件名进行连接 。
(4)软连接可以对目录进行连接。
最后 删除符号链接,有创建就有删除
rm -rf symbolic_name 注意不是rm -rf symbolic_name/