精华内容
下载资源
问答
  • linux创建文件的硬链接
    千次阅读
    2021-05-16 14:53:10

    在linux系统中,内核为每一个新创建的文件分配一个Inode(索引节点),每个文件都有唯一的inode号。文件属性保存在索引节点里,在访问文件时,索引节点被复制到内存,从而实现文件的快速访问。

    链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。有硬链接和软链接,软链接又称为符号链接

    一、硬链接

    实质上是一个指针,指向文件索引节点,系统并不为它重新分配inode。使用 ln 来创建

    ln hello.c hello 建立hello.c的硬链接hello

    特点:

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

    2. 只有在同一个文件系统才能创建(不能跨文件系统)

    例子: 为file1创建一个硬链接,file1的链接数目就会增加。当删除链接时,链接数减1,当链接数为0时,内核才会把文件内容从磁盘上删除。

    二、软链接(符号链接)

    使用 ln -s 来创建

    ln -s hello.c hello 建立hello.c的软链接hello

    特点:

    1. 类似于windows中的快捷方式

    2. 允许给目录创建软链接

    3. 能跨文件系统

    当file1创建一个软链接,file1的链接数目不会增加。源文件大小和链接文件大小是不一样的。

    三、区别

    对于硬链接 当修改链接文件或者源文件时,文件会被改变,因为其本质是一个指针。

    对于软连接 删除链接文件对源文件无影响,但是如果删除源文件,链接文件就找不到要指向的文件。软链接有自己的inode,并在磁盘上有一小片空间存放路径名

    原文:https://www.cnblogs.com/gezhuangzhuang/p/12739920.html

    更多相关内容
  • linux系统中,内核为每一个新创建文件分配一个Inode(索引节点),每个文件都有唯一的inode号。文件属性保存在索引节点里,在访问文件时,索引节点被复制到内存,从而实现文件的快速访问。 链接是一种在共享文件和...

    在linux系统中,内核为每一个新创建的文件分配一个Inode(索引节点),每个文件都有唯一的inode号。文件属性保存在索引节点里,在访问文件时,索引节点被复制到内存,从而实现文件的快速访问。

    链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。有硬链接和软链接,软链接又称为符号链接

    一、硬链接

    实质上是一个指针,指向文件索引节点,系统并不为它重新分配inode。使用 ln 来创建

    ln hello.c hello 建立hello.c的硬链接hello

    特点:

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

    2. 只有在同一个文件系统才能创建(不能跨文件系统)

    例子: 为file1创建一个硬链接,file1的链接数目就会增加。当删除链接时,链接数减1,当链接数为0时,内核才会把文件内容从磁盘上删除。

    二、软链接(符号链接)

    使用 ln -s 来创建

    ln -s hello.c hello 建立hello.c的软链接hello

    特点:

    1. 类似于windows中的快捷方式

    2. 允许给目录创建软链接

    3. 能跨文件系统

    当file1创建一个软链接,file1的链接数目不会增加。源文件大小和链接文件大小是不一样的。

    三、区别

    对于硬链接 当修改链接文件或者源文件时,文件会被改变,因为其本质是一个指针。

    对于软连接 删除链接文件对源文件无影响,但是如果删除源文件,链接文件就找不到要指向的文件。软链接有自己的inode,并在磁盘上有一小片空间存放路径名

    原文:https://www.cnblogs.com/gezhuangzhuang/p/12739920.html

    展开全文
  • 本文将介绍如何在 Linux 中为文件创建硬练级和符号(软)链接,并探讨两者之间的相同和不同之处。符号链接与 Windows 中的快捷方式很像。Windows 中的快捷方式是一个带箭头的图标,空间占用一般很小,仅仅提供了一个...

    摘要

    本文将介绍如何在 Linux 中为文件创建硬练级和符号(软)链接,并探讨两者之间的相同和不同之处。

    引言

    符号链接与 Windows 中的快捷方式很像。Windows 中的快捷方式是一个带箭头的图标,空间占用一般很小,仅仅提供了一个指向目标文件的通道,Linux 中的符号链接也类似。符号链接应用很灵活,可以为任意文件创建符号链接。

    虽然硬链接名字里面也有链接二字,但其与符号链接还是相当不一样的。要理解硬链接,我们得先了解若干基本概念。首先我们得搞明白 Linux 的文件是如何存储中,在 Linux 中当划分磁盘分区并格式化的时候,整个分区会被划分为两部分,即 Inode 区和 Data Block 区。

    Linux 中每个文件都被分成两部分存放,一部分是文件的唯一标识,Inode-number 以及属性信息放在 Inode 区的一个 inode 中,Inode-number 和 inode 是一一对应的;另一部分是文件的实际数据,放在 Data Block 区中,在 Linux 中我们需要通过文件的 inode 来找到存放文件数据的 data block。在一个硬盘分区,不可能有两个文件公用一个 inode。自然也不可能有两个文件的 inode-number 是一样的。

    如果我们将硬盘分区中所有的文件比作样一本书的话,inode 区就是其目录,data block 区对应其内容。我们必须通过目录才能找到具体的内容。我们可以通过 ls -il 列出文件的 inode-number(列出的第一个字段就是)。至此,我们初步弄明白了 Linux 中的文件到底是如何存储的,接下来我们还得弄明白 Linux 中的目录到底是怎样的文件。

    Linux 中目录是一张表,每个表项代表一个文件。目录中有多少文件,就有多少表项。每个表项都包括两样数据,一是文件名,再就是 inode-number。因此 Linux 中存取文件的过程就是,通过文件名找到对应的 inode-number,再找到 inode,最后找到对应的数据。

    硬链接就是在目录这张表中,让一个 inode-number 对应了多个文件名,文件 inode 和数据还是一份,没有变,只不过文件多了一个名字,这个名字就称为硬链接。

    用法

    符号链接

    Linux 中使用 ln (link 的缩写)命令加上 -s(symbolic 的缩写) 选项创建符号链接。

    ln -s [链接指向的文件] [链接名]

    • ln -s test/hello.sh hello:为 test 目录下的 hello.sh 文件创建一个名为 hello 的符号链接
    $ mkdir test # 创建 test 目录
    $ touch test/hello.sh # 在 test 目录下创建 hell.sh 文件
    $ vi test/hello.sh # 编辑 test 目录下的 hello.sh 文件,写入内容:echo "hello"
    $ ln -s test/hello.sh hello # 为 test 目录下的 hello.sh 文件创建名为 hello 的符号链接
    $ chmod 764 test/hello.sh # 修改 test 目录下的 hello.sh 的权限为可执行
    $ ls -l # 以长格式列出当前工作目录下的文件
    总用量 4
    lrwxrwxrwx 1 sdxx09 sdxx09   13 67 09:31 hello -> test/hello.sh
    drwxrwxr-x 2 sdxx09 sdxx09 4096 67 09:30 test
    $ ./hello # 直接执行 hello 可以打印出 hello 了,而不用转到 test 目录下去执行 hello.sh 文件(这就是符号链接的好处)
    hello
    $ rm test/hello.sh
    $ ls -l
    总用量 4
    lrwxrwxrwx 1 sdxx09 sdxx09   13 67 09:31 hello -> test/hello.sh # (这里会标红)
    drwxrwxr-x 2 sdxx09 sdxx09 4096 67 09:42 test
    $ ./hello
    -bash: ./hello: 没有那个文件或目录
    

    虽然我们可以通过符号链接文件来读、写和执行文件,但却不代表符号链接文件和源文件是同一个文件。如果符号链接文件指定的源文件被删除,那这个符号链接文件就会失效(用 ls -l 列出会发现标红),读取或执行会显示“没有哪个文件或目录”的提示,这种情况下,我们就称这个符号链接断裂了。

    硬链接

    Linux 中使用 ln (link 的缩写)命令创建硬链接。

    ln [链接指向的文件] [链接名]

    • ln 1.txt 2.txt:为 1.txt 文件创建一个名为 2.txt 的硬链接
    $ touch 1.txt
    $ ls -il
    总用量 0
    18388234 -rw-rw-r-- 1 sdxx09 sdxx09 0 67 10:08 1.txt
    $ ln 1.txt 2.txt
    $ ls -il
    总用量 0
    18388234 -rw-rw-r-- 2 sdxx09 sdxx09 0 67 10:08 1.txt
    18388234 -rw-rw-r-- 2 sdxx09 sdxx09 0 67 10:08 2.txt
    $ ln 1.txt 3.txt
    $ ls -il
    总用量 0
    18388234 -rw-rw-r-- 3 sdxx09 sdxx09 0 67 10:08 1.txt
    18388234 -rw-rw-r-- 3 sdxx09 sdxx09 0 67 10:08 2.txt
    18388234 -rw-rw-r-- 3 sdxx09 sdxx09 0 67 10:08 3.txt
    $ rm 2.txt
    $ ls -il
    总用量 0
    18388234 -rw-rw-r-- 2 sdxx09 sdxx09 0 67 10:08 1.txt
    18388234 -rw-rw-r-- 2 sdxx09 sdxx09 0 67 10:08 3.txt
    $ rm 3.txt
    $ ls -il
    总用量 0
    18388234 -rw-rw-r-- 1 sdxx09 sdxx09 0 67 10:08 1.txt
    

    创建前后,文件属性的第三个字段发生了改变,由一变成了二,表示文件的硬链接数目增加了一。当我们再为 1.txt 创建一个硬链接 3.txt 时,此时文件的硬链接数目变成了 3。但我们清楚,1.txt、2.txt、3.txt 本质上都是同一个文件。只不过这个文件有多个名字罢了。我们通过观察其 inode-number 可以发现,都是一样的,充分说明了这三个文件名实质上都指向了同一个文件。我们可以通过任意一个硬链接文件来读写和执行源文件。

    如果将源文件删除掉,创建的硬链接并不会像符号链接一样断裂。不过文件属性中的硬链接数据会减一。我们为 1.txt 文件创建了两个硬链接 2.txt 和 3.txt,那么就相当于这个文件在文件系统中有了三个文件名。这三个文件名都指向同一个文件内容,有点像狡兔三窟的感觉。删除了一个文件,只是将某个文件名从文件系统中移除了,我们仍然能通过余下的文件名来访问这个文件的数据。事实上,只要文件还存在一个文件名,这个文件就一切正常。除非,你将三个文件都删除,我们才无法通过文件名找到文件 inode,进而访问文件数据,文件这才叫真真被删除。

    硬链接由于文件系统限制,不如符号链接灵活。有两条需要注意:

    1. 强烈不推荐为目录创建硬链接。容易造成目录遍历死循环。具体原因很复杂,想了解的可以点击这里查看。
    2. 不能跨硬盘分区创建硬链接。比如你不能在 sda1 分区中创建一个指向 sda2 分区中源文件的硬链接。原因很简单,在不同的分区中文件的 inode-number 不再是唯一的。

    参考

    中国大学 MOOC | Linux系统管理 | 主题04 | 小节 2 | 创建文件链接

    展开全文
  •  默认情况下每个文件都有一个硬链接创建硬链接时,实际上是创建了附加的入口,当且仅当指向文件的所有硬链接都被删除之后文件才被真正删除,即数据块被清理。  为一个文件创建硬链接,类似于拷贝一个文件,但是...
  • 有时linux用户们为了使用方便,会想给电脑中的文件或目录创建链接硬链接。不过有些用户不清楚该怎么给这些文件或目录创建链接硬链接该怎么办呢?别急,现在小编就来教你解决的方法。解决方法:当我们需要在...

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

    97b1a07925af8f03c84ad95412e2c93d.png

    解决方法:

    当我们需要在不同的目录下用到同一个文件时,会用到以下命令。

    命令:ln

    作用:为某一个文件在另外一个位置建立一个同步的链接

    语法:ln [option] 源文件 目标文件

    描述:(1)同步性:改动一处,其它链接处也会随之改变;

    (2)软链接:ln -s 源文件 目标文件,在目标文件下建立虚拟链接(快捷键)

    硬链接:ln源文件 目标文件,在目标文件下创建和源文件一样大小的文件(真实存在)

    常用:ln -s 源文件 目标文件

    举例:ln -s /home/fei/workspace /var/www#在var/www文件夹里建立一个workspace的快捷键

    注意:文件权限问题,前提 /home/fei/workspace是可访问的。

    这就是如何给linux电脑中创建软链接或硬链接的方法了,不知道该怎么创建的用户就按照上面的方法进行创建吧。

    展开全文
  • linux创建和删除软、硬链接

    千次阅读 2021-05-15 16:19:44
    Linux系统中,内核为每一个新创建文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问。链接是一种在共享...
  • 链接Linux文件系统的基本组成部分之一。在本教程分享了如何使用ln命令创建链接硬链接链接是对另一个文件的引用。链接为同一个文件赋予多个名称,并允许它们同时存在于两个或多个位置。链接有两种类型:软...
  • [转]linux创建链接文件的两种方法

    千次阅读 2021-05-11 19:42:50
    转自 http://topic.csdn.net/u/20120930/11/3d9e5a0d-6dad-4dee-8a9d-6ad50f52f69e.html?r=79806698一、 链接的分类:链接分为软链接硬链接:1> 软链接:软链接又叫符号链接,这类文件包含了另外一个文件的路径...
  • Linux链接硬链接

    千次阅读 2022-03-14 12:39:51
    Linux硬链接的概念及使用
  • Linux-硬链接和软链接

    千次阅读 2021-05-15 11:47:13
    链接硬连接指通过索引节点来进行连接。在Linux文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种...
  • linux硬链接和软链接

    千次阅读 2022-06-15 23:29:58
    linux硬链接和软链接
  • Linux建立软链接硬链接

    万次阅读 多人点赞 2019-03-17 18:56:12
    链接 说明:软链接仅仅包含所链接...2.软链接可以跨文件系统 ,硬链接不可以 3.软链接可以对一个不存在的文件名进行链接 4.软链接可以对目录进行链接 建立软链接:ln -s 源文件或目录 目标文件或目录 示例: ln -...
  • Linux 系统如何创建符号链接

    千次阅读 2021-05-11 02:50:37
    欢迎,来自IP地址为:122.6.224.206 的朋友本文将详细讲解 Linux 系统中符号链接的概念和用法,以及在使用符号... 创建符号链接就如同给文件创建别名一样。如果尝试访问符号链接,则实际访问的是符号链接指向的源...
  • linux 建立链接文件命令

    千次阅读 2021-06-22 14:46:35
    ln 命令用于给文件创建链接,根据 Linux 系统存储文件的特点,链接的方式分为以下 2 种: 软链接:类似于 Windows 系统中给文件创建快捷方式,即产生一个特殊的文件,该文件用来指向另一个文件,此链接方式同样适用...
  • linux创建链接命令

    千次阅读 2021-09-22 21:30:59
    linux创建链接软命令: 具体用法是:ln -s 源文件 目标文件。 (如树莓派的wiringPi库的建立软链接命令) ln -s libwiringPi.so.2.52 libwiringPi.so ln : 指令 -s:参数 libwiringPi.so.2.52:要被链接
  • Linux下软链接创建硬链接创建

    千次阅读 2019-09-05 21:43:45
    注意:创建的软链接的大小与要被创建文件的绝对路径的大小有关。 也可以给目录创建快捷方式,创建方式是一样的。 硬链接创建 硬链接相当于给原来的文件做了一个备份。注意,硬链接得这样理解。 先说硬链接创建...
  • 因此,在Linux系统中,采用了现在常用的两种文件共享方式——基于索引节点的共享方式(硬链接)和基于符号链的共享方式(软链接)。 一、基于索引节点的共享方式(硬链接) 1、前言 在讲这两种链接方式之前,我们先...
  • 问题1:我创建了一个硬链接文件,但是我不知道放在那里了,请问怎么办?思路:查找文件可以利用find命令。硬链接的特性,不会跨文件系统,所以源文件在哪个文件系统中,就在那里找硬链接文件和源文件具有相同的inode...
  • linux其他命令(查找文件、软链接硬链接
  • Linux中硬链接与软链接

    千次阅读 2021-05-15 15:50:02
    一、硬链接(一)什么是硬链接硬链接是指通过索引节点来进行链接。在Linux中一个索引节点可能被多个文件名指向,这样就会产生多个硬链接,它的作用是可以防止误删文件。删除其中一种硬链接并不影响索引节点和其它的硬...
  • linux软连接和硬链接

    千次阅读 2022-04-03 16:59:17
    若加上 - s选项则是创建链接,不加是创建硬链接 /* 创建软连接 */ ln -s ./pip3.6 ./pip /* 创建硬链接 */ ln ./pip3.6 ./pip 查看文件有没有链接 whereis pip :查看文件所在位置 进入所在目录 ls -l |grep pip ...
  • 链接Linux中常用的命令,它的功能是某一文件在另外一个位置建立一个同步的链接,相当于C语言中的指针,建立的链接直接指向源文件所在的地址,软链接不会另外占用资源,当同一文件需要在多个位置被用到的时候,就...
  • linux中软链接硬链接

    千次阅读 2022-05-23 10:01:40
    链接:ln -s 源文件或目录 链接文件或目标位置 ln -s 创建链接 相当于创建了一个快捷方式 软链接建立时原始文件可以不存在 如果源文件被删除 那么软链接失效 如果删除源文件之后又重新建立源文件,那么软链接...
  • Linux快速创建文件链接

    万次阅读 2019-01-25 15:11:45
    创建文件硬链接:ln 源文件 链接文件 注意:软链接不占存储空间,硬链接类似python变量引用,一个变量可有多个引用,当所有引用被删除后文件才真正被删除。 创建文件链接创建文件硬链接:  ...
  • Linux中常常会用到链接,就像在PC电脑中的桌面快捷方式一样。 1. 使用方式:ln [option] source_file dist_file  -f 建立时,将同档案名删除  -i 删除前进行询问   -s 软链接,否则默认为硬链接   n -s...
  • Linux创建符号链接(软链接

    千次阅读 2021-07-19 14:10:51
    Linux创建符号链接(软链接)一、硬链接二、符号链接(软链接) 一、硬链接 硬链接是通过索引节点进行的链接。在Linux中,多个文件指向同一个索引节点是允许的,像这样的链接就是硬链接硬链接只能在同一文件...
  • 符号链接(也称为符号链接或软链接)是一种特殊类型的文件,它只是指向另一个文件或目录,就像Windows中的快捷方式一样,创建符号链接就像为实际文件创建别名一样。如果尝试访问符号链接,则实际上是访问符号链接指向...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 466,121
精华内容 186,448
热门标签
关键字:

linux创建文件的硬链接

友情链接: chatroom3.rar