Linux硬链接、软链接的创建及两者的区别

一、硬链接

链接数就是名字的数量:

ln(link) 硬链接,多个相同的inode文件(同分区),多个硬链接文件的存在在硬盘上只占用一个文件的容量。

创建的硬链接是平等的,inode相同,删除某一个互不影响,其他文件仍然可以使用。

硬链接的本质:给一个文件创建多个名字。

创建多个硬链接,观察链接数的变化(+1),链接数是几就是有几个文件名。

同一分区中,同一个inode号必定是一个文件。

原始的文件

[[email protected] testdir]# ll -iman.txt
15 -rw-r--r--.  1 root root 15978 Aug  8  2008man.txt

创建第一个硬链接

[[email protected] testdir]# lnman.txt test/f11
[[email protected] testdir]# ll -iman.txt  test/f11 
15 -rw-r--r--. 2 root root15978 Aug  8  2008 man.txt
15 -rw-r--r--. 2 root root15978 Aug  8  2008 test/f11

创建第二个硬链接

[[email protected] testdir]# lnman.txt testdir/f22
[[email protected] testdir]# ll -iman.txt testdir/f22 test/f11 
15 -rw-r--r--. 3 root root15978 Aug  8  2008 man.txt
15 -rw-r--r--. 3 root root15978 Aug  8  2008 testdir/f22
15 -rw-r--r--. 3 root root15978 Aug  8  2008 test/f11

当对一个文件创建多个硬链接时,所有文件的inode相同,权限、大小、时间等属性相同。

[[email protected] testdir]# echo"aaaaaaaaaaaaaaaaaaa" >man.txt
[[email protected] testdir]# ll -itestdir/f22 test/f11 man.txt test/f
15 -rw-r--r--. 4 root root 8Jul 29 09:49 man.txt
15 -rw-r--r--. 4 root root 8Jul 29 09:49 testdir/f22
15 -rw-r--r--. 4 root root 8Jul 29 09:49 test/f
15 -rw-r--r--. 4 root root 8Jul 29 09:49 test/f11

当向一个文件写入数据,其他文件的属性内容等也会发生变化

[[email protected] testdir]# lnman.txt /roo/a
ln: creating hard link`/roo/a‘ => `man.txt‘: No such file or directory

硬链接不能跨分区,跨设备创建

[[email protected] testdir]# lnHelp/ H
ln: `Help/‘: hard link notallowed for directory

硬链接不能针对目录

[[email protected] testdir]# ll -iman.txt man
131 -rw-r--r--. 6 root root3256 Aug  1 16:54 man
131 -rw-r--r--. 6 root root3256 Aug  1 16:54 man.txt
[[email protected] testdir]# rm -fman.txt 
[[email protected] testdir]# tailman
  -Z, --ditroff              use groff and force it to produceditroff
 
  -?, --help                 give this help list
      --usage                give a short usage message
  -V, --version              print program version
    
Mandatory or optionalarguments to long options are also mandatory or optional
for any corresponding shortoptions.
 
Report bugs [email protected]

当删除原始文件后,链接文件仍然可以查看

二、软(soft)链接:

软链接相当于Windows的快捷方式

[[email protected] testdir]# ln -sman.txt man
[[email protected] testdir]# ls-li man.txt man
12 lrwxrwxrwx. 1 root root 7Jul 29 10:04 man -> man.txt
15 -rw-r--r--. 4 root root 8Jul 29 09:49 man.txt

创建软链接文件,链接文件会以绿色字体标识并指向原文件,通过观察可以发现两个文件的inode编号不同

对原始文件创建软链接文件

[[email protected] testdir]# ln –sman.txt /roo/man.txt
[[email protected] testdir]# ll/root/man.txt
lrwxrwxrwx. 1 root root  7 Aug 1 16:55  /root/man.txt ->man.txt
[[email protected] testdir]# ln –s../../testdir/man.txt /root/man1
[[email protected] testdir]# ll/root/man1
lrwxrwxrwx. 1 root root  9 Aug 1 16:56 /root/man1 -> ../../testdir/man.txt
 
[[email protected] testdir]# ln -s/testdir/ /root/test1
[[email protected] testdir]# ll -d/testdir/ /root/test1
lrwxrwxrwx. 1 root root  9 Aug 1 17:02 /root/test1 -> /testdir/
drwxr-xr-x. 3 root root 34Aug  1 16:53 /testdir/

通过上面的实例可以发现软链接可以针对目录,跨分区创建,并且创建的时候要注意路径的问题,如果路径错误,链接文件会保存显示的

软链接时需要注意绝对路径和相对路径,相对于软链接的路径而不是当前目录的路径(指向相对于当前工作目录或某目录的位置)

[[email protected] testdir]# ln -s/testdir/man /root/111111
[[email protected] testdir]# ll -i/testdir/man /root/111111
105103873 lrwxrwxrwx. 1 rootroot   12 Aug  1 17:16 /root/111111 -> /testdir/man
      131 -rw-r--r--. 5 root root 3256 Aug  1 16:54 /testdir/man
[[email protected] testdir]# rm -f/testdir/man 
[[email protected] testdir]# ll/testdir/man /root/111111 
ls: cannot access/testdir/man: No such file or directory
lrwxrwxrwx. 1 root root 12Aug  1 17:16 /root/111111 ->/testdir/man
[[email protected] testdir]# cat/root/111111 
cat: /root/111111: No suchfile or directory

当删除原始文件后,创建的软链接文件将不能访问

三、软硬链接的区别:

软链接和硬链接的区别主要在于:删除原始文件后,软链接将失效,但硬链接仍然可用;软链接适用于文件或目录,但硬链接只可用于文件,不能为目录建立硬链接;软链接与原始文件可以位于不同的文件系统中,但硬链接必须与原始文件在同一文件系统(如一个Linux分区)内。

时间: 2024-08-12 18:03:17

Linux硬链接、软链接的创建及两者的区别的相关文章

linux硬链接和符号连接

linux硬链接与软链接1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接.[硬连接]硬连接指通过索引节点来进行连接.在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index).在Linux中,多个文件名指向同一索引节点是存在的.一般这种连接就是硬连接.硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬

Inode/硬链接/软链接

以下2台服务器的不同分区,分别显示不同的"inode size" ,1个为128byte 另一个为256byte. CH-HOV-FTP是采用ext3分区格式,而www服务器采用的是ext4分区格式 -------------------------------------------------------------------------------------------------------------------- CH-HOV-FTP1:/home # df -k /d

linux 硬链接与软链接

Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. 硬连接指通过索引节点来进行连接,硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能.其原因如上所述,因为对应该目录的索引节点有一个以上的连接.只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放.也就是说,文件真正删除的条件是与之相关的所有硬

Linux硬链接和软链接

1.硬链接:文件别名通过前面讲的Linux ext2文件系统,我们知道在目录文件的block中,存放着目录下文件的文件名和对应的inode.可以将多个文件名对应到同一个inode,新建一条文件名链接到某inode号,这就是硬链接. 可以看出,硬链接只是新建了一个文件名,关联到一个已存在的文件.此时,目录下的block多写了一个文件名/inode的数据所以,硬链接没有增加inode和block的耗用. 2.软链接:类似windows中的快捷方式软链接的实质是,创建了一个独立的文件,而读取这个文件时

Linux 硬链接和软链接的总结

描述: 链接--是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法.在Linux中分为软链接(hard link)和硬链接(soft link),其中软链接又称为符号链接(symbolic link). 索引节点:在linux系统中对文件的管理本质上是通过其索引节点进行管理的.从系统的角度来看,文件的索引节点(inode)是文件的唯一标识,它包含了文件系统处理文件所需要的全部信息.实际上存在两种类型的索引节点: 1,内核索引节点(in-core indoe):保存在内存中,在系统中

对linux硬链接和软链接理解

linux系统有有软链接和硬链接两种,所谓软链接类似于windows系统中的快捷方式,源文件如果被删除,软链接将失败.而硬链接则不同,即使源文件被删除,文件依旧存在,这是为什么呢?下面我就为大家简单说明一下其中的原因: 软链接: 这是我画的一张linux存储文件的简易图,软链接的连接道理是,在inode表中,存放指针位置并非是指针,而是存放着一个文件的元数据路径,通过路径找到文件元数据,再找到文件本身.例如:/root/1为原文件,/root/2为软链接文件 第一行为inode号,这两个文件拥有

转: linux文件链接(软链接和硬链接)

链接:一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法. Linux中包括两种链接:硬链接(Hard Link)和软链接(Soft Link),软链接又称为符号链接(Symbolic link). 我们首先来了解一下几个名词: 索引节点(inode) 要了解链接,我们首先得了解一个概念,叫索引节点(inode).在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号,我们可以将inode简单理解成一个指针,它永远指向本文件的具

Linux 硬链接与软链接 目录结构

理解 Linux 的硬链接与软链接 目录结构 /              根目录 ├── bin     存放用户二进制文件 ├── boot    存放内核引导配置文件 ├── dev     存放设备文件 ├── etc     存放系统配置文件 ├── home    用户主目录 ├── lib     动态共享库 ├── lost+found  文件系统恢复时的恢复文件 ├── media   可卸载存储介质挂载点 ├── mnt     文件系统临时挂载点 ├── opt     附

(转)Linux硬链接、软链接及inode详解

inode 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5KB). 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block).这种由多个扇区组成的"块",是文件存取的最小单位."块"的大小,最常见的是4KB,即连续八个 sector组成一个 block. 文件数据都储存在"块"中,那么