linux 下的使用 ln 创建 软链接 和 硬链接

linux 下的一个指令 ln

作用: 创建软链接或者硬链接

Linux 系统下每创建一个文件,系统都会为此文件生成一个 index node 简称(inode) ,而每一个文件都包含用户数据(user data) 与 元数据(metadata)

用户数据里记录了文件的真正内容.

元数据里记录的是文件的附加属性,如 文件大小,创建时间,所有者等,其中 上面提到的 index node 就保存在元数据中.在linux 中文件名并不是文件的唯一标识,index onde 才是唯一标示,系统查找文件也是通过 index node 来查找内容数据块.

如何查看文件的 index node:

?  /Users/zhangzhi  >ls -i
31615656 AndroidStudioProjects 30836545 go
 1152719 Applications          49115578 images
31827389 CNode                 13208576 ktsgs.zip
  595399 Desktop               44722768 pandoc_demo
  595275 Documents             49218456 pgadmin.log
  595277 Downloads             15078624 pomelo
 7094352 LevelTest              1009499 project
 7098493 LevelTest.zip          1011801 qdb
  595388 Library                5901898 qdb.zip
  595439 Movies                23150187 test
  595441 Music                  1010768 tmp
  595443 Pictures              17956310 trunk
  595445 Public                17970255 trunk.zip
32072972 app                   41999857 webwork
 1009500 code                  13208610 游戏配置
22509232 databak

我们看到的前面的数字序列就是 index node

如何理解呢,你可以想象成 windows 操作系统里的快捷键.对同一个文件的访问提供了多个入口.

指令:

ln  [option] link_file  source_file

(link_file是待建立链接文件的文件,source_file是新创建的链接文件)

-f 建立时,将同档案名删除.

-i 删除前进行询问.

示例:

ln -s  myfile mylink      建立myfile 文件的软链接 mylink

ln myfile mylink          建立myfile 的硬链接 mylink

软链接

ln -s myfile mylink

软链接创建后,用户数据中存储的并不是文件本身的记录,而是一个指向 原文件路径的一个指针.但是它有自己的 index node 序列.

所以 ,软链接其实就是一个新的文件,但是这个文件很特殊,因为他的用户数据中放的不是文件内容,而是一个指向其他文件的指针.

软链接有下面几个特点:

多个软链接有多个不同的 index node

不仅可以对文件创建,还可以对目录创建软链接

软链接可以交叉文件系统

删除软链接 并不会影响原文件,但是原文件被删除,这个软链接就成了一个死链接.

硬链接

ln myfile mylink

硬链接创建后,用户数据中存储的是文件本身记录,其他他的用户数据和元数据都和 myfile 一样,唯一不同的是文件名.

所以硬链接就是同一个文件有了多个文件名, 但是多个文件名都指向了 同一个 index node

这样看来,硬链接就是有多个别名的同一个文件.

硬链接有下面几个特别:

出自:linux 下的使用 ln 创建 软链接连接 和 硬链接

他们有相同的 index node

有相同的数据记录

只能在已经存在文件上创建 硬链接

删除其中任何一个,其他硬链接不受影响.

只能对文件做硬链接

时间: 2024-10-13 11:08:14

linux 下的使用 ln 创建 软链接 和 硬链接的相关文章

linux命令大全之ln命令详解(创建软链接和硬链接)

ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接,分为软链接.硬链接.软链接相当于windows的快捷方式,下面是使用方法和示例 ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接.当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间. 1.命令格式: 

Linux命令(一):软链接和硬链接

今天起,决定开始自学Linux命令及Shell脚本,并用Linux学习(命令行,Shell及其他知识点)这一系列记录下自己的心路历程,内容不分先后,只记录自己觉得有必要的,简单的就不记了! 第一个知识点:硬链接和软链接 一.链接的定义:在linux中,如果要维护同一份文件的两份或多份副本,除了保存多份单独的物理副本之外,还可以使用只保存一份物理副本和多份虚拟副本的方式,这种虚拟的副本就称之为链接.---<Linux命令行与脚本大全> 上面的解释来自书本,可以说是解释的很清楚了,按照我自己的理解

&lt;06&gt;linux的文本高级操作、软链接和硬链接及系统分区操作

1.diff --查看两个文件间不同地方,对比两个文件.#diff /etc/passwd /tmp/passwd 2.uniq --去除重复行 -c 统计重复的行数有几行 -i 忽略大小写 -d 只显示重复的行# uniq /tmp/passwd uniq -d /tmp/passwd | head -2 &> aa.txt 3.sort --排序7 -r 反向 -n 以数字来排序 -u 合并同类 -t 指定分隔符 -k 指字的列head /etc/passwd | sort -t ':'

Linux 软链接和硬链接的理解与学习

要想弄明白Linux的软链接和硬链接的概念,首先要明白linux是怎么管理文件的. 以下笔记部分内容来自互联网搜索,个人理解加以整合所得. 1. 文件系统 (作者:Vamei 出处:http://www.cnblogs.com/vamei/archive/2012/09/09/2676792.html) 文件被组织到文件系统(file system)中,通常会成为一个树状(tree)结构.Linux有一个根目录/, 也就是树状结构的最顶端.这个树的分叉的最末端都代表一个文件,而这个树的分叉处则是

Linux中软链接与硬链接详细解读

目标: 1.测试环境模拟 2.软链接特性 3.硬链接特性 4.总结 1.测试环境模拟 1 2 3 4 5 6 7 8 9 10 11 12 13 [[email protected] home]# mkdir test 创建测试文件夹 [[email protected] home]# cd test/  进入测试文件夹 [[email protected] test]# touch link  创建原文件link [[email protected] test]# echo "my name

Linux中的软链接与硬链接

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

Linux下的软链接与硬链接

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

描述Linux下软链接和硬链接的区别(计时2分钟)

在linux系统中,链接分两种 :一种被称为硬链接(Hard Link),另一种被称为符号链接或软链接(Symbolic Link). 1)默认不带参数情况下,ln命令创建的是硬链接. 2)硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号与源文件不同.3)ln命令不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到. 4)删除软链接文件,对源文件及硬链接文件无任何影响: 5)删除文件的硬链接文件,对源文件及软链接文件无任何影响: 6)删除链接文件的原文件,对

linux下 软链接与硬链接的区别

在linux系统中,链接分两种:一种被称为硬链接(HardLink),另一种被称为符号链接或软链接(symbolic Link). 1)如何创建: a)默认不带参数情况下,ln命令创建的是硬链接,带-s参数的ln命令创建的是软链接. 2)含义: a)硬链接文件与源文件的inode节点号相同,而软链接文件相当于windows下面的快捷方式(inode节点号与源文件不同) 3)特点: a)不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到 b)软链接可以跨文件系统,硬链接不可以跨文件