热门标签 | 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 路径

 


推荐阅读
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • CMake跨平台开发实践
    本文介绍如何使用CMake支持不同平台的代码编译。通过一个简单的示例,我们将展示如何编写CMakeLists.txt以适应Linux和Windows平台,并实现跨平台的函数调用。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文深入探讨了如何通过调整InnoDB的关键配置参数来优化MySQL的随机IO性能,涵盖了缓存、日志文件、预读机制等多个方面,帮助读者全面提升数据库系统的性能。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 高效解决应用崩溃问题!友盟新版错误分析工具全面升级
    友盟推出的最新版错误分析工具,专为移动开发者设计,提供强大的Crash收集与分析功能。该工具能够实时监控App运行状态,快速发现并修复错误,显著提升应用的稳定性和用户体验。 ... [详细]
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社区 版权所有