fedora学习笔记 6:浅谈linux文件系统

简介:
 文件系统是linux里非常重要的一个概念,这么一个重要而且常见的字眼理解起来并不容易,很多人对它认识相当模糊。对许多从windows平台迁移过来的用户来说,它更是一个思想上的挑战。

     1>文件系统的概念:术语“文件系统”在linux中有很多不同的概念。它既可指代磁盘分区或磁盘分区类型,也可指代分区的文件目录,也可指代文件的数据结构或组织方法等,在不同的语境中指代不同的涵义。
  我们要使用一块硬盘首先要合理规划分区,然后要在分区上创建文件系统,最后要挂载文件系统,这样才能使用。这里的文件系统指的就是磁盘分区类型,如 ext2、ext3、fat等。有时,大家会直接用文件系统来指代磁盘分区,如linux中所说的挂载一个文件系统。linux中最常用的文件系统是 ext3。
  我们进入linux系统根目录,运行ls -la命令,可以看到很多目录,如etc、bin、sbin、var、usr等等,这些目录还有其子目录;我们运行tree命令,可以看到这些目录边同其子目录形成了一个树形结构,最上面的是系统的根目录。所以我们说linux文件系统结构是树形结构。这里的文件系统指的是文件目录,文件系统结构即文件目录结构。
  linux通过挂载的方式对不同的文件系统进行组织和管理,从而形成一个总的、树形结构的文件系统。这句话里的两个文件系统都是什么意思呢?
 
  2>linux文件系统结构:前面我们讲,linux文件系统结构主要是指文件目录结构,这个文件系统结构是树形结构。那么我们如何理解这个树形结构呢?对比着windows文件系统结构来理解或许是个不错的办法。
  当你第一次进入linux文件系统时,你会发现,呈现在你面前的一切与windows是如此的不同:没有你熟悉的C盘、D盘或E盘,只有一个个目录!没错,这就是linux和windows在设备管理上的区别。
  我们知道windows系统中每一个磁盘分区都分配有一个盘符,每新增一个其它存储设备就要为它分配一个盘符。而linux不会为磁盘分区或其它存储设备分配盘符,只为它们分配目录。linux只有一个文件系统结构,这个文件系统结构以根目录开始,所有的本地文件系统,本地设备,以及所有的远程文件系统都表示为根目录的子目录,新增的设备或文件系统通过挂载的方式,挂载为根目录的子目录。
  明白了么?windows里的C盘、D盘或E盘都是独立的文件系统,操作系统有几个分区就有几个文件系统结构;linux不一样,它只有一个文件系统结构,所有的磁盘分区或其它存储设备都是这个树形结构的一个“树枝”。
 
  理解了树形结构以后,我们再来看看文件系统结构中的另一个概念:目录结构。
  前面我们讲,linux系统不会为磁盘分区或其它存储设备分配盘符,只会为它们分配目录;所有的本地或远程文件系统、设备等都表示为文件系统结构中一个子目录。那么,为什么要这样呢?因为目录为管理文件提供了一个方便而有效的途径。如果你理解linux把所有的设备都当作文件来管理的话,你就会发现这样的安排是多么的巧妙。linux中的设备都以文件的形式出现在/dev目录中,如/dev/lp0,这是打印机;再比如/dev/hda,这是电脑里的第一块硬盘。
  再换个角度:windows里的磁盘标识的盘符,既是数据存放位置映射的路径,也是存放数据的真实的文件系统;linux里的目录只是数据的逻辑路径,并非是数据就存放在那个目录里。那么它的数据在什么地方呢?或者在第一块硬盘上,也可能在第二块硬盘上。如:windows的 D盘里安装有一个软件,那么,这个D盘既是软件的安装路径,也是软件数据存放的地方;linux的/var/local下安装有一个软件,/var /local是这个软件的安装路径,软件的数据在哪里存放呢?那就要看/var这个目录建在哪个磁盘的哪一个分区上了。
 
  linux使用标准的目录结构,在安装系统时,就已经创建了完整的目录结构,并指定了每个目录的作用和其中的文件类型。
  下面是一个不完整的目录结构图:
  
  
  3>linux下的主要目录:上面那张目录结构图虽然不完整,但已经可以让我们大致了解linux的目录结构了,而且几个重要的目录也已经列出来了。
  bin目录:可执行程序目录。与之类似的还有:/sbin、/usr/bin等。
  boot目录:系统启动目录,里面有系统启动时必需的文件。
  dev目录:设备文件目录,里面存放着各种设备文件。
  etc目录:系统配置目录,系统运行的各种配置文件都在这里。
  usr目录:系统程序目录,这里放着各种程序文件。
  var目录:这个目录里存放的是经常扩充、变动的文件,如日志文件、数据库等。

本文转自 li_qinshan 51CTO博客,原文链接:http://blog.51cto.com/share/133661
相关文章
|
14天前
|
存储 缓存 算法
【linux】认识“文件”的本质,理解“文件系统”的设计逻辑,体会linux优雅的设计理念
【linux】认识“文件”的本质,理解“文件系统”的设计逻辑,体会linux优雅的设计理念
|
1月前
|
存储 Linux 数据处理
探索Linux操作系统的内核与文件系统
本文深入探讨了Linux操作系统的核心组件,包括其独特的内核结构和灵活的文件系统。文章首先概述了Linux内核的主要功能和架构,接着详细分析了文件系统的工作原理以及它如何支持数据存储和检索。通过比较不同的文件系统类型,本文旨在为读者提供一个关于如何根据特定需求选择合适文件系统的参考框架。
|
3天前
|
存储 Linux Windows
【Linux】文件系统软硬链接的那些事儿
本文介绍了Linux文件系统的磁盘结构、逻辑结构以及文件和inode的关系,重点讲解了软链接和硬链接的区别,强调了它们在文件管理中的作用。
14 7
|
1天前
|
存储 运维 安全
Linux命令stat:深入了解文件与文件系统状态
`stat`命令在Linux中用于显示文件和文件系统的详细状态,包括权限、大小、时间戳等。它通过读取inode获取信息,特点是显示全面、易用且支持多种参数,如`-c`自定义格式,`-f`查看文件系统状态,`-L`处理符号链接。例如,`stat example.txt`显示文件详情,`stat -c "%n 的大小是 %s 字节" example.txt`输出文件大小。理解`stat`有助于系统管理和故障排查。
|
6天前
|
Shell Linux
RSIC-V“一芯”学习笔记(二)——Linux入门教程
RSIC-V“一芯”学习笔记(二)——Linux入门教程
|
12天前
|
存储 缓存 固态存储
Linux操作系统之文件系统详解
Linux操作系统之文件系统详解
|
17天前
|
存储 Unix 数据管理
深入探讨Linux文件系统:从传统到现代
深入探讨Linux文件系统:从传统到现代
18 0
|
18天前
|
数据可视化 Shell Linux
技术笔记:Linux学习笔记1
技术笔记:Linux学习笔记1
11 0
|
2月前
|
运维 安全 Linux
深入理解 Linux 文件系统的权限管理
【5月更文挑战第30天】 在 Linux 操作系统中,文件系统权限管理是维护系统安全与数据完整性的基石。本文旨在深入探讨 Linux 权限模型的核心概念、实现机制及其对系统安全性的影响。通过对用户身份、文件权限和访问控制列表(ACL)等关键元素的剖析,揭示权限管理在实际操作中的应用细节。文章还将讨论如何有效配置权限来优化系统性能和提升安全性,以及解决常见的权限问题的策略。
|
2月前
|
Linux PHP 数据安全/隐私保护
深入理解PHP7的返回值类型声明深入理解 Linux 文件系统的权限管理
【5月更文挑战第30天】在PHP7中,引入了返回值类型声明的特性。这一特性使得开发者可以在函数定义时指定函数应返回的值的类型。本文将详细解析返回值类型声明的用法,以及它在实际开发中的应用,帮助读者更好地理解和使用这一特性。