关于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. MySQL记录操作(多表查询)

    准备 建表与数据准备 #建表 create table department( id int, name varchar(20) ); create table employee( id int pr ...

  2. MySQL记录操作(增删改)

    概览 MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据 ...

  3. 在云服务搭建jupyter环境

    一.环境配置 centeos7 python3 二.安装jupyter notebook 1.安装jupyter 安装Jupyter Notebook 通过pip安装Jupyter Notebook ...

  4. Day1T3小w的魔术扑克——图论

    为什么不搞\(T2\)??? 因为我太菜了,那题我是真的搞不出来 题目描述 链接:https://ac.nowcoder.com/acm/contest/1100/C 来源:牛客网 小\(w\)喜欢打 ...

  5. Python基础篇(四)_组合数据类型的基本概念

    Python基础篇——组合数据类型的基本概念 集合类型:元素的集合,元素之间无序 序列类型:是一个元素向量,元素之间存在先后关系,通过序号进行访问,没有排他性,具体包括字符串类型.元组类型.列表类型 ...

  6. Spring 多数据源配置(转)

    转载自:https://www.cnblogs.com/digdeep/p/4512368.html 同一个项目有时会涉及到多个数据库,也就是多数据源.多数据源又可以分为两种情况: 1)两个或多个数据 ...

  7. .Net Framework 工具Mpgo.exe与Ngen.exe

    首先放出官方MSDN的文档地址 Mpgo.exe 主要用于分析程序集启动时需要哪些东西,然后将信息反馈给NGen.exe 来更好的优化本机映像,使得应用程序启动更快,工作集缩小.准备发布时,用MPGO ...

  8. Spring扩展:替换IOC容器中的Bean组件 -- @Replace注解

    1.背景:     工作中是否有这样的场景?一个软件系统会同时有多个不同版本部署,比如我现在做的IM系统,同时又作为公司的技术输出给其他银行,不同的银行有自己的业务实现(比如登陆验证.用户信息查询等) ...

  9. Mybatis(三)Mybatis映射开发

    4.1 一对一 4.1.1 表对应关系, 一个订单对应一个用户 4.1.2 实体对应关系 public class Order { private int id; private Date order ...

  10. 图数据库 Nebula Graph TTL 特性

    导读 身处在现在这个大数据时代,我们处理的数据量需以 TB.PB, 甚至 EB 来计算,怎么处理庞大的数据集是从事数据库领域人员的共同问题.解决这个问题的核心在于,数据库中存储的数据是否都是有效的.有 ...