硬链接和软连接的区别以及 ln -s 和mv的区别

linux链接分两种,一种是硬链接(hand link) 一种是软链接 (symbolic link)
ln命令是创建链接,默认是创建硬链接
ln -s 是创建软连接

?
?
什么是硬链接
硬链接是通过索引节点来进行连接,在linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都会分配一个节点编号,或者称之为索引节点。 多个文件名称指向一个节点编号,一般这种连接是硬链接
一个文件有硬链接的时候,想要真正删除。需要吧所有的连接全部删除,文件的数据库和目录的链接才会被释放。
?
?
?

什么是软连接
软连接类似 windows的快捷方式,他实际上是一个特殊文件。当创建软连接之后 软连接会有自己的节点编号。且软连接实际上是一个文本,其中包含源文件的位置信息。
当删除源文件的话。。软连接不会消失 但是会报错。

?
?
??

                                   总结

硬链接:
1.创建硬链接会增加额外的记录项以引用文件
2.对应同一个文件系统上一个物理文件
3.具有相同 inode节点(节点编号)的多个文件互为硬链接文件
4.硬链接文件是源文件的另一个入口
5.可以通过给文件设置硬链接来防止重要文件被误删
6.创建时链接数递增
7.删除文件时:
rm删除硬链接时会出现 源文件上递减链接数
文件存在的话。最少有一个链接数
当链接数为零时,该文件被删除
8.删除硬链接文件或者删除源文件任意之一,文件实体并不会被删除
9.只有删除源文件和所有对应的硬链接文件,文件实体才会被删除
10.硬链接文件是普通文件,可以用rm删除
11.不能跨分区 进行硬链接操作
12.不能对目录进行硬链接
语法:
in filiename [lnkname]

?
?
?

软连接:

  1. 一个符号链接指向另一个文件
    2.ls -l的显示链接名称和引用的文件
    3.一个符号链接的内容是他引用文件的名称
    4.软链接里面存放的是源文件的路径,指向源文件
    5.软连接失效时 一般是白字红底闪烁
    6.软连接和源文件是不同的文件,文件类型不同 inode节点编号也不同
    7.可以对目录进行 软连接
    8.可以跨分区
    9.指向的是另一个文件的路径,其大小为指向的路径字符串的长度;不增加或减少目标文件的节点编号 inode引用计数
    语法
    is -s filename [linkname]

?
?
?
区别:
原理上,硬链接和源文件的inode节点号相同,两者互为硬链接。软连接和源文件的inode节点号不同,进而指向的block也不同,软连接block中存放了源文件的路径名。
实际上,硬链接和源文件是同一份文件,而软连接是独立的文件,类似于快捷方式,存储着源文件的位置信息便于指向。
使用限制上,不能对目录创建硬链接,不能对不同文件系统创建硬链接,不能对不存在的文件创建硬链接;可以对目录创建软连接,可以跨文件系统创建软连接,可以对不存在的文件创建软连接。

?
?
?
?
······························································································································

                                                  ln -s 和mv的区别

ln -s 只是在目标地方创建个新的文件 这个文件只是软连接并且有新的节点编号。指向源文件数据不会搬家

而mv不同 mv是cp 和rm的组合 直接吧文件包括数据直接移动。但是节点编号不会改变。并且源地址的数据会被删除

原文地址:http://blog.51cto.com/12580998/2151789

时间: 2024-11-04 15:31:29

硬链接和软连接的区别以及 ln -s 和mv的区别的相关文章

Linux硬链接和软连接的区别与总结

图示软硬链接的区别 有关硬链接的总结 具有相同inode节点号的多个文件互为硬链接文件: 删除硬链接文件或者删除源文件任意之一,文件实体并未被删除: 只有删除了源文件和所有对应的硬链接文件,文件实体才会被删除: 硬链接文件是文件的另一个入口: 可以通过给文件设置硬链接文件来防止重要文件被误删: 创建硬链接命令 ln 源文件 硬链接文件: 硬链接文件是普通文件,可以用rm删除: 对于静态文件(没有进程正在调用),当硬链接数为0时文件就被删除.注意:如果有进程正在调用,则无法删除或者即使文件名被删除

硬链接与软连接的区别_(转)

首先我们需要了解linux下硬链接以及软连接的基本概念. 硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用. 软链接:也称为符号链接,新建的文件以“路径”的形式来表示另一个文件,和Windows的快捷方式十分相似,新建的软链接可以指向不存在的文件. 下面详细介绍一下硬链接和软连接之间的区别. 1.硬链接和原来的文件没有什么区别,而且共享一个 inode 号(文件在文件系统上的唯一标识):而软链接不共享 inode,也可以说是个特殊的 inode,所以和原来的

Linux 的硬链接与软连接

首先我们需要了解linux下硬链接以及软连接的基本概念. 硬链接:新建的文件是已经存在的文件的一个别名,当原文件删除时,新建的文件仍然可以使用. 软链接:也称为符号链接,新建的文件以"路径"的形式来表示另一个文件,和Windows的快捷方式十分相似,新建的软链接可以指向不存在的文件. 下面详细介绍一下硬链接和软连接之间的区别. 1.硬链接和原来的文件没有什么区别,而且共享一个 inode 号(文件在文件系统上的唯一标识):而软链接不共享 inode,也可以说是个特殊的 inode,所以

【文件管理(硬链接与软连接 ,ls, cp, ....)和标准Io】

文件管理:(1):文件系统文件系统从根目录下开始,用"/"表示文件名是区分大小写的以.开头的文件为隐藏文件文件有两类数据元数据:metadata数据:data(2):文件名规则文件名最长225个字节蓝色----目录 绿色----可执行文件红色----压缩文件浅蓝色----链接文件灰色------其他文件(3):文件系统结构/boot:引导文件存放目录/bin:供所有用户使用的基本命令/sbin :管理类基本命令/etc :配置文件目录/home :普通用户家目录/root :管理员夹目

硬链接和软连接文件

硬链接和软连接文件的区别

linux命令4 find、三个时间属性、硬链接和软连接、用户名和密码文件、增加和删除用户组、usermod、su、sudo

find搜索命令 其他搜索命令如下: [[email protected] 333]# which ls alias ls='ls --color=auto' /bin/ls [[email protected] 333]# echo $PATH /usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/mysql/bin:/usr/local/jdk1.6.0_23/b

关于硬链接与软连接占用磁盘空间问题的分析研究

在学习过硬链接和软连接的知识后,我们在做实验的过程中会发现,创建的硬链接会占用磁盘的空间,而我们学习过成中了解到,硬链接只是创建一个文件与源文件相同的inode号,那怎么还会占用磁盘空间呢?带着疑问,跟随夹克来进行一些实验进行验证并得出结论: 首先我们再来回顾一下关于 硬链接与软连接的知识: 硬链接的特点: l  创建硬链接会增加额外的记录项以引用文件 l  对应用于同一文件系统上的一个物理文件 l  每个目录引用相同的inode 号 l  创建时链接数递增 l  删除文件时,递减链接数,当链接

linux文件和目录的属性及硬链接与软连接

1.文件属性概述 linux系统中的文件或目录的属性主要包括:索引节点(inode).文件类型.权限属性.链接数.所归属的用户和用户组.最近修改的时间等内容. 我们用ls –lhi命令查看一下结果,也可以用stat详细查看文件属性. [[email protected] ~]# ls -lhi total 92K 400420 -rw-------. 1 root root 1.1K Jun 14 05:02 anaconda-ks.cfg 400431 -rw-r--r--. 1 root r

Linux的硬链接和软连接

硬链接与软链接的联系与区别 我们知道文件都有文件名与数据,这在 Linux 上被分成两个部分:用户数据 (user data) 与元数据 (metadata).用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方:而元数据则是文件的附加属性,如文件大小.创建时间.所有者等信息.在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)才是文件的唯一标识而非文件名.文件名仅是为了方便人们的记忆和使用,