热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

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

Linux有着极其丰富的文件系统,大体可分为如下几类:网络文件系统:如nfs、cifs等;磁盘文件系统:如ext3、ext4等;特殊文件系统:如prco、sysfs、ramfs、tmpfs

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    用户主目录
12 
13 ├── lib     动态共享库
14 
15 ├── lost+found  文件系统恢复时的恢复文件
16 
17 ├── media   可卸载存储介质挂载点
18 
19 ├── mnt     文件系统临时挂载点
20 
21 ├── opt     附加的应用程序包
22 
23 ├── proc    系统内存的映射目录,提供内核与进程信息
24 
25 ├── root    root 用户主目录
26 
27 ├── sbin    存放系统二进制文件
28 
29 ├── srv     存放服务相关数据
30 
31 ├── sys     sys 虚拟文件系统挂载点
32 
33 ├── tmp     存放临时文件
34 
35 ├── usr     存放用户应用程序
36 
37 └── 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 路径

 


推荐阅读
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 本文探讨了SSD购买后是否需要进行4K对齐的问题,并详细解释了4K对齐的原理及其重要性。通过对比机械硬盘与固态硬盘的结构,文章深入分析了4K对齐对SSD性能的影响,并提供了具体的对齐方法。 ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • 本文将详细探讨PHP中C的作用,并对比其他编程语言如Java和C的特点及其适用场景。 ... [详细]
  • MySQL 5.7 服务端在 Windows 上的安装与配置
    本文详细介绍了在 Windows 系统上安装和配置 MySQL 5.7 服务端的方法,包括 my.ini 配置文件的设置、初始化数据库、启动服务以及设置用户权限等步骤。 ... [详细]
  • Java EE 平台集成了多种服务、API 和协议,旨在支持基于 Web 的多层应用程序开发。本文将详细介绍 Java EE 中的 13 种关键技术规范,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • Ubuntu 22.04 安装搜狗输入法详细指南及常见问题解决方案
    本文将详细介绍如何在 Ubuntu 22.04 上安装搜狗输入法,并提供常见问题的解决方法。包括下载安装包、更新源、安装依赖项等步骤。 ... [详细]
  • 深入解析Pod中的容器关系
    容器之间的紧密协作如何实现?本文探讨了Kubernetes中Pod的概念及其在处理容器间超亲密关系中的作用。 ... [详细]
  • 本文介绍了如何查看PHP网站及其源码的方法,包括环境搭建、本地测试、源码查看和在线查找等步骤。 ... [详细]
  • PHP 5.5.31 和 PHP 5.6.17 安全更新发布
    PHP 5.5.31 和 PHP 5.6.17 已正式发布,主要包含多个安全修复。强烈建议所有用户尽快升级至最新版本以确保系统安全。 ... [详细]
  • malloc 是 C 语言中的一个标准库函数,全称为 memory allocation,即动态内存分配。它用于在程序运行时申请一块指定大小的连续内存区域,并返回该区域的起始地址。当无法预先确定内存的具体位置时,可以通过 malloc 动态分配内存。 ... [详细]
  • 华为捐赠欧拉操作系统,承诺不推商用版
    华为近日宣布将欧拉开源操作系统捐赠给开放原子开源基金会,并承诺不会推出欧拉的商用发行版。此举旨在推动欧拉和鸿蒙操作系统的全场景融合与生态发展。 ... [详细]
  • 本文详细介绍了如何在PHP中记录和管理行为日志,包括ThinkPHP框架中的日志记录方法、日志的用途、实现原理以及相关配置。 ... [详细]
author-avatar
可爱爱美女_815
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有