Linux 文件软链接、硬链接

linux的硬链接和软链接

链接方式有两种:硬链接和软链接

在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。

(1)硬链接:多个文件名指向同一索引节点

作用:允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。

其实一个硬链接就是一个文件的一个别名,只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

硬链接文件有两个限制

1)、不允许给目录创建硬链接

2)、只有在同一文件系统中的文件之间才能创建硬链接

ln 命令为现有文件创建新的硬链接。该命令懂得第一个参数为现有文件,后面可以跟一个或者多个额外的硬链接。硬链接可以处在任何位置上。

在/tmp目录中为现有的文件newfile.text创建硬链接mewfile-link1.text

[[email protected] ~]# cd /tmp

[[email protected] tmp]# touch newfile.text

[[email protected] tmp]# ln newfile.text /tmp/newfile-link.text

[[email protected] tmp]# ll newfile.text /tmp/newfile-link.text

-rw-r--r--. 2 root root 0 Nov 16 04:04 newfile.text

-rw-r--r--. 2 root root 0 Nov 16 04:04 /tmp/newfile-link.text

即使原来文件删除,只要有一个硬链接存在,该文件的内容就依然可读

[[email protected] tmp]# echo ‘hello,world‘ > newfile.text

[[email protected] tmp]# rm -f newfile.text

[[email protected] tmp]# ll /tmp/newfile-link.text

-rw-r--r--. 1 root root 12 Nov 16 04:10 /tmp/newfile-link.text

[[email protected] tmp]# cat /tmp/newfile-link.text

hello,world

(2)软链接

软链接又叫符号链接,这个文件包含了另一个文件的路径名。其实就是Windows中的快捷方式。

软连接没有硬链接那么多的限制

1)软链接有自己的文件属性及权限等。

2)可对不存在的文件或目录创建软链接。

3)软链接可交叉文件系统。

4)软链接可对文件或目录创建,而且目录可以位于不同得到文件系统

5)创建软链接时,链接计数 i_nlink 不会增加。

6)删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。

ln -s 命令创建软链接

[[email protected] /]# touch newfile-link2.tetx

[[email protected] /]# ln -s newfile-link2.tetx /tmp/newfile-symlink.text

[[email protected] /]# ll newfile-link2.tetx /tmp/newfile-symlink.text

-rw-r--r--. 1 root root  0 Nov 16 04:19 newfile-link2.tetx

lrwxrwxrwx. 1 root root 18 Nov 16 04:20 /tmp/newfile-symlink.text -> newfile-link2.tetx

当原始文件删除时,链接文件依然指向该文件,但目标消失。指向缺失的文件的软链接称为“悬挂的软链接”、

[[email protected] /]# rm -f newfile-link2.tetx

[[email protected] /]# ll /tmp/newfile-symlink.text

lrwxrwxrwx. 1 root root 18 Nov 16 04:20 /tmp/newfile-symlink.text -> newfile-link2.tetx

[[email protected] /]# cat /tmp/newfile-symlink.text

cat: /tmp/newfile-symlink.text: No such file or directory

时间: 2024-12-29 07:07:14

Linux 文件软链接、硬链接的相关文章

Linux基础系列(四)Linux系统软链接硬链接知识

软链接 软链接(Soft Link)也称为符号链接(SymbolicLink).Linux里的软链接文件就类似与Windows系统中的快捷键方式.Linux里的软链接文件实际上是一个特殊的文件,文件类型是l.软链接文件实际行可以理解为一个文本文件,这个文件中包含有软链接指向另一源文件的位置信息内容,因此,通过访问这个"快捷方式"就可以迅速定位到软链接所指向的源文件实体. 文件软链接 ln -s 源文件   目标文件 软链接的创建: 执行命令"ln -s 源文件  链接文件&q

linux文件系统软链接硬链接

引子 目前,UNIX的文件系统有很多种实现,例如UFS(基于BSD的UNIX文件系统).ext3.ext4.ZFS和Reiserfs等等. 不论哪一种文件系统,总是需要存储数据.硬盘的最小存储单位是扇区,数据所存储的最小单位则不是扇区,因为用扇区来存储效率就太低了.一个扇区只有512字节,而磁头是一个扇区一个扇区地读取,也就是说,如果文件是10MB,那么为了读这个文件,磁头必须要进行读取20480次.这样效率是极其低下的. 逻辑块 为了提高效率,就有了逻辑块(Block)的概念,也可以叫做数据块

Linux文件系统 软链接 硬链接

要理解软硬链接,就先要从ext文件系统的存储原理说起 硬盘上最小的存储单位是sector, 大小为512bytes. 因为数据往往都大于512bytes所以我们把多个sector连起来存储数据, 这样做的目的是减少磁盘I/O的负担 这个多个连起来的sector叫做block.Block的大小是2的n次方倍512bytes 存储空间分为:数据区和元数据区 数据区:block存储真实数据,一般大小为1kb 2kb, 4kb 元数据区: inode存储元数据,包括inode索引,名称,大小,修改时间等

Linux 20180413 软链接硬链接

软链接文件 所谓软链接就是存储路径.路径越长,文件越大.软链接可以节省空间,省去了拷贝. 如何做软链接? ln -s 源文件  软链接文件 不仅仅是可以软链接文件, 也可以软链接目录. 尽量使用据对路径,下面的红色说明不存在,原因就是使用了相对路径.使用了绝对路径之后就没有问题了. 实际工作场景的例子: df -h 查看磁盘分区 假设其中的一个磁盘的内存即将使用完毕,同时还有进程在不停的写入数据,可能会导致磁盘满导致问题. 解决办法: 把写的文件放到另外的有足够空间的分区下面.但是前提是不能弄这

Linux中有两种不同的文件链接类别。 符号链接(又称软链接) 硬链接

Linux中有两种不同的文件链接类别.符号链接(又称软链接)硬链接1.软链接文件的大小与源文件不同,软链接文件存储的是 软链接到源文件指向关系,所以很好理解他们的大小不同,可以理解为指针. 2.硬链接文件的索引节点编号,大小,最后修改时间完全相同,可以理解为 cp -p 了源文件,拷贝了一份源文件,且保留的源文件的属性 硬链接创建一个单独的文件,引用该硬链接文件的效果跟引用源文件一样:1.创建硬链接的方式方法一:cp -l 源文件 硬链接文件方法二:使用ln(取link之意),ln源文件 硬链接

实例讲解Linux系统中硬链接与软链接的创建

导读 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接.硬链接与软链接的区别从根本上要从Inode节点说起,下面就以实例讲解Linux系统中硬链接与软链接的创建,来实际看看Linux中两种链接方式的不同. 首先要弄清楚,在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现

Linux中的硬链接和软链接介绍和实验

在Linux中,链接分为硬链接和软链接,软链接又称为符号链接(Symbolic Link),在不带任何参数的情况下,使用ln命令创建的是硬链接. 硬链接:硬链接是通过索引节点来进行链接的.在Linux的文件系统中,保存在磁盘分区种的文件不管是什么类型的文件,都会为它分配一个编号,这个编号被称为索引节点编号(Inode Index)或Inode.多个文件名指向同一个索引节点(Inode),一般这种链接就称为硬链接.硬链接的作用之一是允许一个文件拥有多个有效路径名.这样用户可以建立硬链接到重要的文件

特殊权限 set_uid、set_gid、stick_bit,软链接文件,硬链接文件

        特殊权限 set_uid set_uid: 这里的s 就是set_uid 权限 linux 下的passwd文件是允许普通用户修改自己的密码的 (/etc/shadow :密码文件) set_uid 是让普通用户在执行此命令的时候,赋予普通用户临时 root权限,给一个文件设置uid,首先这个文件是二进制文件.可执行文件 怎么给一个文件授权set_uid权限 如:给ls 命令设置该权限 chmod u+s /usr/bin/ls 此时查看 ls -l /usr/bin/ls 可以

ln命令总结,软链接&硬链接&文件删除原理画图详解

ln命令总结,软链接&硬链接&文件删除原理画图详解

软链接文件和硬链接文件

软链接文件软链接文件类似于Windows的快捷方式,存放着另外一个文件的路径或目录路径.软链接尽力使用绝对路径进行例:/bin文件/bin应该是在/usr/bin中软链接文件多的位置:/lib64 若要对文件进行软链接,源文件目录放在前面,软链接文件放在后面. ln -s /tmp/ceshi/2.txt /root/ ![](http://i2.51cto.com/images/blog/201812/04/15b627c3e53804394d3f73d85a39805e.png?x-oss-