Linux 软硬链接详解

软链接

软链接: 类似于windows的快捷方式,—>文本文件,但是包含了真实文件的地址
               源文件删除,则软连接也删除
               软链接可以放在任何文件系统
               目录可以创建软连接 --> 和源文件不同的文件,因为软连接目录可以放在任何地方

 命令:[[email protected] omc]# ln -s ftl/ ftl.soft   (第一个参数表示源文件,inittab.soft表示快捷方式)
 查看:[[email protected] omc]# readlink ftl.soft  (目标文件不能事先存在,需要ln命令创建)
 删除软连接::[[email protected] omc]#  rm -f oldboy_soft_link

硬链接

硬链接:硬链接(Inode一致)与真实文件的大小和创建日期完全相同(相同inode号),类似于copy,同步更新。

通过inode索引链接,硬链接多个文件名指向同一个索引,相当于文件的入口,硬链接一个文件有多个入口,相当于文件备份

原理:通过命令ls –i ,发现硬链接文件和源文件的i结点数字相同,而内核是根据文件的i结点来标识文件的,这两个文件的i结点相同,所有被认为是一个文件,所有同时写入和修改数据。
       硬链接不能跨文件系统,即不能跨分区,类似于windows内不能将C盘的硬链接放在D盘。

与拷贝区别:拷贝与真实文件的创建日期不同
       硬链接属于复制,源文件删除不影响硬链接
       当所有的硬链接和源文件被删除之后,再放入新的数据占用此空间、磁盘检测,删除的数据会被回收
       可以通过设置硬链接,防止文件被误删除
       注意目录不做硬链接

命令: ln /etc/inittab /test/inittab.hard
查看: ls -l /etc/inittab /test/inittab.hard
查看所有文件的inode: find / -type f | xargs ls -lhi | more

文件链接

文件链接的小结:
       -1.ln 默认不带参数到的情况下,创建硬链接, -s  表示创建软连接
        0.软连接可以通过readlink 查看其指向
        1.删除软连接对原文件和硬链接文件无影响
        2.删除硬链接对源文件和软连接文件无影响
        3.删除原文件,对硬链接没影响,但是会导致软连接失效
        4.同时删除源文件,硬链接,会导致整个文件被删除(没有后台进程调用的话)
        5.硬件设备的拍照功能就是应用了硬链接的原理
        6.硬链接和源文件有相同的inode,可以认为是同一个文件或者是同一个文件的多个入口
        7.同时删除硬链接以及源文件,整个文件才会被删除
        8.软连接和源文件有不同的inode,是因为创建了2个不同的文件,相当于快捷方式,还有源文件的位置指向
        9.软连接是一个新文件,里面记录了原文件的路径,软连接的名称必须由ln创建,不能事先存在

目录链接

目录链接的小结:
        1.对于目录,不能创建硬链接,可以创建软连接
            默认为2【
                1.创建的目录本身为一个硬链接。
                2.新目录ett下的隐藏目录.(点号)为创建的新目录的又一个硬链接,也算一个链接数
                  因此,硬链接数是2】
          硬链接不能跨文件系统  (如果2个文件系统的时候,inode会不一样,所以不允许)
        2.对于目录可以创建软连接,因为软连接可以跨系统,相当于目录的快捷方式,有一个新的inode
        3.目录的硬链接不能跨越文件系统(硬链接原理上)
        4.每个目录下面有一个硬链接符号 .  ,和对应上级目录的硬链接 .. 
        5.在父目录里面创建一个子目录,父目录的链接数目增加1(多了一个..来指向父目录)
            但是创建文件,链接数目不会增加(文件内不会有..来指向上层目录)

原文地址:https://www.cnblogs.com/ftl1012/p/9247928.html

时间: 2024-10-11 17:29:16

Linux 软硬链接详解的相关文章

12、Linux软链接和硬链接详解

软连接和硬链接图解 硬链接 符号链接 软链接和硬链接详解 软链接和硬链接详解 Linux下的链接文件有点类似于Windows的快捷方式,但又不完全一样.链接文件有两种:一种是硬链接,另一种是符号链接(又称软链接). UNIX文件系统提供了一种将不同文件链接至同一个文件的机制,我们称这种机制为链接.它可以使得单个程序对同一文件使用不同的名字.这样的好处是文件系统只存在一个文件的副本,系统简单地通过在目录中建立一个新的登记项来实现这种连接. 软连接和硬链接图解 硬链接 硬链接是通过索引节点进行的链接

linux rm 命令详解及使用方法实战【初级】

rm:删除命令 前言: windows中的删除命令大家都不陌生,linux中的删除命令和windows中有一个共同特点,那就是危险,前两篇linux mkdir 命令详解及使用方法实战[初级]中我们就提到了rm命令,现在我们来详细介绍一下linux中删除文件和目录的命令, rm命令,rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件均保持不变. 名称 rm - remove files o

Linux netstat命令详解

Linux netstat命令详解 简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等. 输出信息含义 执行netstat后,其输出结果为 Active Internet connections (w/o servers)Proto Recv-Q Send-Q Local Address Foreign Address State

linux ls -l 详解[转]

linux ls -l 详解[转] 有几个字段老是记不住,就记载这里吧 ls -l 列表信息详解 我们平时用ls -l 命令查看一个目录下的文件和子目录的详悉信息时,会得到一个详细的文件和目录名列表.这个列表包含了文件的属性,所属用户,所属组,创建时间,文件大小等等信息.这些信息到底是什么意思呢?有很多初学者对这些不太了解,因此想详悉讲解一下用ls -l命令得到的文件列表每一个字段的意思 以笔者电脑的/root目录为例: [[email protected] root]# ll 总用量 4055

linux之LVM详解

Linux的LVM详解 LVM组成; LVM:logic volume manager .LVM即逻辑卷管理,现在使用版本为第二版,即version2 逻辑卷:pv,physical volume,即计算机上的磁盘设备,例如我的计算机上的/dev/sda3,/dev/sda5. 卷组:vg,volume group.一般由多个pv组成. 逻辑卷:lv,logical volume是在vg上是划分好可以直接使用分区 pe:physical extend,是在pv加入vg后vg把所有pv划分成的很多

linux设备号详解

原文:http://blog.csdn.net/zjjyliuweijie/article/details/7001383 linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取).块设备(有缓冲且可以随机存取).每个字符设备和块设备都必须有主.次设备号,主设备号相同的设 备是同类设备(使用同一个驱动程序).这些设备中,有些设备是对实际存在的物理硬件的抽象,而有些设备则是内核自身提供的功能(不依赖于特定的物理硬件,又称为"虚拟设备").每个设备在 /dev 目录下都有一个对应的

Linux集群详解

Linux集群详解 集群或者说是群集:其目的是为了实现将多台计算机组合以来完成特定的任务,比如天气预报,大型网络游戏,这些都需要很大的运算量,单台计算机实现成本太高,而且不显示.那么就需要通过集群的方式,将废弃的或者正在使用的计算机联合起来,结合整体的力量来解决这些问题 集群类型: 1.  负载均衡集群 load blancing ,简称LB 2.  高可用性集群 high availibility,简称 HA 3.  高性能集群 high performance,简称 HP 作用: 1.  负

软链接和硬链接详解

软链接和硬链接详解 导读 Linux下的链接文件有点类似于Windows的快捷方式,但又不完全一样.链接文件有两种:一种是硬链接,另一种是符号链接(又称软链接).下面我给大家说说它们两者之间的区别. 硬链接 硬链接是通过索引节点进行的链接.在Linux中,多个文件指向同一个索引节点是允许的,像这样的链接就是硬链接.硬链接只能在同一文件系统中的文件之间进行链接,不能对目录进行创建.如果删除硬链接对应的源文件,则硬链接文件仍然存在,而且保存了原有的内容,这样可以起到防止因为误操作而错误删除文件的作用

Linux启动流程详解【转载】

在BIOS阶段,计算机的行为基本上被写死了,可以做的事情并不多:一般就是通电.BIOS.主引导记录.操作系统这四步.所以我们一般认为加载内核是linux启动流程的第一步. 第一步.加载内核 操作系统接管硬件以后,首先读入 /boot 目录下的内核文件. 我们查看一下,/boot 目录下面大概是这样一些文件: 第二步.启动初始化进程 内核文件加载以后,就开始运行第一个程序 /sbin/init,它的作用是初始化系统环境. 由于init是第一个运行的程序,它的进程编号(pid)就是1.其他所有进程都