Loading

Linux 软连接和硬链接

最近有些懈怠,有段时间没写博客了,还是歹坚持下去💪

 

 

Linux 引入了目录 (有时亦被称为文件夹)这一概念,目录使文件可被分类管理,且目录的引入使 Linux 的文件系统形成一个层级结构的目录树

 

  • # Linux 系统的顶层目录结构
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/              根目录
├── bin     存放用户二进制文件
├── boot    存放内核引导配置文件
├── dev     存放设备文件
├── etc     存放系统配置文件
├── home    用户主目录
├── lib     动态共享库
├── lost+found  文件系统恢复时的恢复文件
├── media   可卸载存储介质挂载点
├── mnt     文件系统临时挂载点
├── opt     附加的应用程序包
├── proc    系统内存的映射目录,提供内核与进程信息
├── root    root 用户主目录
├── sbin    存放系统二进制文件
├── srv     存放服务相关数据
├── sys     sys 虚拟文件系统挂载点
├── tmp     存放临时文件
├── usr     存放用户应用程序
└── var     存放邮件、系统日志等变化文件

 

 

 

 Linux 与其他类 UNIX 系统一样并不区分文件与目录:目录是记录了其他文件名的文件

 

  • Win    文件:文件名数据
  • Linux 文件:用户数据 (user data) 与元数据 (metadata)。

 

  • 用户数据,即文件数据块 (data block),数据块是记录文件真实内容的地方
  • 元数据则是文件的附加属性,如文件大小、创建时间、所有者等信息

元数据包含 : inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号),linux中inode 号才是linux文件的标识

文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 号寻找正确的文件数据块

 

 

 

说了这么多 别说你们了  我自己头都大了   那么 # linux为什么要使用软连接和硬链接??

为解决文件的共享使用

 

硬链接 (hard link) 与软链接(又称符号链接,即 soft link 或 symbolic link)。

链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径增加权限安全及节省存储等好处。

 

#什么是硬链接??

若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名   

# 什么是软链接??

 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。

 

see also https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html#fig1

 

 

#拓展二进制

 

为什么要使用二进制文件。原因大概有三个:
  1.   第一是二进制文件比较节约空间,这两者储存字符型数据时并没有差别。但是在储存数字,特别是实型数字时,二进制更节省空间,比如储存 Real*4 的数据:3.1415927,文本文件需要 9 个字节,分别储存:3 . 1 4 1 5 9 2 7 这 9 个 ASCII 值,而二进制文件只需要 4 个字节(DB 0F 49 40)
  2.   第二个原因是,内存中参加计算的数据都是用二进制无格式储存起来的,因此,使用二进制储存到文件就更快捷。如果储存为文本文件,则需要一个转换的过程。在数据量很大的时候,两者就会有明显的速度差别了。
  3.   第三,就是一些比较精确的数据,使用二进制储存不会造成有效位的丢失。

 

posted @ 2019-05-03 20:21  Unixcs  阅读(1654)  评论(0编辑  收藏  举报