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. [AIR] Screen 的应用

    Screen 类提供此应用程序的可用显示屏幕的相关信息. 屏幕是位于可能更大的“虚拟桌面”内的独立桌面区域.虚拟桌面的原点是操作系统指定的主屏幕的左上角.因此,个别显示屏幕范围的坐标可能是负数.虚拟桌 ...

  2. type和role属性有什么区别呢

    type是规定标签的类型,比如<input />标签中使用type="button"就是代表一个按钮 使用type="text" 就是一个文本框,t ...

  3. eclipse导入myeclipse的web项目

    1.import> 2.进入项目目录,找到.project文件,打开 3.找到<natures> ...</natures>代码段,添加如下标签内容并保存 <nat ...

  4. C++primer 练习12.6

    编写函数,返回一个动态分配的int的vector.将此vector传递给另一个函数,这个函数读取标准输入,将读入的值 保存在vector元素中.再将vector传递给另一个函数,打印读入的值.记得在恰 ...

  5. SQL语句在OLAP的妙用(多维分析与指标计算)

    ================================================================================ BI传统实现原理: 1.涉及维度管理( ...

  6. mysql 使用说明-2

    3.3.4 Retrieving Information from a Table Select 命令从表格中取回信息 SELECT what_to_select FROM which_table W ...

  7. Throttling ASP.NET Web API calls

    http://blog.maartenballiauw.be/post/2013/05/28/Throttling-ASPNET-Web-API-calls.aspx https://github.c ...

  8. 一个构建XML对象的js库

    初学javascript,学习中用到在IE中建立XML对象,于是写了一个简单的“库”.因为水平所限,肯定会有不恰当的地方,欢迎指正. 如果大家有知道现存的更好的东西,非常希望大家能将它推荐给我. 代码 ...

  9. 项目积累——jQuery

    初始化时为文本框赋值,聚焦后清空内容 $(function(){ $("#buyDate").val("格式:2014-01-01"); $("#bu ...

  10. OC基础(16)

    autorelease基本使用 autorelease注意事项 *:first-child { margin-top: 0 !important; } body > *:last-child { ...