Linux操作系统有一些固定的目录。各种Linux发行版的目录结构虽然不会一模一样,但是不会有很大差异。知道了这些目录的作用,不仅对你进行磁盘分区规划很有帮助,而且会让你以后的日常维护工作变得轻松。只有对如下表中的各个目录的用途很了解,才能在硬盘分区时不至于犯下大的错误。

目 录

英文全名

用 途

/                         /                                 整个目录结构的起始点                                                     
/bin Binaries 用来存放最常用的二进制命令
/boot Boot 包含引导Linux的重要文件,如grub和内核文件等
/dev Devices 所有设备都在该目录下,包括硬盘和显示器等
/etc etc 系统的所有配置文件都放在它下面
/home Home 存放各用户的家目录($HOME)及其文件和配置
/lib Libraries 系统的库文件,有点像Windows的Program Files
/lost+found lost+found 用于存放系统异常时丢失的文件(如突然宕机),以利于恢复
/media Media 用于加载各种媒体,如:光盘、软盘等
/mnt Mount 用于加载各种文件系统
/opt Optionally 用于存放安装的“可选(optionally)”程序
/proc Processes 包含进程等信息,是内存的映射,不是真实目录
/root Root 该目录是root用户的家目录($HOME)
/sbin System-only binaries 用于存放系统专用的二进制命令
/sys System 用于存放系统信息
/tmp Temporary files 用于存放临时文件
/usr User 用于存放普通用户的应用程序、库文件和文档等
/var Variable files 用于存放那些在时间、大小、内容上会经常变化的文件

-----------------------------------------------------------------------------

使用任何Linux系统,都要有至少两个分区:一个根分区,用“/”表示;另一个是swap(交换)分区。所以,最简单的分区方法就是:先创建swap分区,剩下的所有空间分配给根分区“/”。

swap分区的尺寸,最小应该和内存一样大,最大一般不超过内存的两倍大小。 
swap分区就像Windows的虚拟内存交换文件pagefile.sys,系统在需要时会把它当作虚拟内存来使用,比方说在运行大型程序时、在内存优化时,或者在系统休眠时。系统休眠时,www.linuxidc.com 把整个内存的数据写入swap分区,这就是为什么你的swap分区的大小至少应该和内存一样大的原因。

最好把/boot单独创建一个分区上,因为这个目录下的文件比较重要,万一分区损坏,系统可能无法启动。如果单独创建为一个分区,其他分区的损坏就不会影响它,从而提高了系统的稳定性。一般情况下,/boot分区不需要太大,128MB就足够用了。

其他分区,就要看实际需求了。

比方说,如果服务器会有很多用户登录上来放文件,那么/home最好单独分区,并给予足够大的空间。

在比方说,如果服务器是要放数据库的,这个数据库可能会变得很大,那么/var最好单独分区,并给予足够大的空间;因为数据库默认是放在/var下面的。

Web服务器也是一样,因为Web页面默认是放在/var/www/html下面的,所以,如果会有人上传大量的文件(如果论坛附件),那么最好也要把/var单独分区,并给予足够大的空间。

一般而言,作为服务器,我还建议把/tmp单独作为一个分区。因为大部分应用程序都会向这个目录写入临时文件,虽然每次Linux重启时这个目录会被清空,但是没有人动不动重新启动服务器玩儿的。我曾经帮一个朋友解决过一个问题,就是关于/tmp的。 
-------------------------------------------------------------------------------- 
下面举个简单的磁盘分区的例子。

公司内部做了一台开发服务器,在Internet机房里还有一些Web服务器和数据库服务器。

开发服务器是给所有开发人员用的,他们要在“家目录”中存储大量的文件。平时,他们的工作站在启动时,是会自动将开发服务器上自己的“家目录”挂载到本地的;也就是说,他们工作站上的“家目录”,实际上在开发服务器上(这个功能是通过NFS实现的)。所以,这台服务器的/home是用的最多的,而且需要比较大的空间。

此外,由于是开发服务器,我们还需要一个做版本管理的源代码仓库,这个仓库是放在/var下面的。虽然源代码的文件尺寸不会特别大,不需要特别大的空间,但是这些代码非常重要,所以我们也要想保护/boot那样保护它们。

所以,对于这台开发服务器,我给出的分区方案(服务器硬盘共有750GB,内存为1GB)详见下表:

文件系统

挂载点

大小

分区格式

/dev/sda1              /boot              128MB                   ext4                              
/dev/sda2 / 20GB ext4                             
/dev/sda5   2GB swap                             
/dev/sda6 /var 125GB ext4
/dev/sda7 /home 600GB ext4
/dev/sda8 /tmp 2GB ext4

以上分区方案只是一个参考,实际分区方案应该根据自己的实际情况而定。

Linux文件系统的主要目录结构说明及分区方案的更多相关文章

  1. Linux基础系列—Linux内核源码目录结构

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

  2. Linux 文档与目录结构

    Linux之文档与目录结构   Linux文件系统结构 Linux目录结构的组织形式和Windows有很大的不同.首先Linux没有“盘(C盘.D盘.E盘)”的概念.已经建立文件系统的硬盘分区被挂载到 ...

  3. Linux界面交互与目录结构

    一.交互通道 Linux系统环境默认有六个命令交互通道和一个图形界面交互通道,默认进入的是图形界面通道. 命令交互模式切换:ctrl+alt+F1-F6 图形界面交互模式:ctrl+alt+F7   ...

  4. linux文档与目录结构

    Linux文件系统结构 本文转自 https://www.cnblogs.com/pyyu/p/9213237.html Linux目录结构的组织形式和Windows有很大的不同.首先Linux没有“ ...

  5. Linux下文档与目录结构

    目录分类 Linux目录结构的组织形式和Windows有很大的不同.首先Linux没有“盘(C盘.D盘.E盘)”的概念.已经建立文件系统的硬盘分区被挂载到某一个目录下,用户通过操作目录来实现磁盘读写. ...

  6. linux目录结构 主流Linux发行版的目录结构

    目录 目录结构 一般教学的目录 CentOS7 openSUSE15.1 Ubuntu18.04 详细说明: /dev目录 /etc目录 /proc目录 /usr目录 /var目录 比较重要的目录 文 ...

  7. Linux C语言遍历目录结构

    遍历目录结构查找文件是很常用的功能,今天介绍一下使用Linux C 遍历Linux目录结构的方法: linux提供几个系统调用,以便于直接目录的读取和操作: DIR * opendir(const c ...

  8. Linux系列:快捷键、目录结构、用户目录

    一.快捷键 1.历史命令 查看历史命令:history [root@centos-master ~]# history 1 2020-10-25 21:03:39 2 2020-09-17 20:43 ...

  9. linux使用tree将目录结构写进txt

    比如把caffe的二级目录结构写进txt: tree -L > /home/wmz/treecaffe.txt 则会在/home/wmz/目录下生成一个名为treecaffe.txt的文件,文件 ...

随机推荐

  1. Asp.net把UTF-8编码转换为GB2312编码

    系统采用的UTF-8编码,而一些支持系统使用的是GB2312编码. 不同编码的页面.脚本之间互相引用,就会产生乱码的问题,解决方法就是统一成一种编码.asp.net 中,如果要修改输出页面的编码,可以 ...

  2. [C# 基础知识系列]C#中易混淆的知识点

    一.引言 今天在论坛中看到一位朋友提出这样的一个问题,问题大致(问题的链接为:http://social.msdn.microsoft.com/Forums/zh-CN/52e6c11f-ad28-4 ...

  3. Configuring HugePages for Oracle on Linux (x86-64)

    Introduction Configuring HugePages Force Oracle to use HugePages (USE_LARGE_PAGES) Disabling Transpa ...

  4. C# odbc

    一直下一步,注意需要 勾选你要连接的库名 odbc 命名空间 System.Data.Odbc

  5. 使用JDBC构建简单的数据访问层

    本教程的目的是使用Java编写的分离的层去访问数据库中的表,这一层通常称为数据访问层(DAL) 使用DAL的最大好处是通过直接使用一些类似insert()和find()的方法简化了数据库的访问操作,而 ...

  6. OC基础(5)

    #pragma mark指令 description方法 OC多文件开发介绍 *:first-child { margin-top: 0 !important; } body > *:last- ...

  7. java内省机制Introspector

    访问JavaBean属性的两种方式 1)直接调用bean的setXXX或getXXX方法: 2)通过内省技术访问(java.beans包提供了内省的API),内省技术访问也提供了两种方式: a)通过P ...

  8. mysql 存储结构

    mysql存储结构:数据库->表->数据 1)管理数据库 增:create database sjk; 删:drop database sjk; 改:alter database sjk; ...

  9. linux下启动dbca或netmgr类的图形界面报错解决

    linux下启动dbca或netmgr类的图形界面报错解决    Xlib: connection to ":0.0" refused by server Xlib: No pro ...

  10. 下一代大数据系统和4S标准

    大数据行业发展到今天,它创造的价值和带来的社会效应,大家已经看得很明白,同时很多问题和不足也暴露出来,特别是hadoop能够提供的数据处理能力,现在已经挖掘到极限,但是现在各行业对数据的存储和计算需求 ...