文件系统结构以及软链接和硬链接的区别

文件系统结构

/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录
/bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序
/lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)    
/lib64:专用于x86_64系统上的辅助共享库文件存放位置
/etc:配置文件目录

/home/USERNAME:普通用户家目录
/root:管理员的家目录
/media:便携式移动设备挂载点
   /mnt:临时文件系统挂载点
/dev:设备文件及特殊文件存储位置
         b: block device,随机访问
         c: character device,线性访问
/opt:第三方应用程序的安装位置
/srv:系统上运行的服务用到的数据
/tmp:临时文件存储位置
   /usr: universal shared, read-only data
         bin: 保证系统拥有完整功能而提供的应用程序sbin:
         lib:32位使用
         lib64:只存在64位系统
         include: C程序的头文件(header files)
         share:结构化独立的数据,例如doc, man等
         local:第三方应用程序的安装位置bin, sbin, lib, lib64, etc, share

/var: variable data files
cache: 应用程序缓存数据目录

lib: 应用程序状态信息数据
local:专用于为/usr/local下的应用程序存储可变数据;

lock: 锁文件

log: 日志目录及文件

opt: 专用于为/opt下的应用程序存储可变数据;

run: 运行中的进程相关数据,通常用于存储进程pid文件

spool: 应用程序数据池

tmp: 保存系统两次重启之间产生的临时数据

/proc: 用于输出内核与进程信息相关的虚拟文件系统

/sys:用于输出当前系统上硬件设备相关信息虚拟文件系统

/selinux: security enhanced Linux,selinux相关的安全策
略等信息的存储位置

硬链接和软链接的区别
1.原理上:
  硬链接(hard link):
    文件A是文件B的硬链接,则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。
   注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A对应的数据块(文件)只有在inode节点链接数减少为0的时候才会被系统回收。
  软链接(soft link):
  A是B的软链接(A和B都是文件名),A的目录项中的inode节点号与B的目录项中的inode节点号不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名(可以根据这个找到B的目录项)。A和B之间是“主从”关系,如果B被删除了,A仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

2.使用限制上:
 硬链接:
 a:不能对目录创建硬链接,原因有几种,最重要的是:文件系统不能存在链接环(目录创建时的”..”除外,这个系统可以识别出来),存在环的后果会导致例如文件遍历等操作的混乱(du,pwd等命令的运作原理就是基于文件硬链接,顺便一提,ls -l结果的第二列也是文件的硬链接数,即inode节点的链接数)
 b:不能对不同的文件系统创建硬链接,即两个文件名要在相同的文件系统下。
 c:不能对不存在的文件创建硬链接,由原理即可知原因。

软链接:
 a.可以对目录创建软链接,遍历操作会忽略目录的软链接。
 b:可以跨文件系统
 c:可以对不存在的文件创建软链接,因为放的只是一个字符串,至于这个字符串是不是对于一个实际的文件,就是另外一回事了

3.命令
  硬链接:ln 源文件名 链接名

软链接:ln -s 源文件名 链接名
  硬链接和软链接的作用

硬链接:
  硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。只删除一个连接并不影响节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。还有如果把链接名创建为一个以.开头的隐藏文件,还能很好的隐藏自己的隐私。

软链接:
  链接又称之为符号连接(Symbolic Link)。软链接文件类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

时间: 2024-12-20 18:25:57

文件系统结构以及软链接和硬链接的区别的相关文章

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

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

[转帖]Linux 下软链接和硬链接的区别

Linux 下软链接和硬链接的区别 http://os.51cto.com/art/201911/605267.htm 软连接 文件是小的 只是一个链接 删除和其他处理不影响 原始文件的计数 删除源文件 链接文件立马完蛋 但是可以跨文件挂载点进行连接. 硬链接 增加了innode 的引用计数. 删除时 只要还有一个有链接 文件就还有. 但是不能跨挂载点进行硬链接 软连接 就是 ln -s 硬链接 直接 ln 在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通文件

linux软链接与硬链接的区别

Linux 文件系统最重要的特点之一是它的文件链接.链接是对文件的引用,这样可以让文件在文件系统中多处被看到.不过,在 Linux 中,链接可以如同原始文件一样来对待.链接可以与普通的文件一样被执行.编辑和访问.对系统中的其他应用程序而言,链接就是它所对应的原始文件.当您通过链接对文件进行编辑时,您编辑的实际上是原始文件.链接不是副本,linux有两种类型的链接:硬链接和符号链接(软链接). 硬链接(hard link)只能引用同一文件系统中的文件.它引用的是文件在文件系统中的物理索引(也称为

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

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

软链接与硬链接的区别

使用ln命令创建的是硬链接,ln -s 创建的是软链接. 硬链接文件iNode节点与源文件节点号相同,软链接节点号与源文件不同,它只是源文件的一个快捷方式. 不能对目录创建硬链接,但是可以创建软链接,对目录的软链接会经常用到. 软链接可以跨文件系统,硬链接不能跨越文件系统. 删除软链接对源文件和硬链接无任何影响. 删除硬链接对源文件和软链接无影响 删除源文件对硬链接无影响,但是软链接会失效.(红字闪烁) 同时删除源文件和硬链接,文件才会真正的删除.

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

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

linux中软链接和硬链接的区别与小结

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

LINUX “软链接”和“硬链接”的区别

今天在知乎上看到一篇十分有趣的问题: 如何评价微软高级工程师痴迷于soft link这一linux常见概念? 虽然又是知名撕逼王曾某的撕逼帖,但是我还是想就题目中链接的问题简单地讲讲. 什么是链接? 链接简单说实际上是一种文件共享的方式,是 POSIX 中的概念,主流文件系统都支持链接文件. 它是用来干什么的? 你可以将链接简单地理解为 Windows 中常见的快捷方式(或是 OS X 中的替身),Linux 中常用它来解决一些库版本的问题,通常也会将一些目录层次较深的文件链接到一个更易访问的目

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

Linux有着极其丰富的文件系统,大体可分为如下几类: 网络文件系统:如nfs.cifs等: 磁盘文件系统:如ext3.ext4等: 特殊文件系统:如prco.sysfs.ramfs.tmpfs等: 一.Linux系统中一切皆文件(除进程以外) Linux系统的顶层目录结构如下 1 / 根目录 2 3 ├── bin 存放用户二进制文件 4 5 ├── boot 存放内核引导配置文件 6 7 ├── dev 存放设备文件 8 9 ├── etc 存放系统配置文件 10 11 ├── home 用