导读 您好,现在瑶瑶来为大家解答以上的问题。linux文件系统结构,linux文件系统相信很多小伙伴还不知道,现在让我们一起来看看吧!1、1 linux

您好,现在瑶瑶来为大家解答以上的问题。linux文件系统结构,linux文件系统相信很多小伙伴还不知道,现在让我们一起来看看吧!

1、1. linux 磁盘分区和目录 linux 发行版本之间的差别很少,差别主要表现在系统管理的特色工具以及软件包管理方式的不同。

2、目录结构基本上都是一样的。

3、 Windows 的文件结构是多个并列的树状结构,最顶部的是不同的磁盘(分区),如: C , D , E , F 等。

4、linux 的文件结构是单个的树状结构 . 可以用 tree 进行展示。

5、 在 Ubuntu 下安装 tree ( sudo apt-get install tree ) , 并可通过命令来查看。

6、每次安装系统的时候我们都会进行分区, linux 下磁盘分区和目录的关系如下:– 任何一个分区都必须挂载到某个目录上。

7、– 目录是逻辑上的区分。

8、分区是物理上的区分。

9、– 磁盘 linux 分区都必须挂载到目录树中的某个具体的目录上才能进行读写操作。

10、– 根目录是所有 linux 的文件和目录所在的地方,需要挂载上一个磁盘分区。

11、以下是我们可能存在的一种目录和分区关系:图1:目录和分区关系Q: 如何查看分区和目录及使用情况?– fdisk 查看硬盘分区表– df :查看分区使用情况– du: 查看文件占用空间情况Q: 为什么要分区,如何分区?– 可以把不同资料,分别放入不同分区中管理,降低风险。

12、– 大硬盘搜索范围大,效率低– 磁盘配合只能对分区做设定– /home /var /usr/local 经常是单独分区,因为经常会操作,容易产生碎片2. Mount 挂载和 NFS 简介挂载的概念 :当要使用某个设备时,例如要读取硬盘中的一个格式化好的分区、光盘或软件等设备时,必须先把这些设备对应到某个目录上,而这个目录就称为 挂载点( mount point ) ,这样才可以读取这些设备,而这些对应的动作就是 挂载 。

13、 将物理分区细节屏蔽掉。

14、用户只有统一的逻辑概念。

15、所有的东西都是文件。

16、 Mount 命令可以实现挂载:mount [-fnrsvw] [-t vfstype] [-o options] device dirQ :所有的磁盘分区都必须被挂载上才能使用,那么我们机器上的硬盘分区是如何被挂载的?A :这主要是它利用了 /etc/fstab 文件。

17、每次内核加载它知道从这里开始 mount 文件系统。

18、每次系统启动会根据该文件定义自动挂载。

19、若没有被自动挂载,分区将不能使用。

20、 如下是我的 /etc/fstab 的定义,主要是根据装机的分区来的:# proc /proc proc defaults 0 0#/dev/sda1 被自动挂载到 /UUID=cb1934d0-4b72-4bbf-9fad-885d2a8eeeb1 / ext3 relatime,errors=remount-ro 0 1# /dev/sda5 被自动挂载到分区 /homeUUID=c40f813b-bb0e-463e-aa85-5092a17c9b94 /home ext3 relatime 0 2#/dev/sda7 被自动挂载到 /workUUID=0f918e7e-721a-41c6-af82-f92352a568af /work ext3 relatime 0 2# 分区 /dev/sda6 被自动挂载到 swapUUID=2f8bdd05-6f8e-4a6b-b166-12bb52591a1f none swap sw 0 0Q :移动硬盘如何挂载?如何挂载一个新的分区?移动硬盘有驱动模块会自动挂载,如果有个新硬盘,要先进行分区,并通过 mount 命令挂载到某个文件夹。

21、如果要自动挂载则可以修改 /etc/fstab 文件 .NFS 简介: NFS 相信在很多地方都有广泛使用,是一个非常好的文件共享方式。

22、我们公司所使用的上传服务就是把文件上传到某台网络服务器上,中间就是通过 NFS 实现。

23、使用 NFS 客户端可以透明的地访问服务器端的文件。

24、 NFS 也是通过 mount 来实现,底层是通过 NFS 通信协议实现。

25、基本原理:图2:NFS基本原理Ubuntu 下面 Ubuntu 下的例子服务端 :$apt-get install nfs-kernel-servervi /etc/exports 添加 nfs 目录 : /personal/nfs_share10.1.60.34(rw,sync,no_root_squash)$sudo exportfs -r$sudo /etc/init.d/portmap start$sudo /etc/init.d/nfs-kernel-server start客户端 :$sudo apt-get install nfs-common$sudo mount 10.19.34.76:/personal/nfs_share ~/nfsshare 例子:3. 文件类型linux 下面的文件类型主要有:a) 普通文件 : C 语言元代码、 SHELL 脚本、二进制的可执行文件等。

26、分为纯文本和二进制。

27、b) 目录文件 :目录,存储文件的唯一地方。

28、c) 链接文件 :指向同一个文件或目录的的文件。

29、d) 特殊文件 :与系统外设相关的,通常在 /dev 下面。

30、分为块设备和字符设备。

31、可以通过 ls –l, file, stat 几个命令来查看文件的类型等相关信息。

32、4.文件存储结构linux 正统的文件系统 ( 如 ext2 、 ext3) 一个文件由目录项、 inode 和数据块组成。

33、目录项 : 包括文件名和 inode 节点号。

34、Inode :又称文件索引节点,是文件基本信息的存放地和数据块指针存放地。

35、数据块 :文件的具体内容存放地。

36、linux 正统的文件系统 ( 如 ext2 、 3 等 ) 将硬盘分区时会划分出目录块、 inode Table 区块和 data block 数据区域。

37、 一个文件由一个目录项、 inode 和数据区域块组成。

38、 Inode 包含文件的属性 ( 如读写属性、 owner 等,以及指向数据块的指针 ) ,数据区域块则是文件内容。

39、 当查看某个文件时,会先从 inode table 中查出文件属性及数据存放点,再从数据块中读取数据。

40、站在 2w 英尺视图,文件存储结构大概如下:图3:文件存储结构2w英尺视图其中目录项的结构如下 ( 每个文件的目录项存储在改文件所属目录的文件内容里 ) :图4:目录项结构其中文件的 inode 结构如下( inode 里所包含的文件信息可以通过 stat filename 查看得到):。

本文就为大家分享到这里,希望小伙伴们会喜欢。