Windows 和 Linux 文件系统区别 -- 结构

Windows 下的文件系统

- 在 Windows 下,打开 “计算机”,我们看到的是一个个的驱动器盘符:

- 每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形,如图所示:

Linux 下的文件系统

在 ubuntu 中所有的文件都是基于目录的方式存储的。一切都是目录,一切都是文件。这本来就是 linux 所倡导的。

在 Linux 下,我们是看不到这些驱动器盘符,我们看到的是文件夹(目录):

Ubuntu 没有盘符这个概念,只有一个根目录 /,所有文件都在它下面

Windows 和 Linux 文件系统 -- 类型

  • windows 中常见的磁盘格式有 fat16、fat32 和 ntfs 。windows 是一个封闭的系统。无法打开 ext3 或者 mac 日志式。

  • 在 ubuntu 中其文件系统广泛使用 ext3 ( ext4 是 ext3 的扩展)的文件格式,从而实现了将整个硬盘的写入动作完整的记录在磁盘的某个区域上。

  • 如果装 windows 和 ubuntu 双系统的话,在 ubuntu 中可以实现主动挂载 windows 的文件系统,并以只读的方式访问磁盘中 windows 系统上的文件。

Ubuntu文件目录系统

  • Ubuntu文件系统的设计目的就是把文件有序地组织在一起,提供一个从逻辑上组织文件的文件系统。除了文件的组织外,文件安全也是文件系统的设计要点,所以文件的访问权限是文件系统不可缺少的组成部分
  • Ubuntu文件系统的组织结构是按一定的逻辑功能划分的,并且便于用户访问和使用。
  • ubuntu严格区分大小写和空格,所以Sun和sun是两个不同的文件。

Ubuntu的根目录 \

  • Linux和Unix文件系统是按树型结构分级组织的。
  • 文件系统的最高级别是/或者根目录,其他文件或目录都在根目录下。
  • 根目录整个文件系统的逻辑终点
  • 一般根目录下只存放目录,在 linux 下有且只有一个根目录,所有的东西都是从这里开始
    • 当在终端里输入 /home,其实是在告诉电脑,先从 /(根目录)开始,再进入到 home 目录

根目录下的一级目录

目录 说明
/bin 包含普通用户和系统管理员可以共享的各种通用程序,如bash、dd、df、gzip、grep、mv、mkdir等常用的基本命令
/boot 包含系统引导程序GRUB及其配置文件、linux内核文件vmlinuz和磁盘内存映像文件initrd.img等重要引导文件
/dev 包含系统支持的所有设备文件。具体来说,console表示控制台,lp0表示打印机,mem表示系统的物理内存,sda表示连接到主控制器的第一个磁盘,ttyXX表示串口设备
/etc 包含系统管理和维护方面的所有配置文件
/home 包含所有普通用户的家目录
/lost+found 用于存储fsck命令在检测与修复文件系统时删除的文件和目录
/media 包含移动存储介质的挂载点,插入U盘,系统会自动将U盘挂载到该目录的某个子目录
/mnt 包含所有自定义的文件系统的挂载点,可以挂载任何文件系统 包括NFS或CIFS网络文件系统
/opt 应用程序等附加软件的安装目录,类似于windows系统中的Program Files目录
/proc 虚拟文件目录,系统关闭时为空目录,系统运行时进程文件系统根目录,其中的部分文件系统分别对应当前正在运行的进程,可用于访问当前进程的地址空间
/root 超级用户root的家目录
/sbin 超级用户管理员的常用工具、如管理和维护、系统引导和恢复命令集合
/srv 分担了var目录的一些功能,保存了一些网络服务所需的数据文件
/sys 和proc一样是虚拟目录,系统各种设备配置信息的根目录,如block子目录中包含有磁盘及磁盘分区的配置信息
/tmp 临时文件目录,用于存储系统运行过程生成的临时文件,也可以供用户存储自己的临时文件。需要注意的是,只有文件的创建者才可以删除相应文件
/usr 既可以作为根目录下的一个子目录,其中保存系统提供的各种共享数据(用户命令、库函数、头文件、文档等),又可以作为一个单独的文件系统,可以认为是对根目录的一个递归目录,使得文件系统具有更大的灵活性
/var 该目录和usr 类似,首先是根目录下的子目录,也可以作为单独的文件系统,用于存储各种可变长的数据文件(如日志文件)、暂存文件或待处理的临时文件

一些重要的二级目录

目录 说明
/boot/grub 其中存有GRUB配置文件,以及三种不同类型的初始引导程序
/etc/apt 包含软件管理工具使用的配置文件,如sources.list
/etc/cron.d 用于存储cron进程调度运行后台进程所用的配置文件盒控制文件。其他有关目录 cron.hourly cron.daily cron.weekly cron.monthly 四个目录
/etc/init.d 用于存储系统启动引导过程中需要由init调度执行的脚本文件
/etc/network 包含网络接口的配置文件interfaces,以及相关的配置工具
/etc/X11 包含X服务器使用的各种配置文件,如xorg.conf等
/usr/bin 包含用户经常使用的各种命令
/usr/include 用于存储各种C语言头文件。这个目录及其子目录是开发人员经常引用的文件
/usr/lib 其中包含各种共享的库函数,可供程序员已静态或动态的方式链接自己开发的程序
/usr/sbin 包含系统引导完成之后系统管理员经常使用的各种系统管理和维护命令
/usr/share 共享目录 包含man(联机文档的根目录)、info(GNU info文档的根目录)等子目录
/usr/src 存放linux系统内核的源代码和文档等
/var/lib 存储软件包特定的动态链接共享库、配置文件、数据文件和状态信息等
/var/log 系统守护进程日志文件的存储目录
/var/lock 用于存储各种服务进程或应用程序访问特定的设备或文件时设置的封锁文件
/var/run 系统运行信息文件的根目录,其中包括各种.pid文件中存有守护进程的PID。
/var/spool 用于缓存各种等待处理的文件,如打印服务等。通常每类待处理的缓存文件均位于各自的子目录中,如/var/spool/cups等
/var/tmp 用于存储各种临时文件

/usr 文件结构

usr并不是user的缩写,而是Unix Software Resource的缩写,即“Unix 操作系统软件资源”放在该目录。这个目录 相当于Windows操作系统的“C:\Windows”和“C:\Program files”这两个目录的综合体

目录 说明
/usr/bin 存放应用程序
/usr/share 存放共享数据
/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件
/usr/local 存放软件升级包
/usr/share/doc 系统说明文件存放目录
/usr/share/man 程序说明文件存放目录

/var 文件结构

var放置系统执行过程中经常变化的文件

目录 说明
/var/log 随时更改的日志文件
/var/spool/mail 邮件存放的目录
/var/run 程序或服务启动后,其 PID 存放在该目录下

参考资料:

『Linux基础 - 3』 Linux文件目录介绍的更多相关文章

  1. 『Linux基础 - 4 』linux常用命令(1)

    这篇笔记包含以下知识点: 几个概念的理解:Linux命令,控制台,终端, 终端提示符 对文件目录的操作的相关命令: 切换目录,列出目录下的文件等 对文件的操作的相关命令: 创建,删除,复制,修改,移动 ...

  2. 『Linux基础 - 5 』Linux常用命令(2)

    这篇笔记的只要知识点: (1)ls查看文件信息,列表中每个字符所代表的含义 (2) 使用通配符匹配文件 (3) chmod命令:修改文件或目录权限 (4) 与用户相关命令(who.su.exit.pa ...

  3. 『Python基础-1 』 编程语言Python的基础背景知识

    #『Python基础-1 』 编程语言Python的基础背景知识 目录: 1.编程语言 1.1 什么是编程语言 1.2 编程语言的种类 1.3 常见的编程语言 1.4 编译型语言和解释型语言的对比 2 ...

  4. 『Python基础-11』集合 (set)

    # 『Python基础-11』集合 (set) 目录: 集合的基本知识 集合的创建 访问集合里的值 向集合set增加元素 移除集合中的元素 集合set的运算 1. 集合的基本知识 集合(set)是一个 ...

  5. 『Python基础-8』列表

    『Python基础-8』列表 1. 列表的基本概念 列表让你能够在一个地方存储成组的信息,其中可以只包含几个 元素,也可以包含数百万个元素. 列表由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...

  6. 『Python基础-12』各种推导式(列表推导式、字典推导式、集合推导式)

    # 『Python基础-12』各种推导式(列表推导式.字典推导式.集合推导式) 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的 ...

  7. 『Python基础-10』字典

    # 『Python基础-10』字典 目录: 1.字典基本概念 2.字典键(key)的特性 3.字典的创建 4-7.字典的增删改查 8.遍历字典 1. 字典的基本概念 字典一种key - value 的 ...

  8. 『Python基础-9』元祖 (tuple)

    『Python基础-9』元祖 (tuple) 目录: 元祖的基本概念 创建元祖 将列表转化为元组 查询元组 更新元组 删除元组 1. 元祖的基本概念 元祖可以理解为,不可变的列表 元祖使用小括号括起所 ...

  9. 『Python基础-7』for循环 & while循环

    『Python基础-7』for循环 & while循环 目录: 循环语句 for循环 while循环 循环的控制语句: break,continue,pass for...else 和 whi ...

随机推荐

  1. tpcc-mysql安装测试与使用生成对比图

    1:下载tpcc-mysql的压缩包,从下面的网站进行下载 https://github.com/Percona-Lab/tpcc-mysql 也可直接从叶总博客直接下载: http://imysql ...

  2. MVC中用NPOI导出Excel相关问题

    情形1:可以直接带参数 前端页面: @.ActionLink("导出Excel", "DownLoadExcel", new { 参数名= '参数值' }, n ...

  3. c#编程指南(五) 扩展方法(Extension Method)

    C# 3.0就引入的新特性,扩展方法可以很大的增加你代码的优美度,扩展方法提供你扩展.NET Framewoke类的扩展途径,书写和规则也简单的要命. 编写扩展方法有下面几个要求: 第一:扩展方法所在 ...

  4. 捕获Task.WhenALl返回的Task的Exception

    如果有一个任务抛出异常,则Task.WhenAll 会出错,并把这个异常放在返回的Task 中.如果多个任务抛出异常,则这些异常都会放在返回的Task 中.但是,如果这个Task 在被await 调用 ...

  5. .net正在终止线程异常

    try{sting host = context.Request.UrlReferrer.Host;if ( 程序判断){ context.Response.Clear();context.Respo ...

  6. 【Leetcode】【Medium】Subsets

    Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset must be ...

  7. SOA架构

    基于服务的SOA架构_后续篇   今天是元宵节,首先祝各位广大博友在接下来的光阴中技术更上一层,事事如意!(没能在元宵节发布,今天就补上吧) 昨天简单介绍了一下本人在近期开发过的一个电商购物平台的架构 ...

  8. mongodb在windows平台安装和启动

    mongodb 官网:https://www.mongodb.com mongodb 官网下载: mongodb-win32-x86_64-2008plus-ssl-3.4.2-signed.msi ...

  9. ListView实现下拉刷新(二)隐藏头布局

    一.问题分析 在上一篇中,我们将头布局加到了ListView上.但是没有隐藏他.你可能会想,隐藏还不简单,直接给它设置为GONE属性不就可以了吗,在需要的时候再设定为可见.没错,这正是ListView ...

  10. 折腾apt源的时候发生的错误

    在折腾Ubuntu源的时候,把新的源替换进去,然后 sudo apt-get update 之后报错: W: Unknown Multi-Arch type 'no' for package 'com ...