Linux常用基本命令(软链接与硬链接 )

硬链接:相当于文件的多个入口,作用:备份文件,创建快照等

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

命令格式:

ln option 源文件 目标文件

-s: 创建软链接

1,创建硬链接:

[email protected]:~/linux/cp$ ls
ghostwu.txt
[email protected]:~/linux/cp$ ls -l
total 4
-rw-rw-r-- 1 ghostwu ghostwu 25 5月   6 19:51 ghostwu.txt
[email protected]:~/linux/cp$ ln ghostwu.txt ghostwu_hardlink
[email protected]:~/linux/cp$ ls -l
total 8
-rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu_hardlink
-rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu.txt

硬链接与源文件的inode节点是相同的,因为指向的是同一个节点:

[email protected]:~/linux/cp$ ls -ihl
total 8.0K
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu_hardlink
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu.txt

都可以查看内容

[email protected]:~/linux/cp$ cat ghostwu.txt
hello,my name is ghostwu
[email protected]:~/linux/cp$ cat ghostwu_hardlink
hello,my name is ghostwu

删除硬链接,不会影响源文件

[email protected]:~/linux/cp$ rm ghostwu_hardlink
[email protected]:~/linux/cp$ ls -ilh
total 4.0K
9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月   6 19:51 ghostwu.txt
[email protected]:~/linux/cp$ cat ghostwu.txt
hello,my name is ghostwu

恢复硬链接,跟删除之前的inode一样的

[email protected]:~/linux/cp$ ls -ilh
total 4.0K
9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月   6 19:51 ghostwu.txt
[email protected]:~/linux/cp$ ln ghostwu.txt ghostwu_hardlink
[email protected]:~/linux/cp$ ls -ilh
total 8.0K
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu_hardlink
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu.txt

删除源文件,不会影响硬链接

[email protected]:~/linux/cp$ ls -ilh
total 8.0K
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu_hardlink
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu.txt
[email protected]:~/linux/cp$ rm ghostwu.txt
[email protected]:~/linux/cp$ ls -ilh
total 4.0K
9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月   6 19:51 ghostwu_hardlink
[email protected]:~/linux/cp$ cat ghostwu_hardlink
hello,my name is ghostwu

可以通过硬链接恢复源文件

[email protected]:~/linux/cp$ ln ghostwu_hardlink ghostwu.txt
[email protected]:~/linux/cp$ ls -ilh
total 8.0K
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu_hardlink
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu.txt

创建软链接

[email protected]:~/linux/cp$ ls -ilh
total 8.0K
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu_hardlink
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu.txt
[email protected]:~/linux/cp$ ln -s ghostwu.txt ghostwu_softlink
[email protected]:~/linux/cp$ ls -ilh
total 8.0K
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu_hardlink
9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月   6 20:01 ghostwu_softlink -> ghostwu.txt
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu.txt

软链接的i节点跟源文件不同,文件类型为l

[email protected]:~/linux/cp$ cat ghostwu_softlink
hello,my name is ghostwu
[email protected]:~/linux/cp$ ls -ilh
total 8.0K
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu_hardlink
9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月   6 20:01 ghostwu_softlink -> ghostwu.txt
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu.txt

删除软链接,不会影响硬链接和源文件

[email protected]:~/linux/cp$ rm ghostwu_softlink
[email protected]:~/linux/cp$ ls -ilh
total 8.0K
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu_hardlink
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu.txt
[email protected]:~/linux/cp$ cat ghostwu.txt
hello,my name is ghostwu
[email protected]:~/linux/cp$ cat ghostwu_hardlink
hello,my name is ghostwu

删除源文件后,软链接不能查看内容,受到影响,硬链接不受影响

[email protected]:~/linux/cp$ ls -ilh
total 8.0K
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu_hardlink
9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月   6 20:03 ghostwu_softlink -> ghostwu.txt
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu.txt
[email protected]:~/linux/cp$ rm ghostwu.txt
[email protected]:~/linux/cp$ ls -ilh
total 4.0K
9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月   6 19:51 ghostwu_hardlink
9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月   6 20:03 ghostwu_softlink -> ghostwu.txt
[email protected]:~/linux/cp$ cat ghostwu_softlink
cat: ghostwu_softlink: No such file or directory
[email protected]:~/linux/cp$ cat ghostwu_hardlink
hello,my name is ghostwu

通过硬链接恢复源文件,软链接又可以使用了

[email protected]:~/linux/cp$ ls -ilh
total 4.0K
9569451 -rw-rw-r-- 1 ghostwu ghostwu 25 5月   6 19:51 ghostwu_hardlink
9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月   6 20:03 ghostwu_softlink -> ghostwu.txt
[email protected]:~/linux/cp$ ln ghostwu_hardlink ghostwu.txt
[email protected]:~/linux/cp$ ls -ilh
total 8.0K
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu_hardlink
9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月   6 20:03 ghostwu_softlink -> ghostwu.txt
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu.txt
[email protected]:~/linux/cp$ cat ghostwu_softlink
hello,my name is ghostwu

不能为目录创建硬链接

[email protected]:~/linux/cp$ ln /home/ghostwu/ ghostwu_home
ln: /home/ghostwu/: hard link not allowed for directory

但是可以为目录创建软链接

[email protected]:~/linux/cp$ ln -s /home/ghostwu/ ghostwu_home
[email protected]:~/linux/cp$ ls -ilh
total 8.0K
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu_hardlink
9569550 lrwxrwxrwx 1 ghostwu ghostwu 14 5月   6 20:07 ghostwu_home -> /home/ghostwu/
9569453 lrwxrwxrwx 1 ghostwu ghostwu 11 5月   6 20:03 ghostwu_softlink -> ghostwu.txt
9569451 -rw-rw-r-- 2 ghostwu ghostwu 25 5月   6 19:51 ghostwu.txt

原文地址:https://www.cnblogs.com/ghostwu/p/8999439.html

时间: 2024-11-01 17:13:28

Linux常用基本命令(软链接与硬链接 )的相关文章

Linux命令——建立软链接和硬链接

Linux 系统中有软链接和硬链接两种特殊的"文件". 软链接可以看作是Windows中的快捷方式,可以让你快速链接到目标档案或目录. 硬链接则透过文件系统的inode来产生新档名,而不是产生新档案. 创建方法: #软链接 ln -s source targe #硬链接 ln source target 原文地址:https://www.cnblogs.com/meng9688/p/10216524.html

Linux下的软链接与硬链接

首先聊聊Linux中使用哪个命令创建链接文件,然后咱们在聊聊软链接和硬链接的区别. 使用ln命令可以创建某个文件的链接文件 用法:ln [-s -v] src dest 创建一个硬连接文件:ln 原文件 硬连接文件 硬链接与源文件的inode号相同,使用stat命令可以查看文件的元数据信息. 创建一个软连接文件:ln -s 原文件 软连接文件 加-s表示创建软连接(符号链接) 注意:创建连接文件时,指定源文件时, "原文件的路径"可以是绝对路径也可以是相对路径,但是要注意,如果&quo

Linux 下的软链接和硬链接

Linux有两种链接方式,软链接和硬链接~~~默认情况下 ln命令产生硬链接 硬链接:通过索引节点来进行链接,(索引节点是保存在磁盘分区中的文件不管什么类型给它分配的编号),多个文件名指向同一索引节点是存在的,通常这种链接就称为硬链接.在你选定的位置生成一个文件镜像. 作用:允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到.重要的文件上,以防止文件被误删. 软链接:软链接是一种符号链接,在符号链接中,文件实际上是一个文本文件,其中包含着另一个文件的位置信息,只会在你选定的位置生成一个文

2017-7-18-每日博客-关于Linux下的软链接和硬链接.doc

ln命令 该命令在文件之间创建链接.这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称.对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题. 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名.而且,即使我们删除这个链接,也不会破坏原来的目录. 语法:ln [选项] 目标 [链接名] ln [选项] 目标 目录 链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).

Linux中的软链接与硬链接

什么是链接文件? 1,硬链接:多个文件指向同一个inode的不同路径彼此成为硬链接. 2,软链接:(内存大小为字符串单位) Inode没有数据,只是储存了一个路径字符串,再找该路径寻文件 *硬链接的次数,小于等于1时,文件可以彻底删除 大于1时,文件不易删除 ln  [ -s  -v ] SRC  DEST -s  创建软链接 -v  显示创建过程 无选项表示创建硬链接 创建硬链接 Abc与创建链接后的DEF的inode号相同. 创建软链接 总结 硬链接: 1.只能对文件创建,不能应用于目录 2

Linux系统的软链接与硬链接有什么区别?

Linux系统中的文件都文件名和数据,在 linux 上面被分为两个部分:元数据与数据.用户数据,即文件数据块( data block ),数据块是记录文件真实内容的地方,而元数据是文件的附加属性,如大小,创建时间,所有者等信息.在 Linux 中,元数据中的 inode 号( inode 是文件的元数据的一部分,但其不包含文件名, inode 号即索引节点号)才是文件的唯一标识而不是文件名.文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 号寻找正确的文件数据快.下图为 程序通过

linux下的软链接和硬链接

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

Linux文件的软链接和硬链接

1.Linux链接概念 Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).默认情况下,ln命令产生硬链接. 1.1索引节点 索引节点是指在许多类Unix文件系统中的一种数据结构.每个索引节点保存了文件系统中的一个文件系统对象的元信息数据,但不包括数据内容或者文件名. inode包含文件的元信息,具体来说有以下内容: * 文件的字节数 * 文件拥有者的User ID * 文件的Group ID * 文件的读.写.执行权限 * 文件的时

Linux文件系统中软链接和硬链接的区别

1.硬链接是创建一个指向block的inode,有防止误删除的功能.因为删除一个文件,实际上是删除inode信息,切断了inode与block之间的联系.当给一个文件做了硬链接之后,删除文件时,只会减少文件的链接数,当链接数为0时,才会彻底删除该文件.软链接类似Windows系统的快捷方式,是一个完整的文件,有自己的inode和block,block的内容就是原文件的文件名.当原文件删除后,软链接就失效了,没有防止误删除的功能. 2.文件的大小不一样.由于硬链接是指向原文件的block,所以硬链