Linux ln命令详解及使用


ln是linux中一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。

1.  ln命令概述


当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln–s /bin/less /usr/local/bin/less

这一点类似于Windows下的快捷方式,但又有所不同。

  -s 是代号(symbolic)的意思。

  这里有两点要注意:

第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;

第二,ln的链接分软链接和硬链接两种,软链接就是ln–s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

如果用ls察看一个目录时,发现有的文件后面有一个@的符号且文件或文件夹的颜色和别的不一样,我机子上是蓝色的,那就是一个用ln命令生成的文件,用ls –l命令去察看,就可以看到显示的link的路径了。

也可以直接使用ll命令查看,可看到软连接及其link的路径。

2.  ln命令详细说明

  指令名称 : ln

  使用权限 : 所有使用者

使用方式 : ln [options]  source  dist

其中 option 的格式为 :

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

  [--help] [--version] [--]

  说明 : Linux/Unix 档案系统中,有所谓的连结(link),我们可以将其视为档案的别名,而连结又可分为两种: 硬连结(hardlink)与软连结(symboliclink),硬连结的意思是一个档案可以有多个名称,而软连结的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬连结是存在同一个档 案系统中,而软连结却可以跨越不同的档案系统。

  ln source dist 是产生一个连结(dist)到 source,至于使用硬连结或软链结则由参数决定。

  不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

-f:  链结时先将与dist同档名的档案删除

-d:允许系统管理者硬链结自己的目录

-i:  在删除与dist同档名的档案时先进行询问

-n:在进行软连结时,将dist视为一般的档案

-s:进行软链结(symboliclink)

-v:在连结之前显示其档名

-b:将在链结时会被覆写或删除的档案进行备份

-SSUFFIX :将备份的档案都加上 SUFFIX的字尾

-VMETHOD :指定备份的方式

--help:显示辅助说明

--version:显示版本

  示例:

#将档案 xyy产生一个 symbolic link : zyy
ln -s xyy zyy#将文件xyy产生一个 hard link : zyy
lnxyy zyyln-s abc cde    #建立abc 的软连接
lnabc cde       #建立abc的硬连接

PS:如果想要删除链接,则像普通文件一样直接rm链接名称即可。

3. 软链接与硬链接的区别

硬链接可认为是一个文件拥有两个文件名;而软链接则是系统新建一个链接文件,此文件指向其所要指的文件。此外,软链接可对文件和文件夹,而硬链接仅针对文件。

对于一个文件来说,有唯一的索引接点与之对应,而对于一个索引接点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问该文件。注意在Linux下是一切皆文件,文件夹、新加的硬盘 ...都可以看着文件来处理的。

连接有软连接和硬连接(hard link)之分的,软连接(symbolic link)又叫符号连接。符号连接相当于Windows下的快捷方式。

不可以对文件夹建立硬连接的,我们通常用的还是软连接比较多。

示例:

ln -s source dist        #建立软连接

ln source dist           #建立硬连接

软链接实际上只是一段文字,里面包含着它所指向的文件的名字,系统看到软链接后自动跳到对应的文件位置处进行处理;相反,硬联接为文件开设一个新的目录项,硬链接与文件原有的名字是平权的,在Linux看来它们是等价的。由于这个原因,硬链接不能连接两个不同文件系统上的文件。

(1)软连接可以跨文件系统,硬连接不可以。实践的方法就是用共享文件把windows下的aa.txt文本文档连接到linux下/root目录下bb,cc . ln -saa.txt /root/bb 连接成功。ln aa.txt/root/bb失败。

(2)关于 I节点的问题。硬连接不管有多少个,都指向的是同一个I节点,会把结点连接数增加,只要结点的连接数不是 0,文件就一直存在,不管你删除的是源文件还是连接的文件。只要有一个存在,文件就存在(其实也不分什么源文件连接文件的,因为他们指向都是同一个 I节点)。当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。软链接不直接使用i节点号作为文件指针,而是使用文件路径名作为指针。所以删除连接文件对源文件无影响,但是删除源文件,连接文件就会找不到要指向的文件。软链接有自己的inode,并在磁盘上有一小片空间存放路径名.

(3)软连接可以对一个不存在的文件名进行连接。

(4)软连接可以对目录进行连接。

(5) 删除符号链接,有创建就有删除

 rm -rf  symbolic_name  

       注意不是rm -rf   symbolic_name/

Linux ln命令详解及使用相关推荐

  1. linux ln -sv命令,linux ln 命令详解

    这是linux中一个非常重要命令,请大家一定要熟悉.它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln -s 源文件 目标文件. 当我们需要在不同的目 ...

  2. linux ln命令详解

    今天,查看服务器资源的时候,发现服务器上有一个挂在盘满了,可用磁盘为0.按照以往操作,先找找看哪些文件比较占用磁盘空间,将一些无用的文件删除,释放磁盘空间.不幸的是,最占资源的竟然是mysql数据库. ...

  3. ln -s命令 linux,linux ln命令详解

    软链接 首先,我在我的target目录下创建了文件lovedog.txt,并写了一行文字,如下图: 接着,我在target的父目录shelltest中创建一个指向lovedog.txt的符号链接,即软 ...

  4. Linux常用命令详解(两万字超长文)

    Linux常用命令详解 作为一枚程序员,熟练掌握一些常见的linux命令是很有必要的,掌握这些命令能帮助我们更好地管理Linux系统,提高工作效率,并有效地解决各种问题,为了方便自己后续查阅以及帮助不 ...

  5. 服务器维护详解,服务器维护Linux tr 命令详解

    服务器维护Linux tr 命令详解 tr 是 Linux 和 Unix 系统中的命令行实用程序,用于转换,删除和挤压标准输入中的字符,并将结果写入标准输出. 该 tr 命令通常通过管道与其他命令结合 ...

  6. Linux常用命令详解(最全)

    Linux命令目录 Linux命令集合 系统信息 关机 (系统的关机.重启以及登出 ) 文件和目录 文件搜索 挂载一个文件系统 磁盘空间 用户和群组 文件的权限 - 使用 "+" ...

  7. linux mingetty 命令详解

    linux mingetty 命令详解 功能说明:精简版的getty. 语 法:mingetty [--long-hostname][--noclear][tty] 补充说明:mingetty适用于本 ...

  8. linux zip 命令详解

    功能说明:压缩文件.  语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目录>][-ll][-n <字尾字符串>][-t <日期 ...

  9. linux zipinfo 命令详解

    linux zipinfo 命令详解 功能说明:列出压缩文件信息. 语 法:zipinfo [-12hlmMstTvz][压缩文件][文件...][-x <范本样式>] 补充说明:执行zi ...

最新文章

  1. 挑战NLP、量子计算难题,300多支本科生队伍同场角逐,2020 ASC超算竞赛一触即发...
  2. PHP 错误与异常 笔记与总结(14 )记录和发送异常信息
  3. python 两个内置函数——locals 和globals(名字空间)批量以自定义变量名创建对象
  4. 在MongoDB中存储分层数据
  5. ppp在linux下的编译和安装
  6. [转载]GIF、JPEG 和 PNG的区别在哪里?
  7. JMeter中持续时间设置成永远调度器才会起作用
  8. python for a,b in c
  9. 瑞友天翼建文件服务器,瑞友天翼简明使用手册
  10. 【矩阵论笔记】过渡矩阵
  11. 阿里云负载均衡SLB简介
  12. 如何获取微信用户openid
  13. 贵圈似乎有点乱:“5G手机”居然比5G网络先到了?
  14. 在上海、苏州、深圳、长沙从“蜗居”到“安家”,8090后要付出多少?
  15. QQ游戏-大家来找茬 外挂
  16. 手把手带你实现一个短信验证码
  17. 边境的悍匪—机器学习实战:第十三章 使用TensorFlow加载和预处理数据
  18. 深度学习中神经网络的几种权重初始化方法
  19. C# 程序集(Assembly)
  20. 2019苹果全球开发者大会:起售价5999美元,史上最强大Mac电脑发布

热门文章

  1. monkeyrunner操作手机
  2. 经典.net面试(net面试题汇总)20200227版本
  3. Python 调用终端执行命令(gnome-terminal)
  4. Windows系统的MBR磁盘分区--MBR的结构和作用(三)之主磁盘分区的结构
  5. 【转】超强收藏必备!盘点互联网人必须知道的数据报告网站
  6. 计算机协会活动横幅标语,社团 | 广科数学建模等你来pick
  7. 数字化口岸电子中间件应用
  8. 运维监控工具-pigoss 服务于浙江电子口岸
  9. FusionCharts Suite XT 3.17.0 Crack
  10. Java 游戏开发:关于Java面向对象的知识(一)