精华内容
下载资源
问答
  • 创建一个文件的硬链接
    千次阅读
    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

    更多相关内容
  • ln命令是linux系统中一个非常重要命令,英文全称是“link”,即链接的意思,它的功能是为某一个文件在另外一个位置建立一个同步的链接。 一种是hard link,又称为硬链接;另一种是symbolic link,又称为符号链接。 ...
  • 硬链接与软链接

    2021-01-07 22:45:23
    在我们创建了file文件(指向节点是1062772),再将file1文件硬链接到file文件时,实质上是将file1文件也指向了1062772节点,当只有指向1062772节点的文件全部都删除的时候,也就是file1和file2都删除的时候,这...
  • 一般情况下,文件的硬链接都是通过命令行的方式来创建的。本资源就是将那命令集成到鼠标右键中,更方便地创建文件硬链接
  • 在本教程分享了如何使用ln命令创建软链接和硬链接。链接是对另一个文件的引用。链接为同一个文件赋予多个名称,并允许它们同时存在于两个或多个位置。链接有两种类型:软链接或符号链接:这只是原始文件的快捷方式。...

    软链接是Linux文件系统的基本组成部分之一。在本教程分享了如何使用ln命令创建软链接和硬链接。

    链接是对另一个文件的引用。链接为同一个文件赋予多个名称,并允许它们同时存在于两个或多个位置。

    链接有两种类型:

    软链接或符号链接:这只是原始文件的快捷方式。

    硬链接:这指向原始文件的存储位置。

    此图显示了两种类型的链接如何工作:

    dd415020b428bc59ebaedafb1f99c61f.png

    硬链接和软链接都是使用ln命令创建的。

    在本教程中,我将向您展示如何使用ln命令在Linux中创建各种类型的链接。

    ln命令的示例

    ln命令的语法很简单:

    ln [option] target_file link_name

    让我向您展示一些使用ln命令在Linux中创建链接的示例。

    1.创建指向文件的硬链接

    要创建文件的硬链接,可以使用ln命令,而无需使用以下任何选项:

    ln target_file link_name

    9f139ca3b8e91b81e13c91df9f92b219.png

    2.创建到文件的软链接

    要创建指向文件的符号链接,请将该选项-s与目标文件名和链接名一起使用

    ln -s target_file link_name

    3d8b3be3adcdca96ec4e16ef24087219.png

    大多数Linux终端将以不同的颜色以及指向的目的地显示软链接。

    您还会注意到,长列表视图中的文件以链接开头l而不是通常的链接开头-。

    即使终端没有以不同的颜色显示软链接,您也可以通过这种方式识别链接。

    3.创建到目录的软链接

    创建到目录的软链接与创建到文件的符号链接相同。您只需要将目标文件名/路径替换为目录名/路径。

    ln -s target_directory link_name

    39d941b5292f5be2caf8aeba4457333a.png

    您会注意到,在Linux终端中,软链接和硬链接的颜色通常是不同的。硬链接到目录是不可能的(通常)。

    4.更新现有的软链接(或硬链接)

    您可以覆盖现有链接。默认情况下,如果您尝试使用现有链接指向新文件,则会引发错误:

    ln: failed to create symbolic link 'soft-link-to-file': File exists

    ln命令为此有两个选项:

    -i:交互模式询问您是否要覆盖现有链接。

    -f:强制模式仅更新现有链接而没有任何确认。

    假设您要强制更新符号链接。您可以执行以下操作:

    ln -sf new_file existing_soft_link

    注意添加sfor软链接,否则您会将软链接转换为硬链接。

    074c5d6ae7ba0a0af65726ab58f20eb6.png

    温馨提示:通过一系列链接获取原始文件

    通常,将ls命令与该-l选项一起使用时,它将显示其指向的文件。

    但是,如果有链接链,则不会显示原始文件。例如,您创建一个文件链接,然后创建另一个链接到第一个链接。在长列表中,第二个链接将指向第一个链接。

    要从链接链中查找原始文件,可以readlink -f按以下方式使用:

    readlink -f soft_link

    该-f选项代表“跟随”,如“跟随链条”。

    此图更好地说明了示例:

    5f5ed37c74d750e0c8d255ac3611ba4a.png

    为什么需要链接?

    既然您知道如何创建链接,那么简单介绍为什么我们需要链接?它们的实际用途是什么?

    可能有几个用例。假设您下载了包含其代码和可执行文件的软件。您将整个内容保留在/opt目录中。但是要从任何地方运行该程序,您需要将其可执行文件放在/usr/bin目录中。

    如果将可执行文件移到该目录,则它可能无法工作,因为它需要访问某些代码,并且无法从/usr/bin目录中找到这些文件的路径。您可以在这里在/usr/bin目录中创建指向该可执行文件的链接。

    这样,该程序可以在系统上的任何位置运行,并且该程序的可执行文件保留在其原始程序文件夹中。

    链接是Linux的重要组成部分。您会发现它们已在系统中的许多地方使用。只需查看/lib目录,您将看到大量的软链接。

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

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

    dd14604062db33490047b630f9afe12c.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电脑中创建软链接或硬链接的方法了,不知道该怎么创建的用户就按照上面的方法进行创建吧。

    展开全文
  • 问题1:我创建一个硬链接文件,但是我不知道放在那里了,请问怎么办?思路:查找文件可以利用find命令。硬链接的特性,不会跨文件系统,所以源文件在哪个文件系统中,就在那里找硬链接文件和源文件具有相同的inode...

    问题1:我创建了一个硬链接文件,但是我不知道放在那里了,请问怎么办?

    思路:查找文件可以利用find命令。

    硬链接的特性,不会跨文件系统,所以源文件在哪个文件系统中,就在那里找

    硬链接文件和源文件具有相同的inode号,可以利用find的-inum参数和-samefile参数来查找。

    -inum参数表示按照inode号去查找,首先要查看文件的inode号

    -samefile参数表示查找和某个文件相同的inode的文件,不用查看文件的inode号[[email protected] oldboy]# stat oldboy.txt  //获取文件的inode号码

    File:`oldboy.txt‘

    Size:55              Blocks: 8          IO Block: 4096   regular file

    Device: 803h/2051d      Inode: 148677      Links: 2

    Access: (0644/-rw-r--r--)  Uid: (   0/    root)   Gid: (   0/    root)

    Access: 2016-04-17 15:32:13.861206307 +0800

    Modify: 2016-04-17 14:20:13.246213893 +0800

    Change: 2016-04-17 16:04:17.023206128 +0800

    [[email protected] oldboy]# find / -inum 1486772>/dev/null //根据Inode号码查找,把错误提示丢弃

    /usr/local/xiaoming

    /data/oldboy/oldboy.txt

    [[email protected] oldboy]#

    问题2:我对文件n创建了一个软连接文件,但是我不知道放在哪里了,也不知道叫什么名字,请问怎么办?

    思路:软链接可以跨文件系统,并且inode、属性都和源文件的不同没有规律可以寻

    当我们使用ls –l命令查看链接文件的时候,它都会以:filename -> link filename方式显示。

    我们寻找当前系统内所有的链接文件,然后过滤我们要找的源文件名n,就能查看有哪些文件指向了源文件。[[email protected] oldboy]# find -type l -exec ls -l {} \;

    lrwxrwxrwx 1 root root 1 Apr 17 16:21 ./xiaohong-> 1

    lrwxrwxrwx 1 root root 10 Apr 17 16:16./oldgirl.txt -> oldboy.txt

    [[email protected] oldboy]#    //找到文件后,长格式显示,然后过滤源文件名

    [[email protected] oldboy]# find -type l -exec ls -l {}\;| grep ‘oldboy.txt‘

    lrwxrwxrwx 1 root root 10 Apr 17 16:16./oldgirl.txt -> oldboy.txt

    原文:http://lixin15.blog.51cto.com/3845983/1764780

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

    千次阅读 2021-05-15 16:19:44
    在Linux系统中,内核为每一个创建文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问。链接是一种在共享...
  •  默认情况下每个文件都有一个硬链接创建硬链接时,实际上是创建了附加的入口,当且仅当指向文件的所有硬链接都被删除之后文件才被真正删除,即数据块被清理。  为一个文件创建硬链接,类似于拷贝一个文件,但是...
  • 创建软连接和硬链接

    千次阅读 2020-06-21 21:44:57
    硬链接一个缺陷:只能创建指向文件硬链接,不能创建指向目录的硬链接。但软链接可以指向文件或目录。 软链接的原理:就跟我们在window ln 命令 创建链接(软连接和硬链接) linux中文件存储的方式,是文件名和...
  • windows下如何创建硬链接

    千次阅读 2019-08-14 15:40:44
    最终找到了,这种创建硬链接的方法,在不重新安装系统,分配磁盘空间的前提下,可以把自动储存的数据安全的转移到其他盘符。 具体操作如下: 1. 先找到需要转存的文件夹A; 2. 将文件夹A整...
  • ln 创建软链接硬链接命令

    千次阅读 2021-05-25 14:05:10
    1、硬链接其实是创建一个指向文件的节点(inode)(源文件的节点数加1了),我们可以把硬链接理解成源文件的一个备份副本,硬链接可以有效的防止文件被删除,因为在Linux系统中,删除一个文件的实质是删除该文件的...
  • ln命令是linux系统中一个非常重要命令,英文全称是“link”,即链接的意思,它的功能是为某一个文件在另外一个位置建立一个同步的链接。 一种是hard link,又称为硬链接;另一种是symbolic link,又称为符号链接。 ...
  • 在Linux中常常会用到链接,就像在PC电脑中的桌面快捷方式一样。 1. 使用方式:ln [option] source_file dist_file  -f 建立时,将同档案名删除 ... -s 软链接,否则默认为硬链接   n -s abc cde
  • ln命令 语法: ln -s[原文件][目标文件...创建文件/etc/issue的连接/tmp/issue.hard 软链接? 打比方,软连接就类似于Windows的快捷方式。当你点击Windows的快捷图标时,图标会调用源文件,而软链接也是如此。这也
  • windows创建文件硬连接

    千次阅读 2018-09-03 19:26:17
    网上有说文件夹(目录)是不能创建硬链接的,实验确实创建成功了, 且解决了本人一个困扰良久的问题 使用情景举例: 安装了一个SVN客户端,只是在安装的时候忽略了选择安装路径,默认装在C盘Program Files下 在IDEA中使用...
  • 如果要想说清楚 ln 命令,则必须先解释下 ext 文件系统(Linux 文件系统)是如何工作的。我们在前面讲解了分区的格式化就是写入文件系统,而我们的 Linux 目前使用的是 ext4 文件系统。如果用一张示意图来描述 ext4 ...
  • [转]linux创建链接文件的两种方法

    千次阅读 2021-05-11 19:42:50
    转自 ... 软链接:软链接又叫符号链接,这类文件包含了另外一个文件的路径。可以连接任意文件和目录,也可以连接不同的文件系统文件,也可以连接不存在的文件,还可以循环连接自己。2&...
  • Linux下软链接的创建硬链接创建

    千次阅读 2019-09-05 21:43:45
    软链接的创建 Linux下的软链接就相当于Windows下的快捷方式。...硬链接相当于给原来的文件做了一个备份。注意,硬链接得这样理解。 先说硬链接创建命令: ln 要被创建文件的绝对路径 创建的快捷方式的名字...
  • ln命令_Linux ln命令:创建文件链接

    千次阅读 2021-05-08 23:11:20
    ln 是一个很神奇的命令,它可以创建一个文件的影子,也可以通过一个通道进入另一个地方。其实,所有的这些把戏都是通过软链接和硬链接来实现的。本文不会花太多篇幅来深入解释“硬链接”和“软链接”两个概念,而是...
  • 1.ext4 文件系统 如果要想说清楚 ln 命令,则必须先解释下 ext 文件系统是如何工作的。分区的格式化就是写入文件系统,而我们的 Linux 目前使用的是 ext4 文件系统。如果用一张示意图来描述 ext4 文件系统,则可以...
  • Linux下查找一个文件的所有软硬链接

    千次阅读 2021-05-10 03:05:28
    问题1:我创建一个硬链接文件,但是我不知道放在那里了,请问怎么办?思路:查找文件可以利用find命令。硬链接的特性,不会跨文件系统,所以源文件在哪个文件系统中,就在那里找硬链接文件和源文件具有相同的inode...
  • linux 创建软连接命令 ln -s 软链接 它的功能是为某一个文件在另外一个位置建立一个同步的链接,这个命令最常用的参数是-s 具体使用: ln -s 源文件 目标文件 当我们需要在不同的目录,用到相同的文件时,我们不需要...
  • 简单说说 linux 软链接和硬链接

    千次阅读 2022-04-28 14:35:07
    简单说说 linux 软链接和硬链接1. 前言1. 软链接1.1 什么是软链接?1.2 简单 举例1.3 应用 举例2. 硬链接2.1 举例 1. 前言 ...硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。
  • 一个多用户系统中,如果每个用户都对某文件有读、写等操作需求,而此时操作系统不提供文件共享,那么只能对每个用户都创建一个文件的副本。这样一来,大大浪费了存储空间,二来也不方便用户之间的协作。因此,在...
  • 创建硬链接的函数: 相关函数:symlink, unlink 头文件:#include &...函数说明:link函数中oldpath指定已经存在文件,newpath指定的名称建立一个新的连接(硬链接),若是newpath指定的文件已存在则不会...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 91,718
精华内容 36,687
关键字:

创建一个文件的硬链接