首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么不允许硬链接到UNIX/Linux中的目录

硬链接到UNIX/Linux中的目录是不被允许的,因为这可能会导致文件系统的不一致和数据丢失。

在UNIX/Linux系统中,硬链接是通过inode来实现的,它是一个文件或目录的唯一标识符。当创建一个硬链接时,它会指向相同的inode,因此对其中一个文件或目录进行修改会影响到另一个文件或目录。如果删除一个硬链接,其他硬链接仍然可以访问该文件或目录,因为它们都指向相同的inode。

目录是一个特殊的文件,它包含了其他文件和目录的列表。如果允许硬链接到目录,可能会导致文件系统的循环链接,从而使得文件系统无法正常工作。例如,如果有两个目录A和B,它们之间存在循环链接,那么当尝试遍历A目录时,可能会导致无限循环,从而使得文件系统崩溃。

因此,为了保证文件系统的一致性和数据的安全,UNIX/Linux系统不允许硬链接到目录。如果需要在不同位置引用相同的目录,可以使用符号链接(软链接)来实现。符号链接是一个特殊的文件,它包含了指向另一个文件或目录的路径。与硬链接不同,符号链接不会增加目标文件或目录的链接计数,因此不会影响文件系统的一致性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

linux软链接和链接

链接文件 链接文件有两个限制: 1、不允许目录创建链接; 2、只有在同一文件系统文件之间才能创建链接。 对链接文件进行读写和删除操作时候,结果和软链接相同。...连接命令是   ln -d existfile newfile 链接文件有两个限制   1)、不允许目录创建链接;   2)、只有在同一文件系统文件之间才能创建链接。   ...二  两者之间区别 连接指通过索引节点来进行连接。在Linux文件系统,保存在磁盘分区文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。    ...在Linux,多个文件名指向同一索引节点是存在。一般这种连接就是连接。连接作用是允许一个文件拥有多个有效路径名,这样用户就可以建立接到重要文件,以防止“误删”功能。...软链接也有链接没有的缺点,因为链接文件包含有原文件路径信息,所以当原文件从一个目录下移到其他目录,再访问链接文件,系统就找不到了;还有它要系统分配额外空间用于建立新索引节点和保存原文件路径。

8.6K50

Linux基础知识点

i节点是linuxUnix是v节点。...例如,在Linux,所有的账号密码都记录在/etc/shadow这个文件里面,这个文件权限为---------- 1 root root,可见root没有读写权限,但是为什么root实际上可以读取和修改...因此在创建目录时候一般都是具有可执行权限。 9.链接与软链接 9.1为什么不能给目录建立链接 链接有两个限制,一个是不能跨文件系统,一个是不能连接到目录。...如果对目录建立链接,比如将/etc建立一个链接/etc_hd时,那么在/etc_hd目录时,那么在/etc_hd下面的文件名要创建链接,而不是仅连接到/etc_hd与/etc而已。...目录数据实体记录着每一个文件与该文件inode节点地址。可见,链接本质上是文件另一个别名。

1.6K21

linux系统目录结构由来和发展

这篇主要是介绍“linux系统目录结构由来和发展”内容了,下文有实例供大家参考,对大家了解操作过程或相关知识有一定帮助,而且实用性强,希望这篇文章能帮助大家解决linux系统目录结构由来和发展问题...长久以来,我也感到很费解,不明白为什么这样设计。像大多数人一样,我只是根据《Unix文件系统结构标准》(Filesystem Hierarchy Standard),死记背不同目录区别。   ...昨天,我读到了Rob Landley简短解释,这才恍然大悟,原来Unix目录结构是历史造成。   ...随着硬盘容量越来越大,各个目录含义进一步得到明确。   /:存放系统程序,也就是At&t开发Unix程序。   /usr:存放Unix系统商(比如IBM和HP)开发程序。   ...到此这篇关于“linux系统目录结构由来和发展”文章就介绍到这了,更多相关linux系统目录结构由来和发展内容,!

37510

Linux学习笔记之详解linux软连接和链接

Linux文件系统,保存在磁盘分区文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux,多个文件名指向同一索引节点是存在。一般这种连接就是连接。...连接作用是允许一个文件拥有多个有效路径名,这样用户就可以建立接到重要文件,以防止“误删”功能。其原因如上所述,因为对应该目录索引节点有一个以上连接。...连接命令是 ln -d existfile newfile 链接文件有两个限制 1)、不允许目录创建链接; 2)、只有在同一文件系统文件之间才能创建链接。...0x01 两者之间区别 连接指通过索引节点来进行连接。在Linux文件系统,保存在磁盘分区文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。...在Linux,多个文件名指向同一索引节点是存在。一般这种连接就是连接。连接作用是允许一个文件拥有多个有效路径名,这样用户就可以建立接到重要 文件,以防止“误删”功能。

3.2K50

Linux链接与软链接

Linux,连接文件有两种,一种类似于Windows快捷方式,可以让你快速地链接到目标文件(或目录),这种称为软链接(soft link),也叫作符号链接(symbolic link);另一种则是通过文件系统...但是,Unix/Linux系统,允许多个文件名指向同一个inode号码。...(2)不能连接到目录。因为链接连接到目录可会导致目录inode与实体block形成环状。此时,如果删除目录,会导致目录实体block无法被系统访问,产生孤立目录(从根目录无法再访问)。...比如对目录/etc在其目录或其子目录建立一个链接/etc/etc_hd,此时就会形成环状,如下图所示: ?...not allowed to directories in UNIX/Linux.StckOverflow

23.3K20

Linux系列之链接

前言 在类Unix系统,一个文件有可能被多个名字引用。我们使用链接来实现这一点,链接共有两种类型:链接和软链接,本文分别来介绍它们。 链接 链接也允许指向文件,但与符号链接方式不同。...它们是Unix创建链接原始方式。默认情况下,每个文件都有一个单独链接,该链接给出了文件名称,当我们创建一个链接时,我们是为一个文件创建一个额外目录条目。...其中有两个限制: 链接不能引用自己文件系统以外文件。它所引用文件必须在同一磁盘分区上。 链接不能引用目录链接与文件本身是没有区别的。...我在下面列出了一个包含链接和符号链接目录,我们可以看到,链接没有特殊指示,表明它是一个链接,而符号链接则有明显指示(权限l和显示它链接到什么->)。...它们也被称为软链接或符号链接,它们被用来指向任意计算机上任何文件或目录,类似于Windows快捷方式和Mac OS别名。

2.4K20

面试必备(背)-Linux八股文系列!

Linux 概述 什么是Linux Linux 是免费可自由传播Unix 操作系统,是一个基于 POSIX 和 Unix 多用户、多任务、支持多线程和多 CPU 操作系统。...为什么 Linux 体系结构要分为用户空间和内核空间原因? 现代 CPU 实现了不同工作模式,不同模式下 CPU 可以执行指令和访问寄存器不同。...它主要用于将 Linux 操作系统加载到主内存,以便它可以开始运行。 Linux 目录结构是怎样? 这个问题,一般不会问。更多是实际使用时,需要知道。...不足:因为链接文件包含有原文件路径信息,所以当原文件从一个目录下移到其他目录,再访问链接文件,系统就找不到了,而链接就没有这个缺陷,你想怎么移就怎么移;还有它要系统分配额外空间用于建立新索引节点和保存原文件路径...总结区别如下: 链接不可以跨分区,软件可以跨分区。 链接指向一个 inode 节点,而软链接则是创建一个新 inode 节点。

3.3K42

停机优化 - 保持游戏DAU4个技巧

2.2.1 为什么不用mv方式呢? ? 众所周知,在操作系统,对目录修改(MOVE)只是在文件系统改个名而已,数据块本身不会修改。...2.2.1.1 Linux平台对目录MV 和 CP差别 我们先来做一个对10G文件cp和mv耗时测试,算了下差不多是3万倍 ? 为什么相差这么大呢? 这个要说说Linux文件系统。...刚刚我们在查看目录时发现有. 和 .. 文件(Linux目录也看作是文件),目录链接数和这个也有关系。 ls 命令-l参数结果中有一项是链接数 ?...简单看,你创建一个目录,他链接数是2,在这个目录下创建1级子目录,该目录链接会+1 ,看起来是一个目录链接是一级子目录数量+2.(小声说,这个是我猜,没找到官网说明。...另外这个是在不允许目录创建链接前提下,WikipediaHard link提到现代操作系统不允许目录创建软链接,但UNIX System V是可以) 说完目录是inode 和 文件名对应表后

78760

Java面试——Linux

十四、为什么 Linux 体系结构要分为用户空间和内核空间原因: 【1】现代 CPU 实现了不同工作模式,不同模式下 CPU 可以执行指令和访问寄存器不同。...**也就是说在 Linux 系统中有一个重要概念:一切都是文件。其实这是 Unix 哲学一个体现,而 Linux 是重写 Unix 而来,所以这个概念也就传承了下来。...在 Unix 系统,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件方式实现对硬件访问。...软链接不足:因为链接文件包含有原文件路径信息,所以当原文件从一个目录下移到其他目录,再访问链接文件,系统就找不到了,而链接就没有这个缺陷,你想怎么移就怎么移;还有它要系统分配额外空间用于建立新索引节点和保存原文件路径...实际场景下,基本是使用软链接总结区别如下: 【1】链接不可以跨分区,软件可以跨分区。 【2】链接指向一个 inode 节点,而软链接则是创建一个新 inode 节点。

94030

ln命令

[origin] [target] 参数 -b, --backup: 删除,覆盖目标文件之前备份。 -d, -F, --directory: 建立目录链接。...-n, --no-dereference: 把符号链接目的目录视为一般文件。 -s, --symbolic: 对源文件建立符号链接,而非链接。...链接方式 软链接 软链接以路径形式存在,类似于Windows操作系统快捷方式。 软链接可以 跨文件系统,链接不可以。 软链接可以对一个不存在文件名进行链接。 软链接可以对目录进行链接。...链接 链接,以文件副本形式存在,但不占用实际空间。 不允许目录创建链接。 链接只有在同一个文件系统才能创建。 示例 为file.txt创建软链接filesoftlink。.../linux-comm-ln.html https://www.tutorialspoint.com/unix_commands/ln.htm

94020

Linux软链接与链接实战解析

1.链接 一般情况下,文件名和inode号码是"一一对应"关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。...inode特殊作用 由于inode号码与文件名分离,这种机制导致了一些Unix/Linux系统特有的现象。 有时,文件名包含特殊字符,无法正常删除。...在Linux,多个文件指向同一个索引节点是允许,像这样链接就是链接。链接只能在同一文件系统文件之间进行链接,不能对目录进行创建。...2.软链接(也叫符号链接)与链接不同,文件用户数据块存放内容是另一文件路径名指向。软链接就是一个普通文件,只是数据块内容有点特殊。软链接可对文件或目录创建。(快捷方式指就是软链接)。...例如某个文件文件系统空间已经用完了,但是现在必须在该文件系统下创建一个新目录并存储大量文件,那么可以把另一个剩余空间较多文件系统目录接到该文件系统,这样就可以很好解决空间不足问题。

6.1K20

Linux文件软链接和链接

1.1索引节点 索引节点是指在许多类Unix文件系统一种数据结构。每个索引节点保存了文件系统一个文件系统对象元信息数据,但不包括数据内容或者文件名。...1.2连接 一般情况下,文件名和inode号码是”一一对应”关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。...链接就是同一个文件使用了多个别名(他们有共同 inode)。在Linux,多个文件名指向同一索引节点是存在。一般这种连接就是连接。...连接作用是允许一个文件拥有多个有效路径名,这样用户就可以建立接到重要文件,以防止“误删”功能。其原因如上所述,因为对应该目录索引节点有一个以上连接。...只删除一个连接并不影响索引节点本身和其它连接,只有当最后一个连接被删除后,文件数据块及目录连接才会被释放。也就是说,文件真正删除条件是与之相关所有连接文件均被删除。

7.6K01

【操作】使用 Cobalt Strike 对 Linux 主机进行后渗透

主要是为了对目标网络形成控制。...长话短说,有两种方法可以在 Cobalt Strike Linux 主机上线: 0x01 方法一:SSH 会话 1、原理篇 【SSH 会话】是针对 UNIX 目标进行后渗透 Cobalt Strike...那么你可能会问了,那如果有了 SSH 凭据,为什么我不自己登上去看,还非要上个 CS 干什么,毕竟 CS 又不是稳控。 个人认为这主要是为了在后渗透网络拓扑把目标网络主机们串起来,便于横向。...因为 SSH 会话生成 Beacon 还具有连接到 TCP Beacon 功能。这样可以形成一个 Win → Linux → Win 拓扑。...大多数 UNIX 目标已经提供了 SSH 程序。 功能上已经实现了 Beacon 基本功能了。

2.5K10

Linuxln命令用法以及分析

文件系统 在Linux每一个文件大体上由三个部分组成: 文件名:这个是用来标记这个文件符号,也就是我们所理解文件名; inode:inode存放是文件metadata,也就是元信息,包括了文件权限...链接还有一些非常有趣性质: 不允许目录创建链接 为什么不允许目录创建链接呢?原因其实非常好玩。事实上Linux目录本身是有链接,我们知道每一个文件夹下都至少会有两个链接,一个是'.'...、表示当前文件目录。事实上,这个'.'就是对当前文件一个链接,而'..'...是对当前文件夹目录链接,这就是为什么如果我们新建一个文件夹后,用stat查看这个文件夹链接数,会发现这个数至少是2而不是1。 既然有链接,那么为什么不允许用户创建呢?原因也很有趣。...显然这是一个不可描述问题。因此,为了避免这种情况发生,Linux设计者才做了这样一个规定。 只有在同一文件系统文件之间才能创建链接。

3.1K30

彻底明白Linux链接和软链接

只有在同一文件系统文件之间才能创建链接,不能对目录进行创建,但是这个链接又可以建立多个,也就是可以有多个文件指向同一个索引节点,或者说一个文件可以拥有多个路径名,因此一个文件可以对应多个文件名。...那么,为什么目录就不能创建链接?我们来试一下。...如上图一样,是不允许用户给目录去创建链接目录树大家知道吧,如果给目录创建链接,我们仔细想一想,这样的话那目录树是不是就变成环形了,当我们要定位这个目录文件时候,就不能通过名字去定位了。...我们尝试删除链接看看: 然而,在Linux系统,都会包含多个文件系统,这些文件系统都会位于不同磁盘或者分区,就如前面所说链接只能在同一文件系统下创建,这是不是有点不太方便?...有时候我们总是需要执行很多命令,而且执行这些命令又是对应不同目录路径,有些路径真是又长有难记,敲出整个路径真是费劲,效率也变低了,这时候软链接作用就体现出来了,把这些又长又臭路径创建一个软链接到当前路径下

4.8K10

整理了一些常见Linux面试题

一、Linux 概述 1. 什么是Linux Linux是一套免费使用和自由传播Unix操作系统,是一个基于POSIX和Unix多用户、多任务、支持多线程和多CPU操作系统。...为什么 Linux 体系结构要分为用户空间和内核空间原因? 1. 现代 CPU 实现了不同工作模式,不同模式下 CPU 可以执行指令和访问寄存器不同。 2....总结区别如下: · 链接不可以跨分区,软件可以跨分区。 · 链接指向一个 inode 节点,而软链接则是创建一个新 inode 节点。...类似于Windows操作系统快捷方式 2.软链接可以 跨文件系统 ,链接不可以 3.软链接可以对一个不存在文件名进行链接 4.软链接可以对目录进行链接 链接:...2.不允许目录创建链接 3.链接只有在同一个文件系统才能创建 需要注意: 第一:ln命令会保持每一处链接文件同步性,也就是说,不论你改动了哪一处,其它文件都会发生相同变化

1K40

Windows 7 mklink命令详解

mklink是Windows 7下一个类似于linux下In命令,其作用是在NTFS文件系统创建文件或目录链接(类似于桌面快捷方式)。...; 4、链接不允许对空文件建立链接,符号(软)链接可以。...Mklink命令用途 转移系统用户设置文件   Windows 7将用户设置与系统文件分离,所有的用户设置及用户文件都存储在C盘下User目录(在中文版Windows 7显示为“用户”目录...Windows 7安装完成后可以将C盘下User目录转移到非系统分区,如D盘,这样,重装系统后只要重新将C盘下User目录接到D盘即可。.../S /Q 3.创建C盘下User软件链接,链接到D盘User目录:mklink /J “C:\Users” “D:\Users” 重装系统后只需重复第二条和第三条命令及可 有了这条命令就再也不怕重新系统了

1.3K20

不知道这十项Linux常识,就别说自己玩过Linux

主流发行版: Red Hat Enterprise Linux、CentOS、SUSE、Ubuntu、Debian、Fedora、Gentoo 3、UnixLinux Linux是基于Unix,属于...Linux继承了Unix以网络为核心设计思想,是一个性能稳定多用户网络操作系统。 4、Swap分区 Swap分区,即交换区,系统在物理内存不够时,与Swap进行交换。...ACK(K+1) 请求端和响应端建立TCP连接,完成三次握手,开始进行数据传输 8、linux系统目录结构 Linux文件系统采用带链接树形目录结构,即只有一个根目录(通常用“/”表示),其中含有下级子目录或文件信息...;子目录又可含有更下级目录或者文件信息。...9、链接和软链接 链接(Hard Link):链接是使用同一个索引节点(inode号)链接, 即可以允许多个文件名指向同一个文件索引节点(链接不支持目录链接,不能跨分区链接),删除一个链接,

76410

Linux链接文件_软链接和链接

一、链接文件介绍 Linux操作系统“链接文件”分为链接(hard link)和软链接(symbolic link)。两种链接本质区别在于inode。...而链接是直接再建立一个inode链接到文件放置块领域,即进行连接时该文件内容没有任何变化,只是增加了一个指向这个文件inode,并不会额外占用磁盘空间。...注:上例du命令用来计算文件或者目录大小,-k表示以KB为单位,这里4,就指的是4KB;ll命令等同于 ls -l。...在上例,删除源文件passwd后,文件大小依旧没有改变。说明链接文件并不会复制数据块额外占用磁盘空间。 再看链接另外一个限制——不允许目录链接。例: ?...上例,如果删除源文件,则不能读取软链接文件,而且使用命令ll查看时发现颜色也有变化。 说明目录不可以做链接,但可以做软链接,例: ?

6.5K30
领券