每个linux系统的目录结构差不多,因为有FHS(Filesystem Hierarchy Standard)标准的规范。

FHS的重点在于规范每个特定的目录下应该要放什么样的数据。

FHS依据文件系统使用的频繁与否是否允许用户随意改动,而将目录定义为四种交互作用的形态:

  1. 可分享的:可以分享给其他系统挂载使用的目录,包括执行文件和用户的邮件等数据。
  2. 不可分享的:自己机器上面运行的设备文件或者是与程序有关的socket文件等。
  3. 不变的:有些数据是不会经常变动的,例如函数库、文件说明文件、系统管理员所管理的主机服务配置文件等。
  4. 可变的:经常改变的数据,例如登录文件、新闻组等。

事实上,FHS针对目录树架构仅定义出三层目录下面应该放置什么数据而已,分别是下面这三个目录的定义:

  1. /:与开机系统有关
  2. /usr:与软件安装/执行有关
  3. /var:与系统运作过程有关。

1、根目录(/)的意义与内容

根目录是整个系统最重要的一个目录,因为不但所有的目录都是由根目录衍生出来的,同时,根目录也与开机、还原、系统修复等操作有关。

根目录不要放在非常大的分区内,因为越大的分区会放入越多的数据,有较多发生错误的可能。因此FHS标准建议:根目录所在分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在一个分区内。

FHS定义出根目录下面应该有下面这些子目录的存在:

  • /bin:放置在单用户维护模式下还能够被操作的命令。/bin下面的命令可以被root与一般账号所使用,主要有cat、chmod、chown、date等常用命令。
  • /boot:主要放置开机会使用到的文件,包括Linux内核文件以及开机菜单与开机所需配置文件等。
  • /dev:任何设备与接口设备都是以文件的形式存在于这个目录当中。访问这个目录下的文件,相当于访问某个设备。
  • /etc:系统主要的配置文件几乎都放置在这个目录内。一般只有root有权修改。
  • /home:系统默认的用户主文件夹。~代表目前这个用户的主文件夹。
  • /lib:放置开机时会用到的函数库,以及在/bin或/sbin下面的命令调用的函数库。/lib/modules这个目录放置内核相关的模块(驱动程序)。
  • /media:可删除的设备,包括软盘、光盘等设备都暂时挂载于此。
  • /mnt:暂时挂载某些额外的设备。
  • /opt:第三方软件放置的目录。
  • /root:系统管理员的主文件夹。一般与根目录放置在同一个分区中。
  • /sbin:开机过程中所需要的,包括开机、修复、还原系统所需要的命令。
  • /srv:一些网络服务启动后,这些服务所需要取用的数据目录。
  • /tmp:临时文件目录,不要放重要数据。

以下几个也是非常重要的目录:

  • /lost+found:使用标准的ext2/ext3文件系统格式才会产生的一个目录,目的在于当文件系统发生错误时,将一些丢失的片段放置在这个目录下。
  • /proc:一个虚拟文件系统,它放置的数据都是在内存当中,例如系统内核、进程、外部设备状态网络状态等,不占用任何硬盘空间。
  • /sys:类似于/proc,不占用硬盘空间。

注意:根目录与开机有关,开机过程中仅有根目录会被挂载,其他分区则是在开机完成之后才会持续进行挂载的行为。因为如此,根目录下与开机有关的目录就不能放置在不同的分区,有以下这些:

  • /etc:配置文件
  • /bin:重要执行文件
  • /dev:所需要的设备文件
  • /lib:执行文件所需的函数库与内核所需的模块
  • /sbin:重要的系统执行文件

linux学习笔记-目录结构(1)的更多相关文章

  1. linux学习笔记-目录结构(2)

    2./usr的意义与内容 依据FHS的基本定义,/usr里面放置的数据属于可分享的与不可变动的. usr是UNIX Software Resource的缩写,即UNIX操作系统软件资源所放置的目录,而 ...

  2. Linux~学习笔记目录索引

    回到占占推荐博客索引 本篇文章是对自己学习Linux及在它的环境下部署工具的一个总结,以方便自己查阅,也给他人一个帮助,本文章同时会不断的更新,欢迎大家订阅! 本目录包括的内容会包括linux基础命令 ...

  3. linux学习笔记-目录相关知识

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! linux的目录结构及作用是根据fhs标准定制的,以下列出一些常用的目录的作用,以及fhs官方网站的连接 FHS官方网站的连接: ...

  4. Linux学习笔记 -- 目录与文件的管理

    目录结构 Linux的目录结构为树状结构,最顶级的目录为根目录 “/”. 其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们. 在开始本教程前我们需要先知道什么是. 绝对路径与相对路径 绝 ...

  5. Linux学习笔记 -- 系统目录结构

    以root用户登录系统后,在当前命令窗口下输入命令: ls / 我们可以看到目录结构类似下图: 树状目录结构可以表示为: 解析: /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令 ...

  6. Vue学习笔记-目录结构

    1.采用脚手架构建的项目基本目录结构 可能会有些许差别,但是大致基本目录都差不多 2.项目入口(index.html,main.js,App.vue) 一般情况下,我们都习惯性将 index.html ...

  7. Linux Shell编程学习笔记——目录(附笔记资源下载)

    LinuxShell编程学习笔记目录附笔记资源下载 目录(?)[-] 写在前面 第一部分 Shell基础编程 第二部分 Linux Shell高级编程技巧 资源下载 写在前面 最近花了些时间学习She ...

  8. Linux命令学习笔记目录

    Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 ...

  9. (大数据工程师学习路径)第一步 Linux 基础入门----目录结构及文件基本操作

    Linux 目录结构及文件基本操作 介绍 1.Linux 的文件组织目录结构. 2.相对路径和绝对路径. 3.对文件的移动.复制.重命名.编辑等操作. 一.Linux 目录结构 在讲 Linux 目录 ...

随机推荐

  1. VS2013 生成事件,删除不必要的DLL

    解决方案中有一个 Project 是 Windows Service,用来从消息队列中取出事件,发送通知电邮: UI是一个MVC网站,两个Project都引用了同一个类库,这个类库引用了第三方的生成P ...

  2. Redis---事务和Wtach

    1. 概述 Redis通过 MULTI, EXEC / WATCH 等命令来实现事务. 事务提供一种将多个命令请求打包, 然后一次性.按顺序的执行多个命令的机制. 并且在事务执行期间, 服务器不会中断 ...

  3. 使用bash echo 输出回车转义

    输出回车 [root@~]# echo -e 'hello\n'hello 回车去掉 [root@~]# echo -n hello hello[root@~]#

  4. 【sping揭秘】8、容器内部事件发布(一)

    容器内部事件发布 Spring的applicationContext容器提供的容器内事件发布功能,是通过java提供的自定义事件实现的 事件类型:eventObject 类继承 事件监听:eventL ...

  5. dubbo源码阅读之SPI

    dubbo SPI SPI,全程Service Provider interface, java中的一种借口扩展机制,将借口的实现类注明在配置文件中,程序在运行时通过扫描这些配置文件从而获取全部的实现 ...

  6. 阿里语音识别(语音转文字)java调用全程手把手详解-适合中小学生快速上手

    阿里语音识别服务java调用全程手把手详解-适合中小学生快速上手 阿里语音识别与百度语音识别的调用对比: 用例:1分30秒的录音文件    百度用时:3秒    阿里用时:30秒    识别准确率来看 ...

  7. dbvisulizer 存储过程

    --/ CREATE PROCEDURE test () BEGIN DECLARE v CHAR(10) DEFAULT 'Hello';SELECT CONCAT(v, ', ', current ...

  8. C#:自定义函数

    将数组转成字符串 /// <summary> /// 将数组转成字符串 /// </summary> /// <param name="glue"&g ...

  9. MySQL笔记(6)---锁

    1.前言 我们都知道在并发的情况下,修改数据时需要添加锁,但是却对数据库锁的工作原理不甚理解,不知道锁的运行机制,也就对数据的安全性无法明白.本章记录MySQL中锁的相关知识. 2.什么是锁 锁是数据 ...

  10. 使用命令执行 sql 脚本文件

    使用命令执行 sql 脚本文件 方法: 在 Windows 下使用 cmd 命令执行(或 Unix 或 Linux 控制台下)[Mysql的bin目录]\mysql –u用户名 –p密码 –D数据库名 ...