关于Linux目录的配置说明

大家都知道Linux一切皆文件,但是Linux的文件有那么多,目录也不少。他们都是干什么用的呢,有没有什么规律呢?今天我们就来讨论一下Linux目录的配置

Linux目录配置的依据FHS

因为使用Linux进行开发或者其他工作的个人或社区真的是太多了,如果每个人都按照自己的意愿来安排文件的存储位置以及软件的安装位置等肯定会乱套的。所以就有了Filesystem Hierarchy Standard(FHS)。也就是说,这是一个标准用于规定哪里应该放置什么样的文件。事实上,FHS针对目录树主要定义出了三个目录,它们分别是:

目录 用于
/(root,根目录 与启动系统有关
/usr(unix software resource) 与软件安装/执行有关
/var(variable) 与系统运行过程有关

根目录是系统最重要的一个目录,因为不但所有的目录都是从根目录衍生出来,同时根目录也与系统启动、还原、系统修复等操作有关。所以FHS建议/所在分区应该越小越好。

具体有哪些目录

目录 应该放置的文件内容
/bin 系统有很多存放执行文件的目录,但/bin下的命令在单人维护模式下仍可执行。
/boot 放置启动时会使用到的文件。包括Linux内核文件、启动选项以及启动所需的配置文件。
/dev Linux中,所有的设备和接口文件均以文件形式存在于这个目录当中。在这里,你读写某个文件=读写某个设备。
/etc/ 系统主要的配置文件几乎都放置在这个目录中。此目录下文件一般只有root才能修改。
/lib 系统的函数库非常多,但/lib放置的是启动时会用到的函数库,以及在/bin或/sbin下命令会调用的函数库。
/media 下面用于放置可删除的设备,比如说U盘、光盘等。
/mnt 可以暂时用来挂载某些额外的设备,和media的功能差不多。
/opt 这是给第三方辅助软件放置的目录。即非原发行版提供的软件。
/run 系统启动后所产生的各项信息应该放置到本目录下。(以前放在/bar/run)。
/sbin 用于放置启动过程所需要的,包括启动、修复、还原系统所需要的命令。
/srv 可视为service的缩写。是一些网络服务启动之后,所需要使用的数据目录。比如常用的www、FTP等。
/tmp 让一般用户或是正在执行的程序暂时放置文件的地方。该目录任何人都可读取。
/home 系统默认的家目录(home directory),新增账号时,默认的用户家目录一般会规范到这里来。
/root 系统管理员的家目录,root的家目录和根目录应该放置到同一个分区。

其他的一些分区

目录 应该放置的文件内容
/lost+found 这个目录是使用标准的ext2、ext3、ext4文件系统格式才会产生的目录。用于文件系统出错时,将一些遗失的片段放在这里。
/proc 虚拟文件系统(virtual filesystem),它放置的数据都是在内存当中,本身不占用内存空间。
/sys 也是虚拟文件系统,主要记录内核与系统硬件信息相关的内容。
/usr/bin 一般用户使用的命令。Centos7已经将全部的用户命令放置于此,而且使用链接文件将/bin链接至此。
/usr/bin 基本上与/lib功能相同,所以/lib就是链接至此目录的。
/usr/local 系统管理员安装自己下载的软件建议安装在此目录。
/usr/sbin 目前/sbin也是链接至此目录。
/usr/share 主要放置只读的数据文件。
/usr/games 与游戏相关的数据放置处。
/usr/include C/C++等程序的头文件和包含文件放置处。
/usr/libexec 某些不被一般用户常用的执行文件或脚本放置在此。
/var/cache 应用程序本身运行产生的一些缓存。
var/lib 程序本身运行所需要的数据文件。
var/lock 某些设备或是文件资源一次只能被一个应用程序使用,使用时需要上锁。目前此目录已经挪到/run/lock。
var/log 日志文件放置目录。
var/mail 放置个人电子邮件的目录。和/var/spool/mail/互为链接文件。
var/run 某些程序或服务启动后,将他们的PID放置在此目录。此目录与/run链接。
var/spool 此目录放置队列数据(排队等待其他程序使用的数据)

如果还想对目录配置有更深入的理解,可以挑战FHS官方英文文档。

End LINE

关于Linux目录的配置的更多相关文章

  1. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

  2. Linux 目录配置

    一.Linux 目录配置标准:FHS FHS(Filessystem Hierarchy Standard) 的重点在于规范每个特定的目录下应该要放置什么样子的数据. FHS依据文件系统使用的频繁与否 ...

  3. 快速配置 Samba 将 Linux 目录映射为 Windows 驱动器

    原文链接 samba client ubuntu redhat ubuntu gui tools 1,列出某个IP地址所提供的共享文件夹 smbclient -L 198.168.0.1   2,在s ...

  4. 在Linux下访问Windows共享目录的配置方法

    在Linux下访问Windows共享目录的配置方法 1.在Windows上设置一个共享目录 如:将d:\RedHat_disk设置为共享目录 2.在Windows上创建一个用户,如tommy,密码11 ...

  5. 配置samba 服务器 共享Linux目录

    配置samba 服务器 共享Linux目录 1.安装: yum install -y samba* 2.修改配置文件 vim /etc/samba/smb.conf [web] path = /usr ...

  6. Linux网络配置 RPM命令 samba服务 Linux目录结构

    第一种方法: (1)用root身份登录,运行setup命令进入到 text mode setup utiliy对网络进行配置,这里可以进行ip,子网掩码,默认网关,dns的设置.(2)这时网卡的配置没 ...

  7. 快速配置 Samba 将 Linux 目录映射为 Windows 驱动器,用于跨平台编程

    一.局域网内的 Linux 服务器上操作步骤: 1.安装samba(CentOS Linux): yum install samba system-config-samba samba-client ...

  8. 在Linux虚拟机下配置tomcat

    1.到Apache官网下载tomcat http://tomcat.apache.org/download-80.cgi 博主我下载的是tomcat8 博主的jdk是1.8 如果你们的jdk是1.7或 ...

  9. 在Linux虚拟机下配置jdk的环境变量

    1.到Oracle公司的官网里下载好jdk,网址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133 ...

随机推荐

  1. C#窗体排列方式

    2020-03-11 每日一例第3天 1.设置父窗体属性:IsMdicontainer设置成true; 2.拖入menustrip控件,修改标题栏中的text文字. 3.点击“加载子窗体”设置代码: ...

  2. spring boot 学习笔记(一)

    学习链接:http://www.cnblogs.com/ityouknow/category/914493.html 定义 spring boot 是由pivotal 团队提供的权限框架,设计目的是用 ...

  3. C语言-转义字符

    %d   十进制有符号整数 %u   十进制无符号整数 %f    浮点数 %s   字符串 %c   单个字符 %p   指针的值 %e   指数形式的浮点数 %X   无符号以十六进制表示的整数 ...

  4. 覆盖io.spring.platform管理的版本号

    使用io.spring.platform时,它会管理各类经过集成测试的依赖版本号.想要覆盖其中某个依赖的版本号个: https://www.cnblogs.com/ld-mars/p/11818252 ...

  5. docker系列详解<二>之常用命令

    此篇我们以从docker运行一个tomcat为例,进行一下操作: 拉取镜像 查看镜像 创建容器 查看运行状态 进入退出容器 停止容器 重启容器 删除容器 删除镜像 1.拉取tomcat镜像: 1).查 ...

  6. Swift 4.0 数组(Array)学习

    定义数组常量(常量只有读操作) let array1: [Int] = [11, 55, 5] let array2 = [11, 55, 5] 定义数组变量 var array: [Int] = [ ...

  7. Spring Controller单例与线程安全那些事儿

    目录 单例(siingleton)作用域 原型(Prototype)作用域 多个HTTP请求在Spring控制器内部串行还是并行执行方法? 实现单例模式并模拟大量并发请求,验证线程安全 附录:Spri ...

  8. Java attack - Java 特性

    Java 语言平台版本 l  J2SE (Java 2 Platform Standard Edition) 标准版 是为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可以完成 ...

  9. 动态规划-买卖股票的最佳时机 V

    2020-03-11 18:19:00 问题描述: 给出一个股票n天的价格,每天最多只能进行一次交易,可以选择买入一支股票或卖出一支股票或放弃交易,输出能够达到的最大利润值 样例 样例 1: 给出 ` ...

  10. python之面向对象性封装,多态,以及鸭子类型

    默认类型 class A: class_name = 'python23期' def __init__(self, name, age): self.name = name self.age =age ...