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
相关文章
|
2月前
|
Shell Linux
Linux shell编程学习笔记30:打造彩色的选项菜单
Linux shell编程学习笔记30:打造彩色的选项菜单
|
7天前
|
存储 运维 监控
深入Linux基础:文件系统与进程管理详解
深入Linux基础:文件系统与进程管理详解
45 8
|
12天前
|
存储 Linux 文件存储
Linux文件系统
Linux文件系统 一切皆文件 在Linux中,“一切皆文件”的概念意味着系统中的所有资源,包括硬件设备、目录及进程等,均被视为文件。这种设计简化了操作和管理,具体包括: 普通文件:存储数据的常规文件。 目录文件:包含其他文件和子目录的文件。 进程文件:在/proc目录下代表系统中运行的进程。 设备文件:位于/dev目录,代表硬件设备。 网络字节流套接字文件:用于网络通信的数据流。 链接文件:指向另一个文件的符号链接或硬链接。 管道文件:用于进程间通信的文件。
44 7
|
1月前
|
存储 Oracle 关系型数据库
|
26天前
|
Kubernetes Linux 测试技术
|
1月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
46 3
|
2月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
2月前
|
存储 Linux 索引
Linux 下最主流的文件系统格式——ext
【9月更文挑战第8天】硬盘被划分为若干相同大小的块(Block),默认大小为4K,便于灵活管理文件数据。文件数据分散存放于这些块中,提高了数据添加、删除和插入的便利性。
|
3月前
|
编解码 Linux 程序员
深度探索Linux操作系统 —— 构建根文件系统2
深度探索Linux操作系统 —— 构建根文件系统
45 12
|
3月前
|
Linux Shell 网络安全
深度探索Linux操作系统 —— 构建根文件系统1
深度探索Linux操作系统 —— 构建根文件系统
54 6