Linux有着极其丰富的文件系统,大体可分为如下几类:

网络文件系统:如nfs、cifs等;

磁盘文件系统:如ext3、ext4等;

特殊文件系统:如prco、sysfs、ramfs、tmpfs等;

一、Linux系统中一切皆文件(除进程以外)

Linux系统的顶层目录结构如下

 /              根目录

 ├── bin     存放用户二进制文件

 ├── boot    存放内核引导配置文件

 ├── dev     存放设备文件

 ├── etc     存放系统配置文件

 ├── home    用户主目录

 ├── lib     动态共享库

 ├── lost+found  文件系统恢复时的恢复文件

 ├── media   可卸载存储介质挂载点

 ├── mnt     文件系统临时挂载点

 ├── opt     附加的应用程序包

 ├── proc    系统内存的映射目录,提供内核与进程信息

 ├── root    root 用户主目录

 ├── sbin    存放系统二进制文件

 ├── srv     存放服务相关数据

 ├── sys     sys 虚拟文件系统挂载点

 ├── tmp     存放临时文件

 ├── usr     存放用户应用程序

 └── var     存放邮件、系统日志等变化文件

二、Linux的硬链接和软连接

Linux文件被分为两部分:用户数据(user data)和元数据(meta data)。用户数据,即用户数据块(data block),记录的是文件真实内容存放的地方;元数据是文件的附加属性,如文件大小、创建时间等等信息。

在元数据中都存在一个inode号(可以理解为一个数据的索引号),而文件名只是为了读者相对于好记忆的标识,真正寻找的还是元数据的inode号,即通过文件名打开文件夹实质上是寻找inode的过程。

在Linux中为了解决文件共享的问题,引入了两种链接:硬链接(herd link)和软连接(soft link)。硬链接可以理解为一个inode号对应多个文件名,可用link或ln创建。软连接可以理解为Windows系统中文件的快捷方式。利用stat可以查看文件的inode号。

硬链接创建: ln 原路径 新路径
软连接创建: ln –s 原路径 新路径
删除软连接: rm –rf 路径

Linux文件系统简介和软链接和硬链接的区别的更多相关文章

  1. linux中inode、软链接、硬链接

    1 软链接 linux中软链接理解成window中的快捷方式.创建软链接的命令 ln -s 源文文件或目录 目标文件或目录 2 硬链接 创建硬链接的命令如下 ln  源文文件或目录 目标文件或目录 3 ...

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

    Linux 下软链接和硬链接的区别 http://os.51cto.com/art/201911/605267.htm 软连接 文件是小的 只是一个链接 删除和其他处理不影响 原始文件的计数 删除源文 ...

  3. ln命令:软链接与硬链接的区别与应用

    ln命令:软链接与硬链接的区别与应用 摘要 Linux系统中,链接是一个十分常见且实用的文件处理命令,它分为软链接和硬链接两种类型.软链接类似于Windows中的快捷方式,硬链接又有着与原文件保持同步 ...

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

    ln命令 该命令在文件之间创建链接.这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称.对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题. 如果链 ...

  5. linux下软链接与硬链接及其区别

    linux下创建链接命令 ln -s 软链接 这是linux中一个非常重要命令,请大家一定要熟悉.它的功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最常用的参数是-s, 具体用法是:ln ...

  6. Linux上ln命令详细说明及软链接和硬链接的区别

    硬链接(hard link) UNIX文件系统提供了一种将不同文件链接至同一个文件的机制,我们称这种机制为链接.它可以使得单个程序对同一文件使用不同的名字.这样的好处是文件系 统只存在一个文件的副本, ...

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

    今天在知乎上看到一篇十分有趣的问题: 如何评价微软高级工程师痴迷于soft link这一linux常见概念? 虽然又是知名撕逼王曾某的撕逼帖,但是我还是想就题目中链接的问题简单地讲讲. 什么是链接? ...

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

    由于下面会说到inode,所以如果没有了解过,请务必搞懂inode的真正含义,厚颜无耻的推荐我的一篇博客:Linux磁盘与文件系统管理 如果我们在系统中新建一个文件,我们看到的文件名实际上只是表面现象 ...

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

    在linux系统中,链接分两种 :一种被称为硬链接(Hard Link),另一种被称为符号链接或软链接(Symbolic Link). 1)默认不带参数情况下,ln命令创建的是硬链接. 2)硬链接文件 ...

随机推荐

  1. 【Cmd命令行】基础—findstr与for循环

    Findstr命令 findstr是Window系统自带的命令,用途是查找指定的一个或多个文件文件中包含(或通过参数 /V来控制不包含)某些特定字符串的行,并将该行完整的信息打印出来,或者打印查询字符 ...

  2. Swift_方法

    Swift_方法 点击查看源码 ///方法 class Methods: NSObject { func test() { // self.testInstanceMethods() //实例方法 s ...

  3. mybatis——学习笔记

    配置文件 <properties resource="dbconfig.properties"></properties> 1. properties 引入 ...

  4. JavaScript变量声明及赋值

    1.变量声明 var a; //声明一个变量 a var b,c,d; //同时申明多个变量时,变量名之间用逗号隔开 console.log(a); //在控制台显示变量a的值,输出为undefine ...

  5. CSS实现图片等比例缩小不变形

    <img src="../images/bg1.jpg" alt="" /> img { /*等宽缩小不变形*/ /*width: 100%;*/ ...

  6. memcache和redis的区别和联系

    一.区别 Memcache : 1,对每个key的数据最大是1M. 2,对各种技术支持比较全面,session可以存储memcache中,各种框架(例如thinkphp)对memcache支持比较好. ...

  7. Ubuntu之C++开发环境的搭建

    初学Linux,今天反复卸载与重装微软商店的Ubuntu好几次,终于解锁了在Ubuntu上搭建C++开发环境的正确姿势, 搭建了一个非常简单的开发环境:简单到什么地步呢?只是简单地配置了一下编辑器,安 ...

  8. Elasticsearch 数据操作

    一.新增数据 1.1 随机生成id 语法: POST /索引库名/类型名 { "key1": "value1", "key2": " ...

  9. OAuth2.0 与 oauth2-server 库的使用

    作者:baiyi链接:https://www.jianshu.com/p/83b0f6d82d6c來源:简书 OAuth2.0 是关于授权的开放网络标准,它允许用户已第三方应用获取该用户在某一网站的私 ...

  10. QEP之init()和dispatch()流程图

    抽象状态机类QFsm或QHsm有一个函数指针,用于在继承的具体状态机类中指向具体的状态函数,其有两个对外的接口函数init()和dispatch(),其工作原理是理解状态机处理事件过程的关键. 具体状 ...