Linux文件系统的主要目录结构说明及分区方案
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文件系统的主要目录结构说明及分区方案的更多相关文章
- Linux基础系列—Linux内核源码目录结构
/** ****************************************************************************** * @author 暴走的小 ...
- Linux 文档与目录结构
Linux之文档与目录结构 Linux文件系统结构 Linux目录结构的组织形式和Windows有很大的不同.首先Linux没有“盘(C盘.D盘.E盘)”的概念.已经建立文件系统的硬盘分区被挂载到 ...
- Linux界面交互与目录结构
一.交互通道 Linux系统环境默认有六个命令交互通道和一个图形界面交互通道,默认进入的是图形界面通道. 命令交互模式切换:ctrl+alt+F1-F6 图形界面交互模式:ctrl+alt+F7 ...
- linux文档与目录结构
Linux文件系统结构 本文转自 https://www.cnblogs.com/pyyu/p/9213237.html Linux目录结构的组织形式和Windows有很大的不同.首先Linux没有“ ...
- Linux下文档与目录结构
目录分类 Linux目录结构的组织形式和Windows有很大的不同.首先Linux没有“盘(C盘.D盘.E盘)”的概念.已经建立文件系统的硬盘分区被挂载到某一个目录下,用户通过操作目录来实现磁盘读写. ...
- linux目录结构 主流Linux发行版的目录结构
目录 目录结构 一般教学的目录 CentOS7 openSUSE15.1 Ubuntu18.04 详细说明: /dev目录 /etc目录 /proc目录 /usr目录 /var目录 比较重要的目录 文 ...
- Linux C语言遍历目录结构
遍历目录结构查找文件是很常用的功能,今天介绍一下使用Linux C 遍历Linux目录结构的方法: linux提供几个系统调用,以便于直接目录的读取和操作: DIR * opendir(const c ...
- Linux系列:快捷键、目录结构、用户目录
一.快捷键 1.历史命令 查看历史命令:history [root@centos-master ~]# history 1 2020-10-25 21:03:39 2 2020-09-17 20:43 ...
- linux使用tree将目录结构写进txt
比如把caffe的二级目录结构写进txt: tree -L > /home/wmz/treecaffe.txt 则会在/home/wmz/目录下生成一个名为treecaffe.txt的文件,文件 ...
随机推荐
- topngroupcollector
分类的字段int f1 /* key: f1 * value: doc * size: top n */ map<int, doc>() if(map.size==n) buildOrde ...
- DataRow对象的行状态(RowState)和行版本(DataRowVersion)属性
DataRow对象有两个比较重要的属性,分别是行状态(RowState)和行版本(DataRowVersion),通过这两个属性能够有效的管理表中的行.下面简要的介绍一下行状态和行版本的特点和关系. ...
- jQuery:find()及children()的区别
1:children及find方法都用是用来获得element的子elements的,两者都不会返回 text node,就像大多数的jQuery方法一样. 2:children方法获得的仅仅是元素一 ...
- poj 2406 Power Strings kmp算法
点击打开链接 Power Strings Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 27368 Accepted: ...
- Nginx作为简单代理服务器(Windows环境)
Nginx一个频繁的应用是作为代理服务器,由Nginx代理服务器接受客户请求,并将客户请求发送到应用服务器处理,接受应用服务器的响应,然后将响应发送给客户. 现在要做的一个应用场景就是当客户请求图片资 ...
- Spark是一种分布式的计算方案
Spark的安装基于HDFS,所以我们要设置hadoop的配置文件,所以spark的存储不是其主要的功能点,而spark作为分布式生态中的角色是一种计算模式(其他 的计算 模式,比如MR,Storm, ...
- Centos 时间同步服务器
From: http://www.iteye.com/topic/599648 中国国家授时中心: http://www.time.ac.cn/stime.asp 其他网络时间服务器地址如下:(也可以 ...
- cocos2d-x中false,setSwallowTouches,stopPropagation的区别
研究到cocos2d-x触摸这一块了,3.0和2.0相比已经有了很大的不同,使用更加方便和容易理解了. 直接进入正题,解释下,标题中3个用法的区别 通常来说,应用程序中更多使用的是单点触摸,为了简化单 ...
- Postman使用小技巧 - 用Postman生成Request代码
Postman这款工具可以让你很方便的测试你的Web API,那如果你实在是没办法用Postman,必须手写代码,又或者你有别的需求是Postman没法实现的,你必须写一个特殊的script或App来 ...
- 浅谈Java的包装类
一.什么是Java包装类 所谓Java包装类,就是将Java中的8种基本数据类型分别包装成为类的形式.包装类与基本数据类型的对应关系如下表所示. 基本数据类型 包装类 byte Byte short ...