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. Spring通过注解装配Bean

    通过注解实现ServiceImpl业务 一.使用@Component装配Bean 1. 定义类:User 在类上面加@Component注解,在属性上面加@Value值 package com.wbg ...

  2. react系列(二)高阶组件-HOC

    高阶组件 简单来说,高阶组件可以看做一个函数,且该函数接受一个组件作为参数,并返回一个新的组件. 我在之前的博客<闭包和类>中提到一个观点,面向对象的好处就在于,易于理解,方便维护和复用. ...

  3. 【2017002】C#FTP上传文件

    //上传文件 public static Boolean FtpUpload(string ftpPath, string localFile, FtpServer svr) { //检查目录是否存在 ...

  4. 协议类接口 - SPI

     一.SPI概述 SPI(Serial Peripheral Interface,串行外设接口)总线系统是一种同步串行外设接口,它可以使CPU与各种外围设备以串行方式进行通信以交换信息.一般主控SoC ...

  5. C#中小写人民币转大写

    /// <summary> /// 转换成大写人民币 /// </summary> /// <param name="myMoney">< ...

  6. Jquery中on绑定事件 点击一次 执行多次 的解决办法

    举个例子,在同一个页面有下拉选择框 <select class="mySelect"> <option value="user">按用户 ...

  7. AtomicStampedReference解决ABA问题

      在运用CAS做Lock-Free操作中有一个经典的ABA问题: 线程1准备用CAS将变量的值由A替换为B,在此之前,线程2将变量的值由A替换为C,又由C替换为A,然后线程1执行CAS时发现变量的值 ...

  8. Vue填坑(1)----通过vue-cli,认识vue-router

    开始 首先,确保之前已经安装过 npm 和 nodejs(为了避免版本的问题,最好使用较新的版本). 全局安装 vue-cli : npm install -g vue-cli 新建文件夹 my-pr ...

  9. MyEclipse中好用的快捷键汇总整理

    MyEclipse中常用的快捷键有很多,合理的使用其中一些快捷键组合,可以有效提高开发的效率和质量. 1.Ctrl + Shift + R:打开资源.可以查找并打开工作区中任何一个文件,且支持使用通配 ...

  10. 第一课、安装登录CentOS7

    一.学习之初 1.学习这个课程的目的是,高薪就业,搞运维. 2.应该在宁波发展. 3.大概给自己定的计划是4个月能学习2遍. 4.学好之后就跳槽. 5.2年左右的时间要达到1.5W争取. 学习方法: ...