Linux系统中ln命令创建软链接与硬链接的方法

Linux 系统下每创建一个文件,系统都会为此文件生成一个 index node 简称(inode) ,而每一个文件都包含用户数据(user data) 与 元数据(metadata)

用户数据里记录了文件的真正内容.

元数据里记录的是文件的附加属性,如 文件大小,创建时间,所有者等,其中 上面提到的 index node 就保存在元数据中.在linux 中文件名并不是文件的唯一标识,index onde 才是唯一标示,系统查找文件也是通过 index node 来查找内容数据块.

如何查看文件的 index node:

代码如下:

/Users/zhangzhi >ls -i
31615656 AndroidStudioProjects 30836545 go
1152719 Applications 49115578 images
31827389 CNode 13208576 ktsgs.zip
595399 Desktop 44722768 pandoc_demo
595275 Documents 49218456 pgadmin.log
595277 Downloads 15078624 pomelo
7094352 LevelTest 1009499 project
7098493 LevelTest.zip 1011801 qdb
595388 Library 5901898 qdb.zip
595439 Movies 23150187 test
595441 Music 1010768 tmp
595443 Pictures 17956310 trunk
595445 Public 17970255 trunk.zip
32072972 app 41999857 webwork
1009500 code 13208610 游戏配置
22509232 databak

我们看到的前面的数字序列就是 index node

如何理解呢,你可以想象成 windows 操作系统里的快捷键.对同一个文件的访问提供了多个入口.

指令:

代码如下:

ln [option] link_file source_file

(link_file是待建立链接文件的文件,source_file是新创建的链接文件)

-f 建立时,将同档案名删除.

-i 删除前进行询问.

示例:

代码如下:

ln -s myfile mylink

建立myfile 文件的软链接 mylink

代码如下:

ln myfile mylink

建立myfile 的硬链接 mylink

软链接

代码如下:

ln -s myfile mylink

软链接创建后,用户数据中存储的并不是文件本身的记录,而是一个指向 原文件路径的一个指针.但是它有自己的 index node 序列.

所以 ,软链接其实就是一个新的文件,但是这个文件很特殊,因为他的用户数据中放的不是文件内容,而是一个指向其他文件的指针.

软链接有下面几个特点:

1.多个软链接有多个不同的 index node

2.不仅可以对文件创建,还可以对目录创建软链接

3.软链接可以交叉文件系统

4.删除软链接 并不会影响原文件,但是原文件被删除,这个软链接就成了一个死链接.

硬链接

代码如下:

ln myfile mylink

硬链接创建后,用户数据中存储的是文件本身记录,其他他的用户数据和元数据都和 myfile 一样,唯一不同的是文件名.

所以硬链接就是同一个文件有了多个文件名, 但是多个文件名都指向了 同一个 index node

这样看来,硬链接就是有多个别名的同一个文件.

硬链接有下面几个特别:

1.他们有相同的 index node

2.有相同的数据记录

3.只能在已经存在文件上创建 硬链接

4.删除其中任何一个,其他硬链接不受影响.

5.只能对文件做硬链接

(0)

相关推荐

  • Linux给文件或目录创建软链接或硬链接的方法

    有时Linux用户们为了使用方便,会想给电脑中的文件或目录创建软链接或硬链接.不过有些用户不清楚该怎么给这些文件或目录创建软链接或硬链接该怎么办呢?别急,现在小编就来教你解决的方法. 解决方法: 当我 ...

  • 详解Linux系统中md5sum命令的用法

    这篇文章主要介绍了详解Linux系统中md5sum命令的用法,用来处理MD5验证的相关操作,需要的朋友可以参考下 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算 ...

  • linux系统中tar命令使用方法

    简单介绍下linux系统中tar命令使用方法,有举例说明. 操作方法 01 打包当前目录下的所有后缀为.log的文件和一个box目录(tar包). 02 把当前目录下所有后缀名为.log的文件打包并压 ...

  • Win7系统中的命令行sxstrace.exe工具的使用方法

    最近有用户在安装QQ应用程序的时候出错,提示框中说使用命令行sxstrace.exe工具来解决,对此该怎么操作呢?下面小编将为大家分享Win7系统中的命令行sxstrace.exe工具的使用方法:一起 ...

  • linux命令大全之ln命令详解(创建软链接和硬链接)

    ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在 ...

  • Linux系统中运用命令行创建文件夹/目录

    Linux系统中运用mkdir命令行创建文件夹/目录 操作方法 01 mkdir命令的格式: mkdir directory... 02 实例1:创建单个目录dir1 mkdir dir1 03 实例 ...

  • linux系统中scp命令的使用介绍

    scp命令的用处: scp在网络上不同的主机之间复制文件,它使用ssh安全协议传输数据,具有和ssh一样的验证机制,从而安全的远程拷贝文件。 scp命令基本格式: scp [-1246BCpqrv] ...

  • Linux系统中ls命令的常见用法整理

    ls命令是Linux系统中最被频繁使用的命令之一,我相信ls命令一定是你进入一台Linux系统的电脑打开命令提示符后第一个使用的命令.我们每天都在频繁地使用ls命令,即使我们可能没有意识也从来用不到所 ...

  • Linux系统中与中文显示相关的一些编码设置方法

    对于国内的Linux用户,经常烦恼的一个问题是:系统常常在需要显示中文的时候却显示成了乱码,而由于某些原因,需要英文界面的系统的时候,却苦于系统不能正常输入和显示中文.另外,由于大部分主要Linux发 ...