Linux文件系统和目录结构

文件系统和目录结构
1、Linux文件系统介绍
ext: 延伸文件系统(extended file system),是第一个专门为Linux设计的文件系统类型,也叫扩展文件系统。由Google公司开发,实际是一个实验性的系统,很快就被ext2取代。

ext2: 第二代扩展文件系统(second extended filesystem),解决ext在性能和兼容性上的缺陷,其特点是存取文件性能极好。单一文件最大支持到2048GB文件,而文件系统最大能支持到6384GB。速度快、cpu利用率好,但是意外断电后文件就会丢失,所以ext2常用于boot分区上,分完以后不许更改。

ext3: 第三代扩展文件系统(third extended filesystem),是一个日志文件系统。解决ext2丢失文件而生。意外断电后数据基本不会丢失,但是再次开机就会造成文件系统资料的不一致,这时系统就会进行自检(fsck)操作,但是这个工作是相当耗时的,特别是容量大的文件系统,并且也不能百分之百保证资料都不会消失。
ext3目前能支持最大的文件系统为16TB,最大的文件为2TB。

ext4: 第四代扩展文件系统(Fourth extended filesystem),这是一个重大改革,高速读写,高速fsck,高incode,同时文件容量能达到16TB,文件系统容量能达到1EB,1EB = 1024PB=2048TB。

xfs: 一种高性能的日志文件系统,各项性能与ext4接近。特别擅长处理大文件,同时提供平滑的数据传输。

swap:交换分区,类似于Windows的虚拟内存,就是当内存不足时,可以把一部分硬盘空间虚拟成内存使用。数据库对swap要求比较高。一般的经验是swap的大小是内存的2倍,如果内存大小超过了32GB,建议最大swap最好不超过16GB,在以后发现确实不够了,再增加。
2、Linux目录结构

Linux文件系统和目录结构_第1张图片

以下是对这些目录的解释:

/ :代表根目录,登录Linux系统后,在当前命令窗口中输入ls /,就会看到如下图所示
根目录中的文件目录
◆ /bin :
bin是Binary的缩写,存放着最常用的系统命令,所以目录下的东西不要随意更改。
◆ /boot :
存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
◆ /dev :
dev是Device(设备)的缩写,该目录下存放的是Linux的外部设备,在Linux中所有的设备都被认作文件,所以访问设备和访问文件的方式是一样的。
◆ /etc :
这个目录用来存放所有的系统管理所需要的配置文件和子目录。
◆ /home :
用户的主目录,在Linux中,每一个用户都有一个主目录,一般该目录名是以用户的账号命名的。所有的普通用户登进来,默认都在这个目录下。
◆ /lib :
这个目录中存放着系统最基本的动态连接共享库,即库文件,bin和sbin需要的库文件。其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
◆ /lost+found :
ext3和ext4特有的文件,这个目录一般情况下是空的,当系统非法关机后,这里可能存放了一些文件丢失的文件。
◆ /media :
可卸载的媒介挂载点,如U盘、光驱等,识别后,Linux会把识别的设备挂载到这个目录下。
◆ /mnt :
该目录是为了让用户临时挂载别的文件系统,因此可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱中的内容了。
◆ /opt :
这是给主机额外安装软件所设计的目录。可以将oracle数据库安装包放到这个目录下,默认是空的。
◆ /proc :
这是一个虚拟目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这个目录的内容不在硬盘上而是存放在内存中,可以直接修改里面某些文件,如可以使用 echo 1> /proc/sys/net/ipv4/icmp_echo_ignore_all来屏蔽主机的ping命令。/proc目录用的最多的是查看cup的信息,通过cat /proc/cpuinfo 这个命令
◆ /root :
系统管理员的家目录
◆ /sbin :
s 是Super User的意思,这里存放的是系统管理员使用的系统管理程序,只有root用户能使用该目录。
◆ /tmp :
该目录用于存放一些临时文件,需要分配的空间也要相对的大,因为一些大型的软件会使用这个目录。
◆ /usr :
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下的,类似于Windows下的program files目录。
/usr/bin:存放的是普通用户可执行的命令
/usr/include:标准头文件存放目录
/usr/lib:/usr/bin/ 和 /usr/sbin/的库文件
/usr/sbin:可执行文件
/usr/src:内核源码
/usr/local:用户编译安装软件的默认安装路径
◆ /var :
这个目录中存放着在不断扩充着的东西,比如那些经常被修改的目录,包括各种日志文件。
◆ /selinux :这是一个安全相关内容的目录,通过关闭selinux。

磁盘分区、文件系统和目录的关系
磁盘分区标准原则,
第一位一般放swap,原因速度快,寻道快,大小一般是内存的2倍,但不超过16G;
第二位放boot,使用ext2,大小200MB即可,同样的原因速度快;
第三位是根分区,10G即可(注:Linux可以先创建目录然后再创建根分区,这比Windows灵活,这个规划系统安装时都会进行统一分配),
第四位是给usr、var、tmp等目录进行分配空间,大小按实际情况定。Linux中,如果没有给某个目录分配磁盘空间,那么这个目录就会使用它上一级的磁盘空间,所以通常都把boot、usr、var、tmp、home等随时增长的目录分出来,那么根磁盘空间就不会利用百分之百了,如果根空间百分之百了,那所有的操作都是不能生效的,但新系统会给自己预留一些空间,保证用户能登录进来,然后做一些rm等少量的操作。当然也可以增加新的磁盘来进行动态扩展。
当然也可以给boot、usr、var、tmp、home等目录下的目录再分磁盘空间。

你可能感兴趣的:(Linux)