linux命令之ln


linux命令之 lnnode


ln命令的功能是为某一个文件在另外一个位置创建一个同步的连接.连接类型分为硬连接和符号连接(软连接),默认是硬连接,若是要建立符号连接就必须使用-s选项python

符号连接文件是一个独立的文件,可是它的许多属性依赖于源文件,因此给你符号连接文件设置权限是没有意义的linux

当咱们在不一样的目录用到相同的文件时,不须要在每个目录放置一个文件,咱们只须要在一个固定的目录放上该文件,而后在其余目录用ln命令建立连接就能够了编程

语法

ln [选项] 参数spa

选项

  • -s 建立符号连接(软连接)
  • -f,--force 强制创建文件或者目录的连接,不论文件或目录是否存在
  • -v,--verbose 显示命令的处理过程
经常使用的就这几个,具体的能够查看帮助 ln --help或者 man ln

参数

  • 源文件:指定连接的的源文件,若是使用-s建立软连接,则源文件能够是目录或文件;建立硬连接的时,则源文件参数只能是文件
  • 目标文件:指定源文件连接的目标文件

实例

  1. 将在/usr/python/bin/python3 执行文件软连接到 /usr/bin/python3文件上

    ln -s /usr/python/bin/python3 /usr/bin/python3code

    使用该方法,能够在系统中安装多个python版本图片

  2. 将目录/usr/mengqc/mub1下的文件m2.c连接到目录/usr/liu下的文件a2.c

    ln /usr/mengqc/mub1/m2.c /usr/liu/a2.c同步

    在执行ln命令以前,目录/usr/liu中不存在a2.c文件。执行ln以后,在/usr/liu目录中才有a2.c这一项,代表m2.ca2.c连接起来(注意,两者在物理上是同一文件,指向硬盘的同一位置),利用ls -l命令能够看到连接数的变化it

  3. 在目录/usr/liu下创建一个符号连接文件abc,使它指向目录/usr/mengqc/mub1

    ln -s /usr/mengqc/mub1 /usr/liu/abcclass

    执行该命令后,/usr/mengqc/mub1表明的路径将存放在名为/usr/liu/abc的文件中

硬连接和软连接的区别

  • 硬连接

    建立硬连接后,己经存在的文件的I节点号(Inode)会被多个目录文件项使用。一个文件的硬连接数能够在目录的长列表格式(ls -l)的第二列中看到,无额外连接的文件的连接数为1

    在默认状况下,ln命令建立硬连接。ln命令会增长连接数,rm命令会减小连接数.一个文件除非连接数为0,不然不会从文件系统中被物理地删除

    限制:

    1. 不能对目录作硬连接
    2. 只有在同一个文件系统中才能建立
  • 软连接

    软连接,是将一个路径名连接到一个文件.这些文件是一种特别类型的文件。事实上,它只是一个文本文件,其中包含它提供连接的另外一个文件的路径名,另外一个文件是实际包含全部数据的文件.全部读、写文件内容的命令被用于符号连接时,将沿着连接方向前进来访问实际的文件

    与硬连接不一样的是,软连接确实是一个新文件,固然它具备不一样的I节点号;而硬连接并无创建新文件

    软连接没有硬连接的限制,能够对目录文件作符号连接,也能够在不一样文件系统之间作软连接

    特色:

    1. 删除源文件或目录,只删除了数据,不会删除连接。一旦以一样文件名建立了源文件,连接将继续指向该文件的新数据
    2. 在目录长列表(`ls -l`)中,符号连接做为一种特殊的文件类型显示出来,其第一个字母是`l`
    3. 符号连接的大小是其连接文件的路径名中的字节数

图片描述

图片描述

扫描关注,查看更多文章,提升编程能力

相关文章
相关标签/搜索