硬链接:在linux文件系统中多个文件名指向同一个索引节点(Inode)是正常允许的。硬链接文件就相当于文件的另一个入口。

硬链接的作用:允许一个文件拥有多个有效路径(多个入口),这样用户就可以建立硬链接到重要文件,以防止“误删”源数据

(很多硬件存储,如netapp存储中的快照功能就应用了这个原理,增加一个快照就多了一个硬链接。)

查看硬链接:ls –l 可以指定文件

创建硬链接:ln 源文件 硬链接文件

硬链接文件的inode是相同的:

删除硬链接文件任意一个,文件可以找回:

如何查找所有硬链接: find / -type -f |xargs ls -lhi|grep (Inode号)

硬链接优点:防止重要的文件被误删除,若有多人需要操作同一个文件,可以创建许多硬链接。比较大的文件在服务器可以只存储一份,大家各自使用对应的硬链接即可。

注意:目录的硬链接不允许ln命令来创建

硬链接知识总结:

1)         具有相同的inode节点号的多个文件是互为硬链接文件。

2)         删除硬链接文件或者删除源文件任意之一,文件实体并未被删除

3)         只有删除了源文件及所有对应的硬链接文件,文件实体才会被删除

4)         当所有的硬链接文件及源文件被删除后,再存放新的数据会占用这个文件的空间或者磁盘fsck检查的时候,删除的数据也会被系统回收。

5)         硬链接文件就是文件的另一个入口(相当于超时的前门、后门一样)

6)         可以通过给文件设置硬链接,来防止重要文件被删除。

7)         通过命令:“ln 源文件 硬链接文件”,即可完成创建硬链接。

8)         硬链接文件可以用rm删除的

9)         对于静态文件(没有进程正在调用的文件)来讲,当对应硬链接数为0(i_link)文件就被删除(i_link的查看方法:ls –l结果的第三列就是)

ln 硬链接介绍的更多相关文章

  1. ln 硬链接与软链接

    1. 命令功能 ln 可以看做是link的简写,功能是创建链接文件,链接文件包括硬链接(hard link)和软链接(符号链接,symbolic link) 2. 语法格式 ln  [option]  ...

  2. Linux命令 – ln 软连接与硬链接区别介绍

    ln命令可以生成软链接和硬链接,也可叫做符号链接和实体链接. 有兴趣深入理解的可以查阅相关文档,一般的读者只需记住以下几点即可: 不管是软链接还是硬链接都不会额外增加磁盘空间(虽然实际情况可能会多占用 ...

  3. Linux系统硬链接和软链接介绍

    1.链接的概念 在Linux系统中链接分为硬链接和软连接两种,一种为硬链接,另一种为软连接或符号链接(symbolic Link).ln命令就是创建链接文件的,在默认不带参数的情况下,执行ln命令创建 ...

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

    ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接,分为软链接.硬链接.软链接相当于windows的快捷方式,下面是使用方法和示例   ln是linux中又一 ...

  5. linux命令 - ln - 创建和删除软、硬链接

    linux命令 - ln - 创建和删除软.硬链接 在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件 ...

  6. 软/硬链接指令:ln

    语法: ln  [选项]  原文件  目标文件 选项: -s 创建软连接(创建软链接时,若所在文件夹不一致,原文件要使用绝对路径) 硬链接特征: 1.拥有相同i节点和存储block块,可以看成是同一个 ...

  7. linux 下的使用 ln 创建 软链接 和 硬链接

    linux 下的一个指令 ln 作用: 创建软链接或者硬链接 Linux 系统下每创建一个文件,系统都会为此文件生成一个 index node 简称(inode) ,而每一个文件都包含用户数据(use ...

  8. Linux:ln命令详解(软连接,硬链接)

    ln ln命令用来为文件创件连接,连接类型分为硬连接和软连接(符号连接)两种,默认的连接类型是硬连接.如果要创建软连接必须使用"-s"选项. 硬链接 建立硬链接时,在另外的目录或本 ...

  9. Linux命令——ln命令创建和删除软、硬链接(6/29)

      ln命令用来为文件创建链接,连接类型分为硬链接和符号链接两种,默认的连接类型是硬连接.如果要创建符号连接必须使用"-s"选项.  用法:  ln  [options]  sou ...

随机推荐

  1. Java中数据类型转换大全(个人总结)

    一.字符串转换为其他类型 1.将字符串转化为int型 (1)方法一 int i = Integer.parseInt(String str); (2)方法二 int i = Integer.value ...

  2. asp.net mvc 学习笔记 - 单一实例设计模式

    学习之前,先喊一下口号:每天进步一点,生活更好一点 首先声明一点,我也是新新新手一枚,崭新的新哦.如果文章有不合理的地方,也请各位博友多多指点,不要乱喷哦 我的文采很低调,低调到语文老师对我的期望是你 ...

  3. CATransaction(参考其他博客敲)

    #import "ViewController.h" @interface ViewController () @property(nonatomic,strong)CALayer ...

  4. 本地SQL数据库执行作业定时修改其他数据库内容

    --exec sp_addlinkedserver 'xkp', ' ', 'SQLOLEDB', '192.168.66.66'  定义链接--exec sp_addlinkedsrvlogin ' ...

  5. ADO.NET 【增】【删】【改】【查】

    数据访问  Using System.Data.SqlClient;   对应命名空间                                       -- SqlConnection   ...

  6. SQL Server T—SQL 基本编程

    一 定义变量 declare   @变量名   数据类型 例:declare  @a  int              -- 变量名前必须有 @ 二 赋值 set     @变量名 = 值 sele ...

  7. SQL语句,表中的列字段字符串合并 和 字符串拆分成表

    研究了两天也没有研究的很明白,但是问题做出来了, 如下表中的字段,第一级是由逗号隔开字符串,第二级是由空格隔开的字符串,现在想取空格字符串中的第几个空格前后的字符串, 所用到的工具,1.是 for x ...

  8. Ubuntu安装完成后设置root密码

    安装完ubuntu后没有默认的root密码,如果要设置root密码需要进行如下步骤: 1 sudo passwd 2 连续输入两次新密码

  9. 转载-iOS SDK开发

    最近帮兄弟公司的做支付业务sdk,积累了 sdk 封装的经验!下面我会从零开始把我的 sdk 封装和调试经历分享给大家,希望能给看到这篇文章的人有所帮助! 本文我会从以下几个方面来讲述: Framew ...

  10. POJ3281(KB11-B 最大流)

    Dining Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 19170   Accepted: 8554 Descripti ...