linux命令:ln使用方法

指令名称 : ln

使用权限 : 所有使用者

使用方式 : ln [options] source dist,其中 option 的格式为 :

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

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

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

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

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

参数格式 :

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

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

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

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

-s : 进行软链结(symbolic link)

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

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

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

-V METHOD : 指定备份的方式

--help : 显示辅助说明

--version : 显示版本

范例 :

将档案 yy 产生一个 symbolic link : zz

ln -s yy zz

将档案 yy 产生一个 hard link : zz

ln yy xx

ln 命令的使用(F)

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

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

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

这里有两点要注意:

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

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

如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls -l命令去察看,就可以看到显示的link的路径了。

硬链接与符号链接的区别在于硬链接与原来的文件有相同的i-node即它们是无差别的指向一个存储数据的空间的索引.

硬链接产生的文件与之前的文件名具有相同的意义,而且,由于都是无差别的指向同一个存储空间,所以对硬链接产生的文件进行的操作,实际上都是对于那一个存储空间进行的操作。

而且,当一个存储空间,具有几个硬链接时,删除其中的一个,并不会对存储空间进行操作,所以其它的硬链接不会受到影响。

此种方式,类似于C语言里的指针,当一个存储空间里面有几个指针指向它时,删除其中的一个指针并不会带来存储空间被回收的操作。

而符号链接可以理解为指向原来的文件的索引的索引.它与原来的文件是两个不同的文件.所以这样的话假如存在三个文件的话,a是原文件,b是a的硬链接,而c 是a 的符号链接.刚不管是那个文件或者目录的内容改变都会使得其它的文件的内容改变.对于原文件的删除,则c将变的不可用,而对b却没有任何的影响.b,c的删除不会对任何文件有影响.

注:

1. 对于ln命令默认是建立硬链接的.

2. -s不是soft(软)的意思,而是symbolic(符号)的意思,因此应该是符号链接。

(0)

相关推荐

  • linux比较两个文件是否一样(linux命令md5sum使用方法)

    linux比较两个文件是否一样(linux命令md5sum使用方法)

  • Linux中cp和scp命令的使用方法

    Linux为我们提供了两个用于文件copy的命令,一个是cp,一个是scp,但是他们略有不同。 cp --- 主要是用于在同一台电脑上,在不同的目录之间来回copy文件 scp --- 主要是在不同的 ...

  • linux命令行修改IP的2个方法

    本文介绍了通过linux命令行修改IP的方法,通过linux命令行修改IP可以通过以下两种方式实现。 方式一: ifconfig eth0 192.168.1.18 netmask 255.255.2 ...

  • 自学Linux命令的四种方法

    如果你想成为Linux高手,那么掌握一些Linux命令是必不可少的。下面是自学Linux命令的四种方法。 每日提示 学习Linux命令的一种渐进式方法是:在每次打开终端时,让它显示“每日提示”。这会向 ...

  • 通过Linux命令查看系统平均负载的方法

    这篇文章主要介绍了通过Linux命令查看系统平均负载的方法,对于服务器管理员来说非常有用,需要的朋友可以参考下 1.Linux系统的平均负载的概念 有时候我们会觉得系统响应很慢,但是又找不到原因,这时 ...

  • linux tail命令的使用方法详解?

    本文介绍Linux下tail命令的使用方法. linux tail命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更 ...

  • 利用linux命令行工具进行文本行过滤的方法

    在日常工作中会遇到需要筛选过滤要查看的日志等文本文件的任务,例如需要查看日志文件的最后几行等.下面总结一下常见的对文本行过滤的方法.一起去看看吧! 常用命令行工具 接下来主要使用的是head,tail ...

  • linux命令行下文件名中有空格的处理方法

    Q:我在树莓派命令行模式下使用mplayer播放单首音乐,因为文件名中含有空格,提示不存在该文件,该如何解决? [johnwick@raspberrypi~]$sudo mplayer Me like ...

  • 在windows下使用linux命令的方法-cygwin

    在windows下使用linux命令的方法-cygwin 步骤/方法 01 下载GnuWin32,GnuWin32的安装文件(GetGnuWin32-0.6.3.exe) 02 运行GetGnuWin ...