2.1 什么是文件系统

  文件系统是操作系统在磁盘或分区上组织文件的方法和数据结构。负责对磁盘空间进行组织和分配,存储文件数据,并对其提供保护和检索服务。学习Linux,首先需要了解整个 Linux 文件系统的目录结构以及各个目录的功能。

  为了避免不同的发行版本使用不同的目录结构,Linux 基金会发布了 FHS 标准。多数 Linux 发行版系统都遵循这一标准。FHS(Filesystem Hierarchy Standard),文件系统层次化标准,该标准规定了 Linux 系统中所有一级目录以及部分二级目录(/usr 和 /var)的用途。

2.2 与windows文件系统的不同

  1. 与 Windows 系统不同的是Linux 系统没有 C 盘、D 盘、E 盘那么多的盘符,只有一个根目录(/),所有的文件(资源)都存储在以根目录(/)为树根的树形目录结构中。
  2. 文件的扩展名对 Linux 操作系统没有特殊的含义,换句话说,Linux 系统并不以文件的扩展名开分区文件类型。例如,dog.exe 只是一个文件,其扩展名 .exe 并不代表此文件就一定是可执行文件。
  3. 目录名或文件名是区分大小写的。

2.3 Linux 根目录(/)

  在Linux系统中,有一个重要思想:一切都是文件。即Linux系统将几乎所有的设备、配置、软件全部抽象为文件,而这些文件都保存在/目录下。/ 目录以下为一级目录这些目录都是系统装机时系统自动创建的。

2.4 Linux一级目录及其作用

  • /bin/  #存放系统命令,普通用户和 root 都可以执行。
  • /boot/ #系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等
  • /dev/ #设备文件保存位置
  • /etc/ #配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等
  • /home/ #普通用户的主目录(也称为家目录)。所有普通用户的主目录是在/home/ 下建立一个和用户名相同的目录。如用户 mzg的主目录就是 /home/mzg
  • /lib/ #系统库文件保存位置
  • /media/ #挂载目录。系统建议用来挂载媒体设备,如软盘和光盘
  • /mnt/  #挂载目录。早期 Linux 中只有这一个挂载目录,并没有细分。系统建议这个目录用来挂载额外的设备,如 U 盘、移动硬盘和其他操作系统的分区
  • /misc/ #挂载目录。系统建议用来挂载 NFS 服务的共享目录。虽然系统准备了三个默认挂载目录 /media/、/mnt/、/misc/,但是到底在哪个目录中挂载什么设备可以由管理员自己决定。例如,早期 Linux 默认挂载目录只有 /mnt/,所以更多的程序员在 /mnt/ 下建立不同目录挂载不同设备,如 /mnt/cdrom/ 挂载光盘、/mnt/usb/ 挂载 U 盘等。
  • /opt/ #第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。更多的程序员习惯也可以把软件放到 /usr/local/ 目录中。
  • /root/ #root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下
  • /sbin/ #保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置
  • /srv/ #服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
  • /tmp/ #临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不能保存重要数据。

  以上是FHS 针对根目录中包含的子目录,除此之外,Linux 系统根目录下通常还包含以下几个一级目录。

  • /lost+found/ #当系统意外崩溃或意外关机时,产生的一些文件碎片会存放在这里。在系统启动的过程中,fsck 工具会检查这里,并修复已经损坏的文件系统。
  • /proc/  #虚拟文件系统。该目录中的数据并不保存在硬盘上,而是保存到内存中。主要保存系统的内核、进程、外部设备状态和网络状态等。如 /proc/cpuinfo 是保存 CPU 信息的,/proc/devices 是保存设备驱动的列表的,proc/filesystems 是保存文件系统列表的,/proc/net 是保存网络协议信息的。
  • /sys/ #虚拟文件系统。和 /proc/ 目录相似,该目录中的数据都保存在内存中,主要保存与内核相关的信息

2.5 Linux级目录及其作用

  /usr目录。usr(注意不是 user),全称为 Unix Software Resource,此目录用于存储系统软件资源。FHS 建议所有开发者,应把软件产品的数据合理的放置在 /usr 目录下的各子目录中,而不是为他们的产品创建单独的目录。Linux 系统中,所有系统默认的软件都存储在 /usr 目录下,/usr 目录类似 Windows 系统中 C:\Windows\ + C:\Program files\ 两个目录的综合体。

  • /usr/local/ #手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置
  • /usr/share/ #应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录
  • /usr/src/ #源码包保存位置。我们手工下载的源码包和内核源码包都可以保存到这里。很多人习惯把手工下载的源码包保存到 /usr/local/src/ 目录中,把内核源码保存到 /usr/src/linux/ 目录中
  • /usr/include #C/C++等编程语言头文件的放置目录
  • /usr/lib/ #应用程序调用的函数库保存位置
  • /usr/XllR6/ #图形界面系统保存位置

  /var 目录。用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等。通常,此目录下建议包含如下这些子目录。

  • /var/lib/ #程序运行中需要调用或改变的数据保存位置。如 MySQL 的数据库保存在 /var/lib/mysql/ 目录中。
  • /var/log/ #登录文件放置的目录
  • /var/run/ #一些服务和程序运行后,它们的 PID(进程 ID)保存位置

  有些目录中不能直接修改和保存数据,比如 /proc/fn/sys/ 目录,因为它们是保存在内存中的,如果在这里写入数据,那么你的内存会越来越小,直至死机;/boot/ 目录也不能保存额外数据,因为 /boot/ 目录会单独分区作为启动分区,如果没有空闲空间,则会导致系统不能正常启动。一般不要修改根目录下的文件和目录,每个用户的文件都放到自己的家目录中。

区块链阶段1-Linux基础- 2 Linux文件系统的更多相关文章

  1. Linux基础与Linux下C语言编程基础

    Linux基础 1 Linux命令 如果使用GUI,Linux和Windows没有什么区别.Linux学习应用的一个特点是通过命令行进行使用. 登录Linux后,我们就可以在#或$符后面去输入命令,有 ...

  2. SLAM+语音机器人DIY系列:(一)Linux基础——1.Linux简介

    摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...

  3. SLAM+语音机器人DIY系列:(一)Linux基础——3.Linux命令行基础操作

    摘要 由于机器人SLAM.自动导航.语音交互这一系列算法都在机器人操作系统ROS中有很好的支持,所以后续的章节中都会使用ROS来组织构建代码:而ROS又是安装在Linux发行版ubuntu系统之上的, ...

  4. 【转】Linux基础与Linux下C语言编程基础

    原文:https://www.cnblogs.com/huyufeng/p/4841232.html ------------------------------------------------- ...

  5. 区块链阶段1-Linux基础- 1 Linux简介

    对于一般的办公和娱乐我们接触更多的是Windows.但是对于IT从业人员,特别是从事服务器管理以及软件开发的人员来讲,我们需要熟练掌握 Linux/UNIX操作系统的知识.所以,Linux 是众多操作 ...

  6. Linux基础-兄弟连Linux

    Linux基础增强与辅助知识梳理... ------------ Linux学习基础需要学习那些知识 学习Linux对于程序开发的好处 怎样开始学习Linux Linux的学习方法参考 Linux系统 ...

  7. Linux基础:Linux环境下安装JDK

    title: Linux基础:JDK的及环境变量配置 author: Enjoyitlife.top date: 2019-10-09 20:50:36 tags: Linux JDK categor ...

  8. Linux基础系列—Linux体系结构和Linux内核结构

    /** ****************************************************************************** * @author    暴走的小 ...

  9. 【Linux基础】Linux常用命令汇总

    3-1文件目录操作命令(cd pwd mkdir rmdir rm) 绝对路径:由根目录(/)开始写起的文件名或目录名称, 例如 /home/dmtsai/.bashrc: 相对路径:相对于目前路径的 ...

  10. Linux基础之Linux简介

    Linux(英语发音:/ˈlɪnəks/ lin-əks)是一种自由和开放源代码的类UNIX操作系统. Linux简介 Linux(英语发音:/ˈlɪnəks/ lin-əks)是一种自由和开放源代码 ...

随机推荐

  1. 翻译 API

    Request http://fy.iciba.com/ajax.php?a=fy&f=auto&t=auto&w=love Pre 英译汉 Request http://fy ...

  2. [转]HTTP Error 500.21 - Internal Server Error Handler "ExtensionlessUrlHandler-Integrated-4.0" has a bad module "ManagedPipelineHandler" in its module list

    1.错误 HTTP Error 500.21 - Internal Server Error Handler "ExtensionlessUrlHandler-Integrated-4.0& ...

  3. 管道模型(Pipeline)

    1.使用make_blobs来生成数据集,然后对数据集进行预处理 #导入数据集生成器 from sklearn.datasets import make_blobs #导入数据集拆分工具 from s ...

  4. vue动态加载图片

    如果是直接动态获取完整的图片地址可以使用以下方法 <template> <img :src="url"> </template> <scr ...

  5. JS中BOM和DOM常用的事件

    总结:window对象 ● window.innerHeight - 浏览器窗口的内部高度 ● window.innerWidth - 浏览器窗口的内部宽度 ● window.open() - 打开新 ...

  6. SIM7600CE http post

    SIM7600CE是一款SMT封装的模块,支持 LTE-TDD/LTE-FDD/HSPA+/TD-SCDMA/EVDO和GSM/GPRS/EDGE等频段,支持LTE CAT4(下行速度为150Mbps ...

  7. Linux之nginx负载均衡

    Nginx负载均衡概述 Web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台WEB服务器组成集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中,实现 ...

  8. DELL R730 做raid10

    1.服务器开机,在出现下图提示时,同时按着<ctrl >+ < R >键,即可进入配置界面 2.会进入下图 3.按上下键到第一项PERC H730P MINI ,按F2,选择c ...

  9. Linux学习笔记之一

    基本命令 关机/重启 [root@allen ~]# [当前登录用户@主机名 当前所在目录]# 当前用户身份 #号表示管理员root $表示普通用户登录 如何关机 如何重启 系统硬件信息查看 关机命令 ...

  10. shell脚本——正则表达式

    什么是正则表达式 正则表达式分为基础正则和扩展正则,都是为了匹配符合预期要求的字符串 正则表达式与通配符的区别 只需要记住,对文件内容或是展示文本的操作都是正则,而对目录或文件名的操作则都是通配符(例 ...