精华内容
下载资源
问答
  • 【硬链接】硬链接指经过索引节点来进行链接。在Linux的文件系统中,保存在磁盘分区中的文件无论是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索...

    下面的结论最重要。node

    1.Linux连接概念 Linux连接分两种,一种被称为硬连接(Hard Link),另外一种被称为符号连接(Symbolic Link)。默认状况下,ln命令产生硬连接。

    【硬链接】

    硬链接指经过索引节点来进行链接。在Linux的文件系统中,保存在磁盘分区中的文件无论是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。通常这种链接就是硬链接。硬链接的做用是容许一个文件拥有多个有效路径名,这样用户就能够创建硬链接到重要文件,以防止“误删”的功能。其缘由如上所述,由于对应该目录的索引节点有一个以上的链接。只删除一个链接并不影响索引节点自己和其它的链接,只有当最后一个链接被删除后,文件的数据块及目录的链接才会被释放。也就是说,文件真正删除的条件是与之相关的全部硬链接文件均被删除。oracle

    【软链接】

    另一种链接称之为符号链接(Symbolic Link),也叫软链接。软连接文件有相似于Windows的快捷方式。它其实是一个特殊的文件。在符号链接中,文件其实是一个文本文件,其中包含的有另外一文件的位置信息。测试

    2.经过实验加深理解

    [oracle@Linux]$ touch f1 #建立一个测试文件f1

    [oracle@Linux]$ ln f1 f2 #建立f1的一个硬链接文件f2

    [oracle@Linux]$ ln -s f1 f3 #建立f1的一个符号链接文件f3

    [oracle@Linux]$ ls -li # -i参数显示文件的inode节点信息

    total 0

    9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f1

    9797648 -rw-r--r-- 2 oracle oinstall 0 Apr 21 08:11 f2

    9797649 lrwxrwxrwx 1 oracle oinstall 2 Apr 21 08:11 f3 -> f1

    从上面的结果中能够看出,硬链接文件f2与原文件f1的inode节点相同,均为9797648,然而符号链接文件的inode节点不一样。code

    [oracle@Linux]$ echo "I am f1 file" >>f1

    [oracle@Linux]$ cat f1

    I am f1 file

    [oracle@Linux]$ cat f2

    I am f1 file

    [oracle@Linux]$ cat f3

    I am f1 file

    [oracle@Linux]$ rm -f f1

    [oracle@Linux]$ cat f2

    I am f1 file

    [oracle@Linux]$ cat f3

    cat: f3: No such file or directory

    经过上面的测试能够看出:当删除原始文件f1后,硬链接f2不受影响,可是符号链接f1文件无效索引

    3.总结 依此您能够作一些相关的测试,能够获得如下所有结论:

    1).删除符号链接f3,对f1,f2无影响;

    2).删除硬链接f2,对f1,f3也无影响;

    3).删除原文件f1,对硬链接f2没有影响,致使符号链接f3失效;

    4).同时删除原文件f1,硬链接f2,整个文件会真正的被删除。

    展开全文
  • Linux文件系统最重要的特点之一是它的文件链接。链接是对文件的引用,这样可以让文件在文件系统中多处被看到。不过,在 Linux中,链接...链接不是副本,linux有两种类型的链接:硬链接和符号链接(软链接)。硬链接(h...

    Linux

    文件系统最重要的特点之一是它的文件链接。链接是对文件的引用,这样可以让文件在文件系统中多处被看到。不过,在 Linux

    中,链接可以如同原始文件一样来对待。链接可以与普通的文件一样被执行、编辑和访问。对系统中的其他应用程序而言,链接就是它所对应的原始文件。当您通过链接对文件进行编辑时,您编辑的实际上是原始文件。链接不是副本,linux有两种类型的链接:硬链接和符号链接(软链接)。

    硬链接(hard link)只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为

    inode)。当您移动或删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。硬链接的文件不需要用户有访问原始文件的权限,也不会显示原始文件的位置,这样有助于文件的安全。如果您删除的文件有相应的硬链接,那么这个文件依然会保留,直到所有对它的引用都被删除。

    另外一种链接称之为符号链接(Symbolic Link),也叫软链接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在软链接中,文件实际上是一个文本文件,其中包含有另一文件的位置信息,如果删了这个软链接文件,那就等于不需要这个链接,和原来存在的实体原文件没有任何关系,但删除原来的文件,则相应的软连接也不可用。

    创建硬链接:ln filename 【linkname】

    创建软链接:ln -s filename 【linkname】[root@liang opt]# touch aa     #创建文件aa

    [root@liang opt]# ln aa bb     #创建aa的硬链接bb

    [root@liang opt]# ln -s aa cc    #创建aa的软链接cc

    [root@liang opt]# ll -i        #查看结果及inode值

    总用量 0

    2490370 -rw-r--r--. 2 root root 0 7月  30 04:36 aa

    2490370 -rw-r--r--. 2 root root 0 7月  30 04:36 bb

    2490371 lrwxrwxrwx. 1 root root 2 7月  30 04:36 cc -> aa

    [root@liang opt]# ln ../opt/aa /boot/dd     #跨文件系统创建aa的硬链接dd,有报错信息

    ln: 创建硬链接"/boot/dd" => "../opt/aa": 无效的跨设备连接

    [root@liang opt]# ln -s ../opt/aa /boot/ee    #跨文件系统创建aa的软链接ee,无报错信息

    [root@liang opt]# ll -i /boot/      #查看结果及inode值

    39 lrwxrwxrwx. 1 root root        9 7月  30 04:37 ee -> ../opt/aa

    [root@liang opt]# ln ff gg      #为不存在的ff创建硬链接gg,有报错信息

    ln: 正在访问"ff": 没有那个文件或目录

    [root@liang opt]# ln -s ff hh     #为不存在的ff创建软链接hh,无报错信息

    [root@liang opt]# ll -i      #查看结果及inode值

    总用量 0

    2490370 -rw-r--r--. 2 root root 0 7月  30 04:36 aa

    2490370 -rw-r--r--. 2 root root 0 7月  30 04:36 bb

    2490371 lrwxrwxrwx. 1 root root 2 7月  30 04:36 cc -> aa

    2490373 lrwxrwxrwx. 1 root root 2 7月  30 04:37 hh -> ff

    [root@liang opt]# echo aaaaaaaaaa > aa    #在aa文件中写入内容

    [root@liang opt]# cat aa       #查看源文件aa的内容

    aaaaaaaaaa

    [root@liang opt]# cat bb       #查看硬链接bb的内容

    aaaaaaaaaa

    [root@liang opt]# cat cc       #查看软链接cc的内容

    aaaaaaaaaa

    [root@liang opt]# rm -f aa     #删除源文件aa

    [root@liang opt]# cat bb       #删除源文件aa后查看硬链接bb的内容

    aaaaaaaaaa

    [root@liang opt]# cat cc       #删除源文件cc后查看软链接cc的内容

    cat: cc: 没有那个文件或目录

    [root@liang opt]# ll -i        #删除源文件后查看链接结果及inode值

    总用量 4

    2490370 -rw-r--r--. 1 root root 11 7月  30 04:45 bb

    2490371 lrwxrwxrwx. 1 root root  2 7月  30 04:36 cc -> aa

    2490373 lrwxrwxrwx. 1 root root  2 7月  30 04:37 gg -> ff

    从以上操作过程中可以看到硬链接文件与源文件的inode值一样,即硬链接文件与源文件同属一个数据块,软链接文件与源文件的inode值不一样,即软链接文件是单独存在的一个文本文件。当源文件被删除时,硬链接文件不受影响,而软链接文件则无效。

    硬链接特性:文件有相同的 inode 及 data block;

    只能对已存在的文件进行创建;

    不能交叉文件系统进行硬链接的创建;

    不能对目录进行创建,只可对文件创建;

    删除一个硬链接文件并不影响其他有相同 inode 号的文件;

    软链接特性:软链接有自己的文件属性及权限等;

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

    软链接可交叉文件系统;

    软链接可对文件或目录创建;

    创建软链接时,链接计数 i_nlink 不会增加;

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

    如下图所示软链接、硬链接及源文件的关系:

    2626a30c513f661efa2496ca388895bb.png

    展开全文
  • linux软链接和硬链接

    2021-05-13 13:11:04
    简而言之:软链接相当于windows中的快捷方式硬链接相当于一个灾备系统,数据存放在两处,与复制不同的是两处之间存在同步机制,一处数据的改变会实时同步到另一处,另外一处数据如果被删除了,不会影响到另一处的...

    简而言之:

    软链接相当于windows中的快捷方式

    硬链接相当于一个灾备系统,数据存放在两处,与复制不同的是两处之间存在同步机制,一处数据的改变会实时同步到另一处,另外一处数据如果被删除了,不会影响到另一处的数据.

    下面是详细的介绍:

    存在两种不同类型的链接,软链接和硬链接。修改其中一个,硬连接指向的是节点(inode),而软连接指向的是路径(path)

    软链接文件

    软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。和win下的快捷方式差不多。 链接文件甚至可以链接不存在的文件,这就产生一般称之为"断链"的问题(或曰“现象"),链接文件甚至可以循环链接自己。类似于编程语言中的递归。

    命令格式:

    代码: ln [-s] source_path target_path 硬链接文件

    info ln 命令告诉您,硬链接是已存在文件的另一个名字,硬连接的命令是:

    代码: ln -d existfile newfile //如果不加任何参数,默认情况下是硬链接.

    硬链接文件

    硬链接文件有两个限制:

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

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

    对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了原有的内容。这时,系统就“忘记”了它曾经是硬链接文件。而把他当成一个普通文件。修改其中一个,与其连接的文件同时被修

    改.

    代码:

    $ cp /etc/httpd/conf/httpd.conf /usr/sam

    $ ln httpd.conf httpd1.conf (硬链接)

    $ ln -s httpd.conf httpd2.conf (软链接)

    第一条为硬链接,第二条为软链接

    代码:

    $ ls -li //查看一个文件或目录的inode,要通过ls 命令的的 -i参数,inode值相同的文件,他们的关系是互为硬链接的关系

    代码:

    总用量 80

    1077669 -rw-r--r-- 2 sam adm 34890 10月 31 00:57 httpd1.conf (连接数变为2)

    1077668 lrwxrwxrwx 1 sam adm 10 10月 31 00:58 httpd2.conf -> httpd.conf (类似于Win快捷方式) 1077669 -rw-r--r-- 2 sam adm 34890 10月 31 00:57 httpd.conf (连接数变为 2)

    可以看到,使用ls -li,软连接只产生了10字节的快捷而已,硬连接却实实在在的的拷贝。最前面的inode硬链接和源文件是一样的

    ,而软链接不一样.对http1.conf进行编辑,可以发现httpd.conf也发生了一样的变化.

    代码:

    $ rm httpd.conf

    现在删除链接的源文件,来比较不同之处

    代码:

    $ ls -l

    总用量 44

    drw-r--r-- 2 sam adm 4096 10月 30 20:14 file6

    -rw-r--r-- 1 sam adm 34890 10月 31 00:57 httpd1.conf

    lrwxrwxrwx 1 sam adm 10 10月 31 00:58 httpd2.conf -> httpd.conf

    发现,httpd2.conf实际已经不存在了,是断链,而httpd1.conf变也了普通文件.

    ============================================================================

    详细示例分析(截图):

    e735a4f5d88507e3a65e9ed24e944123.png

    =============================================================================

    一 链接文件

    链接有两种方式,软链接和硬链接。

    1 软链接文件

    软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。

    链接文件甚至可以链接不存在的文件,这就产生一般称之为"断链"的问题(或曰“现象"),链接文件甚至可以循环链接自己。类似于编程语言中的递归。

    用ln -s 命令可以生成一个软连接,如下:

    [root@linux236 test]# ln -s source_file softlink_file

    在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作,但删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身。

    2 硬链接文件

    info ln 命令告诉您,硬链接是已存在文件的另一个名字(A "hard link" is another name for an existing file),这多少有些令人困惑。硬连接的命令是

    ln -d existfile newfile

    硬链接文件有两个限制

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

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

    对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了愿有的内容。

    这时,系统就“忘记”了它曾经是硬链接文件。而把他当成一个普通文件。

    二 两者之间的区别

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

    在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件才会被真正删除。

    软链接文件有点类似于Windows的快捷方式。它实际上是特殊文件的一种。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

    软链接也有硬链接没有的缺点,因为链接文件包含有原文件的路径信息,所以当原文件从一个目录下移到其他目录中,再访问链接文件,系统就找不到了;还有它要系统分配额外的空间用于建立新的索引节点和保存原文件的路径。

    而硬链接就没有上面的缺陷,你想怎么移就怎么移

    展开全文
  • 问题1:我创建了一个硬链接文件,但是我不知道放在那里了,请问怎么办?思路:查找文件可以利用find命令。...-inum参数表示按照inode号去查找,首先要查看文件的inode号-samefile参数表示查找和某个文件相同的ino...

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

    思路:

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

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

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

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

    -samefile参数表示查找和某个文件相同的inode的文件,不用查看文件的inode号

    [root@lixin 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

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

    /usr/local/xiaoming

    /data/oldboy/oldboy.txt

    [root@lixin oldboy]#

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

    思路:

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

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

    我们寻找当前系统内所有的链接文件,然后过滤我们要找的源文件名n,就能查看有哪些文件指向了源文件。

    [root@lixin 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

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

    [root@lixin oldboy]# find -type l -exec ls -l {}\;| grep 'oldboy.txt'

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

    展开全文
  • 什么是软链接文件Linux系统中的软链接文件就类似于Windows系统中的快捷方式 .假设场景 : 对于A文件 , 必须保存在/root/111/目录下 , 但是有另外一个程序也在使用这A文件并且需要一直往A文件中追加log , 但是这个...
  • 如何辨别Linux软链接和硬链接

    千次阅读 2021-05-10 10:32:58
    Linux系统中什么是软链接,什么是硬链接,两者之间又有哪些区别?下面小编给大家做个Linux系统的软链接和硬链接的比较,以便你有更深入的了解。我自己做的图片大家参考下:软链接硬链接的区别:硬连接指通过索引节点...
  • linux系统中,链接分两种 :一种被称为硬链接(Hard Link),另一种被称为符号链接或软链接(Symbolic Link)。1)默认不带参数情况下,ln命令创建的是硬链接。2)硬链接文件与源文件的inode节点号相同,而软链接文件的...
  • linux软链接 linux中的软链接相当于widow的快捷方式,在执行软链接文件时,系统会去执行软链接指向的文件。 linux软链接含义: 为某一个文件在另外一个位置建立一个同步的链接。 软链接的好处: 仅仅是个链接,不...
  • linux 软链接 动态库

    2021-05-11 08:36:25
    首先去python官网下载python3的源码包,网址:https://www.python.org/  进去之后点击导航栏的Downloads,也...点进去之后页面下方可以看到下载链接,包括源码包、Mac OSX安装包、Windows安装包 这里选择第一个下...
  • 什么是目录Linux 文件系统是树状结构的。根目录下存在一系列子目录。目录里边有文件或者子目录。 但问题在于:目录是什么?文件又是什么?文件是:数据 + 属性(比如名字、创建时间、所有者之类)目录是:一个列表,...
  • 在Windows系列中,我们称其为快捷方式,在Linux中我们称其为链接(基本上都差不多了,其中可能有差别,但是那又怎样呢?我们只要实现我们的效果,谁会有精力去管它茴香的茴字有几种写法呢?)。Windows老姑娘的那几个...
  • Linux软链接和硬链接

    2021-02-18 14:34:27
    软链接 软链接类似于Windows的快捷方式, 通过这种方式, 快速的访问到对应的文件或目录 软链接的创建 ln -s oldfile slink ////////////////////////////////// [white@WhiteCloud file]$ ll drwxrwxr-x 2 white ...
  • 在Windows系列中,我们称其为快捷方式,在Linux中我们称其为链接(基本上都差不多了,其中可能有差别,但是那又怎样呢?我们只要实现我们的效果,谁会有精力去管它茴香的茴字有几种写法呢?)。Windows老姑娘的那几个...
  • Linux硬链接和软链接

    2021-05-17 10:57:27
    链接连接硬链接:硬链接是指通过索引节点来进行转换,在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都会给它分配一个编号,这个编号被称为索引节点(Inode Index)或者成为Inode在Linux系统中,多...
  • 一直没有深入了解过链接这块的知识,...先来做个实验,在我们的用户目录下,建立一个测试文件夹,然后新建一个文件,并创建这个文件的软链接和硬链接。如下:vim file1 #新建文件ln -s file1 file1.soft #软链接ln ...
  • linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹.例子:将目录A重命名为Bmv A B例子:将/a目录移动到/b下,并重命名为cmv /a /b/c其实在文本模式中要重命名文件或目录的话也是很简单的,...
  • ln 命令用于给文件创建链接,根据 Linux 系统存储文件的特点,链接的方式分为以下 2 种:软链接:类似于 Windows 系统中给文件创建快捷方式,即产生一个特殊的文件,该文件用来指向另一个文件,此链接方式同样适用于...
  • linux软链接区别

    2021-05-16 05:17:26
    但是,Unix/Linux系统允许,多个文件名指向同一个inode号码。这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问。这种情况就...
  • linux下建立软链接

    2021-03-13 06:37:28
    实例:ln -s /home/gamestat /gamestatlinux下的软链接类似于windows下的快捷方式ln -s a b中的 a 就是源文件,b是链接文件名,其作用是当进入b目录,实际上是链接进入了a目录如上面的示例,当我们执行命令 cd /...
  • Linux文件属性及类型[root@localhost ~]# ll anaconda-ks.cfg文件类型 权限 硬连接数 文件的大小 文件的创建,修改时间- rw-------. 1 root root 1379 3月 12 17:43 anaconda-ks.cfg[root@localhost ...
  • Linux软链接的创建和删除一、创建软链接使用ln -s命令,ln对应的英文单词是link。示例:先创建好/root/test/src文件夹,并在该目录下新建一个01.txt文件输入ln -s /root/test/src/ /root/test/link01注意点:由于/...
  • linux zip使用-保留软链接

    千次阅读 2021-06-15 20:49:55
    直接使用zip打包,软连接会消失,原来的软链接文件被源文件的内容所代替,相当于原来的软链接变成了硬链接。 2、zip压缩保持软连接 使用参数-y,可以使zip能够保留软链接。 zip -ry tmp2.zip tmp unzip
  • 写在这里忘了就来看下Windows下(win7)mklink /D D:\phpStudy\WWW\yii\school\teacher\web\uploads\public D:\phpStudy\WWW\yii\school\api\web\uploads\public参数解析:第一个参数:/D 创建软链接 不可或缺第二个...
  • Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为软链接(Symbolic Link)。默认情况下,ln命令产生硬链接。一、[硬链接]-->指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件...
  • 满意答案hjqalj推荐于 2016.11.15采纳率:50%等级:13已帮助:6264人linux查看软连接的信息使用命令ls -L最后一列就是原始地址ls命令是linux下最常用的命令之一,ls跟dos下的dir命令是一样的都是用来列出目录下的...
  • 前提必须清楚一点,当指向数据的文件个数为0 时,数据块就会被释放掉,硬链接相当于硬盘上一块数据的多个指针,而软链接相当于指向数据指针的指针。个人理解成下面的图例左边的是硬链接,右边的是软链接,无论对于...
  • Linux创建python软链接

    2021-10-30 18:50:25
    在没有设置软连接之前,在终端输入python显示的是2.7.5版本,我在虚拟机上安装的是3.9.7版本,怎么才能让输入python用的是自己安装...3.根据查询的结果 创建自己的软链接 ln -s /usr/local/python3/bin/python3 /usr..
  • 软链接:也称为符号链接,新建的文件以“路径”的形式来表示另一个文件,和Windows的快捷方式十分相似,新建的软链接可以指向不存在的文件.下面详细介绍一下硬链接和软连接之间的区别.1.硬链接和原来的文件没有什么...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 133,743
精华内容 53,497
关键字:

linux软链接查看

linux 订阅