Linux文件系统和分区

阅读: 评论:0

2024年2月5日发(作者:)

Linux文件系统和分区

文件结构

/bin

/boot

bin是Binary的缩写。存放系统中最常用的可执行文件(二进制)。

这里存放的是linux内核和系统启动文件,包括Grub、lilo启动器程序。

/dev

dev是Device(设备)的缩写。该目录存放的是Linux的外部设备,如硬盘、分区、键盘、鼠标、usb等。

/etc

这个目录用来存放所有的系统管理所需要的配置文件和子目录,如passwd、hostname等。

/lib

存放共享的库文件,包含许多被/bin和/sbin中程序使用的库文件。

/lost+found

这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些零散文件。

/media

/mnt

/opt

ubuntu系统自动挂载的光驱、usb设备,存放临时读入的文件。

作为被挂载的文件系统的挂载点。

作为可选文件和程序的存放目录,主要被第三方开发者用来简易安装和卸载他们的软件。

/proc

这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。这里存放所有标志为文件的进程,比较cpuinfo存放cpu当前工作状态的数据。

/sbin

s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序,如系统管理、目录查询等关键命令文件。

/ srv

/sys

存放系统所提供的服务数据。

组自豪系统设备和文件层次结构,并向用户程序提供详细的内核数据信息。

/tmp

这个目录是用来存放一些临时文件的,所有用户对此目录都有读写权限。

/usr

/usr/X11R6

/usr/bin

/usr/sbin

存放与系统用户有关的文件和目录。

存放X-Windows的目录;

用户和管理员的标准命令;

存放root超级用户使用的管理程序;

第1页(共n页)

/usr/doc

/usr/include

Linux技术文档;

用来存放Linux下开发和编译应用程序所需要的头文件,for c 或者c++

/usr/lib

/usr/local

/usr/man

/usr/src

/var

/var/cache

/var/crash

/var/log

/var/tmp

应用程序和程序包的连接库;

系统管理员安装的应用程序目录;

帮助文档所在的目录;

Linux开放的源代码;

长度可变的文件,尤其是些记录数据,如日志文件和打印机文件。

应用程序缓存目录;

系统错误信息;

日志文件;

临时文件目录;

2.文件名扩展

Linux不使用文件名扩展来识别文件的类型。相反,Linux根据文件的头内容来识别其类型。为了提高人类可读性您仍可以使用文件名扩展,但这对 Linux 系统来说没有任何作用。不过,有一些应用程序,比如 Web 服务器,可能使用命名约定来识别文件类型,但这只是特定的应用程序的要求而不是 Linux 系统本身的要求。

Linux通过文件访问权限来判断文件是否为可执行文件。任何一个文件都可以赋予可执行权限,这样程序和脚本的创建者或管理员可以将它们识别为可执行文件。这样做有利于安全。保存到系统上的可执行的文件不能自动执行,这样可以防止许多脚本病毒。

3.查看命令

fdisk………………查看硬盘分区表

df………………查看分区使用情况

du………………查看文件占用空间情况

4.挂载

挂载的概念 :

当要使用某个设备时,例如要读取硬盘中的一个格式化好的分区、光盘或软件等设第2页(共n页)

备时,必须先把这些设备对应到某个目录上,而这个目录就称为“挂载点(mount point)”,这样才可以读取这些设备,而这些对应的动作就是“挂载”。 将物理分区细节屏蔽掉。用户只有统一的逻辑概念。所有的东西都是文件。

Mount命令可以实现挂载:

mount [-fnrsvw] [-t vfstype] [-o options] device dir

Q:所有的磁盘分区都必须被挂载上才能使用,那么我们机器上的硬盘分区是如何被挂载的?

A:这主要是它利用了/etc/fstab文件。每次内核加载它知道从这里开始mount文件系统。每次系统启动会根据该文件定义自动挂载。若没有被自动挂载,分区将不能使用。

Q:移动硬盘如何挂载?如何挂载一个新的分区?

A:移动硬盘有驱动模块会自动挂载,如果有个新硬盘,要先进行分区,并通过mount命令挂载到某个文件夹。如果要自动挂载则可以修改/etc/fstab文件。

NFS简介:NFS相信在很多地方都有广泛使用,是一个非常好的文件共享方式。我们公司所使用的上传服务就是把文件上传到某台网络服务器上,中间就是通过NFS实现。使用NFS客户端可以透明的地访问服务器端的文件。NFS也是通过mount来实现,底层是通过NFS通信协议实现。

Ubuntu下的例子

服务端:

$apt-get install nfs-kernel-server

vi /etc/exports 添加nfs目录: /personal/nfs_share

10.1.60.34(rw,sync,no_root_squash)

$sudo exportfs -r

$sudo /etc/init.d/portmap start

$sudo /etc/init.d/nfs-kernel-server start

客户端:

$sudo apt-get install nfs-common

$sudo mount 10.19.34.76:/personal/nfs_share ~/nfsshare

第3页(共n页)

5.文件存储结构

Linux正统的文件系统(如ext2、ext3)一个文件由目录项、inode和数据块组成。

(1)目录项:包括文件名和inode节点号。

(2)Inode:又称文件索引节点,是文件基本信息的存放地和数据块指针存放地。

(3)数据块:文件的具体内容存放地。

Linux正统的文件系统(如ext2、3等)将硬盘分区时会划分出目录块、inode Table区块和data block数据区域。一个文件由一个目录项、inode和数据区域块组成。Inode包含文件的属性(如读写属性、owner等,以及指向数据块的指针),数据区域块则是文件内容。当查看某个文件时,会先从inode table中查出文件属性及数据存放点,再从数据块中读取数据。

文件结构视图如下:

其中目录项的结构如下(每个文件的目录项存储在改文件所属目录的文件内容里):

其中文件的inode结构如下(inode里所包含的文件信息可以通过命令:stat filename查看得到):

第4页(共n页)

6.软连接、硬链接

软链接和硬链接是我们常见的两种概念:

硬连接:是文件一个副本,同时建立两者之间的连接关系。修改其中一个,与其连接的文件同时被修改。如果删除其中[color=red]任意一个[/color]其余的文件将不受影响。

软连接:也叫符号连接,他只是对源文件在新的位置建立一个“快捷(借用一下wondows常用词)”,所以,当源文件删除时,符号连接的文件将成为无源之水->仅仅剩下个文件名了,当然删除这个连接,也不会影响到源文件,但对连接文件的使用、引用都是直接调用源文件的。

具体关系可以看下图:

第5页(共n页)

从图上可以看出硬链接和软链接的区别:

1:硬链接原文件和新文件的inode编号一致。而软链接不一样。

2:对原文件删除,会导致软链接不可用,而硬链接不受影响。

3:对原文件的修改,软、硬链接文件内容也一样的修改,因为都是指向同一个文件内容的。

7.文件目录管理命令

(1)文件查看cat, tac, less, more, head, tail, od等

cat [file]

查看文件的内容。全程式concatenate的意思,将文件内容连续输出到屏幕上。第一行到最后一行显示。

tac [file]

和cat刚好相反 是从最后一行到第一行的方式查看。

cat有个比较不好的地方时当文件比较大时候没办法看清楚,这个时候可以用more或者Less命令。

more [file]

如果使用grep或者find等命令时,可以配合使用more一页一页的查看。如果看到一半想退出,则敲入’q’即可退出。

less [file]

less比more更有弹性,可以上下翻页。

如果只想读取文件的头几行或者文件的末尾几行,可以用head或tail.

head –n [file]:读取文件的前n行。

tail –n [file]:读取文件末尾n行。

以上命令都是用于查看字符文件,二进制文件出来的都是乱码,要看二进制文件的内容,可以用od命令,如查看一个MP3文件里面的内容:

od 3

(2)文件目录与权限chmod

chmod chown chgrp umask

第6页(共n页)

(3)文件查找which, whereis, locate, find

which [filename]

该命令用于查询通过PATH路径到该路径内查找可执行文件。

如:Which passwd:查找可执行文件passwd

whereis [-bmsu] [keyword]

该命令用于把相关字的文件和目录都列出来。(Linux 会将文件都记录在一个文件数据库里面,该命令式从数据库去查询,所以速度比较快,Linux每天会更新该数据库)

locate [filename]

该命令用于把相关字的文件和目录都列出来。查找数据特别快,也是通过数据库方式来查询。但是数据库一周更新一次,所以可能有些存在数据查不到。可以去修改配置文件。

find [path] [参数] [keyword]

该命令用于在指定路径下查找文件。不是通过数据来查询,所以速度会比较慢。

文件权限

权限分为:可读r,可写w和可执行x(execute)。权限的所有者分为用户权限(所有者权限),组权限和其他权限,分别用字母u,g,o代表(即User,Group,Other)。另外还有a代表所有用户(all)。

例如一个文件的权限为:rwx r-x r-x,3个为一组,分别代表u、g、o的权限,例如头三个字母rwx,代表所有者的权限为“可读可写可执行”。这些权限都可以用数字来表示(r=4,w=2,x=1),例如rwx = 4+2+1 = 7,那么上边的权限就可以写成755。

又比如在Linux系统下:

新建文件的权属是-rw-rw-rw-,权限值是666。

新建目录的权属是drwxrwxrwx,权限值是777。(d只是显示出来的目录记号)

在终端中可以用shell命令的chmod来改变文件权限,例如:

#chmod u+w /home/

第7页(共n页)

#chmod o-x /home/

#chmod a=w /home/

#chmod 644 /home/

#chmod 777 /home/

补充:除了常见的rwx权限以外,还有3个特殊的权限,分别是s、t、i、a,下面分别做简单介绍。

s:文件属主和组设置(suid和guid),文件在被设置了s权限后将以root身份执行。在设置s权限时文件属主、属组必须先设置相应的x权限,否则s权限并不能正真生效(chmod命令不进行必要的完整性检查,即使不设置x权限就设置s权限,chmod也不会报错,当我们ls -l时看到rwS,大写S说明s权限未生效)。Linux修改密码的passwd便是个设置了suid的程序(如下所示),普通用户无读写/etc/shadow文件的权限却可以修改自己的密码。

[local @root] #ls -al /usr/bin/passwd

-rwsr-xr-x 1 root root 32988 2011-12-08 17:17 /usr/bin/passwd

我们可以通过字符模式设置s权限:chmod a+s filename,也可以使用绝对模式进行设置:

设置s u i d:将相应的权限位之前的那一位设置为4;

设置g u i d:将相应的权限位之前的那一位设置为2;

两者都置位:将相应的权限位之前的那一位设置为4+2=6。

比如:

chmod 4764 filename1 //前面那个4即代表设置suid

chmod 6755 filename2 //同时设置suid和guid,Android中的su文件就是这个权限

t :设置粘着位,一个文件可读写的用户并一定相让他有删除此文件的权限,如果文件设置了t权限则只用属主和root有删除文件的权限,通过chmod +t filename 来设置t权限。

i:不可修改权限。例:chattr u+i filename 则filename文件就不可修改,无论任何人,如果需要修改需要先删除i权限,用chattr -i filename就可以了。查看文件是否设置了i权限用lsattr filename。

a:只追加权限。对于日志系统很好用,这个权限让目标文件只能追加,不能删除,而且不能通过编辑器追加。可以使用chattr +a设置追加权限。

附:一个实际问题

linux 中某一文件夹的用户是A,想更改成B用户!如何用usermod实现?

第8页(共n页)

su到root

chown B yourdir

chgrp B yourdir

group文件里:

zzg:x:550:litong,liuhong

这都代表什么意思?那个数字代表什么意思?

在passwd里:

liuhong:x:544:550::/usr/local/resin/webapps:/bin/bash

这里的数字又是什么意思?

如果我要改liuhong的权限怎么改?

Linux是一种多用户、多任务的操作系统,对于使用Linux的任一用户(user self),可以与其共享此系统的其它用户可以分为同属一个组的用户(group users)以及不属同一个组的用户(other users)。

zzg:x:550:litong,liuhong

组名zzg 密码x在shadow中 组ID号550 组内用户有litong,liuhong

liuhong:x:544:550::/usr/local/resin/webapps:/bin/bash

用户名liuhong 密码x在shadow中 用户ID544 组ID550 描述为空 用户主目录/usr/local/resin/webapps 登录初始shell为/bin/bash

修改指定目录的属性 o-rwx ,限制其他用户访问,更改该用户所在的组为非该目录所属组;

或修改指定目录的属性 go-rwx,限制其他用户和本组成员访问,都可以使该用户不能访问指定目录

root用户使用chown,可以指定文件权限给用户,用户自己的文件可以使用chmod设置文件访问权限。

权限更改:

chmod g+w 文件夹/文件名

chmod o+w 文件夹/文件名

第9页(共n页)

如何合理地给你的Linux系统分区

本文介绍Linxu常用分区挂载点常识以及桌面、服务器分区的推荐配置,当然这个配置是笔者从许多文摘中整理出来的,分区大小这个话题是仁者见仁智者见智,欢迎大家一起交流这个话题,比如WEB服务、邮件服务、下载服务等。

分区是什么?

分区就是硬盘格式化过程中的空间划分。当然是逻辑意义上的划分,不是真的叫你把硬盘拔出来用刀子划分。硬盘分区后就有各种用途了。把分区想象成两个不同的配置过程。分区很方便因为它起到了一种“沙盘式”的作用。(笔者:沙盘,差不多就算虚拟的概念吧,真实的操作不受影响)如果你有个1TB的硬盘,分成两个区,一个250GB,一个750GB,这样你在这个分区的操作不会影响到另一个分区,反之亦然。你可以把这个分区在网上共享,而不必担心另一个分区也会被共享出去。一个分区可以装上让木马、病毒肆虐的Windows系统,另一个可以装上过时的打满安全补丁的Linux系统。二者不会相互影响,除非你把两个分区都搞坏了,或者你的硬盘真的报废了。

另一个分区的好处是,你的分区可以有各种各样的不同文件系统。文件系统就算把硬盘格式化成系统可以读写操作的一种“表”结构。你只有一个硬盘?没问题啊。你还是可以在一个硬盘上安装不同的系统。省的再买个硬盘了。

虽然文件系统很多种,但分区类型只有三种:主分区,扩展分区,逻辑分区,其中逻辑分区是在扩展分区中的。一个硬盘只能有最多四个主分区,这是因为主引导记录的限制。这个只跟硬盘有关,跟操作系统是什么没有关系。主引导记录告诉机器从哪里启动系统,所以一般来说主分区是安装系统的。但如果你想要多个分区怎么办?这就是扩展分区的用途了。扩展分区就是其他逻辑分区的容器。你可以在里面放任意多的逻辑分区。(笔者:说是无限多个,其实还是有限的,至少不能超过你硬盘的大小,而且据我所知是125个,2的7次方?)

既然扩展分区这么给力,那干嘛不用扩展分区呢?因为你不能从扩展分区启动系统。当然现在牛人很多,是有法子的。但最好的方法就在事先就准备用主分区装系统。而且分区如何标识也是跟分区的类型有关的。先是主分区而后再标识逻辑分区。这样的话,如果你在系统间切换就会引起盘符错乱的问题,以后添加或是删除分区也会出现这个问题。

Linux中的挂载点

Windows系统下的分区很明了,一个分区就是一个盘符。如果有可以兼容的文件系统,系统也可以读写那个分区。如果是不兼容的文件系统,Windows就忽略这个分区或者提示你格式化。Linux所有类似Unix却不是这样。

Linux就是把所有的一切都放到一颗“树”下。如果你有另外的分区或者硬盘,它们就会被“挂载”到枝干的子目录中,像是/media或/mnt。这个子目录就是所谓的挂载点了。 这个方法跟Linux的“树”概念更好地融合在一起。你可以把分区挂载到任意的子目录中。Windows就不是这么简单了,一个新的分区就是另外的一个盘。而且作者:JeeChou 第 1 / 5 页 Linux系列

Linux原生支持的文件系统比Windows多得多啊。

还记得硬盘只能有四个主分区吗? 有个牛人安装了145个系统这个是怎么搞的?道理很简单,你一个主分区挂载/boot,里面安装启动引导程序像GRUB或者LiLo,起到引导系统的作用,然后再把扩展分区里的那么多个系统启动起来。

我们该如何分区

一般的Linux系统分区是这样的:

 12-20 GB 给系统的分区,挂载为/(叫做根分区)

 一个比较小的分区用来扩大内存,挂载为swap

 一个比较大的用来存储个人数据的分区,挂载为/home

分区大小具体要根据你的需求和情况而定。一般是从swap分区开始,如果你要做很多多媒体编辑或者你的内存比较小,那swap分区就该大一点。如果你的内存足够大,甚至可以不用swap分区。但是有些Linux发行版在待机和休眠时会因此出现问题。swap分区大小的原则是根据你的内存大小而设置,一般就是内存的1.5到2倍大。而且最好把swap分区放在硬盘的最前面或者最后面以便读写。(笔者:如果只有一块硬盘,个人推荐还是放在最后面,最前面需要留给主分区做系统引导的)就算你要装很多软件,20GB的根分区也足够了。现在的Linux流行的是ext3和ext4的文件系统,这些文件系统有自动整理碎片的功能呢。这个功能要求最好有25%-35%的剩余空间最好,不管剩下多少空间都划分给/home分区,来存储个人数据。这个和Windows下的“用户”文件夹很像,保存了软件的设置,音乐,下载的文件,文档等等以及其他用户的文件。最好给这个/home独立挂载一个分区,这样不论你以后是升级还是重装系统都不用备份你的个人数据了。是不是感觉比Windows方便多了。而且啊,你的软件设置,你的系统界面相关的置都会保留。

如果你运行的是一台服务器或者媒体文件比较多,你最好多安装个硬盘。一块固态硬盘装系统是最完美的,最多32GB,另一块1TB或2TB的硬盘开头就挂载swap分区,其余的就挂载/home。如果你对此比较了解的话,还可以给其他目录独自挂载一个分区,像临时目录(temporary directory (/tmp)), 服务器目录 (/var/www),软件目录(/usr),日志目录 (/var/log)。

Linxu挂载点须知:

挂载点

/

/boot

/home

主要功能

安装Linux的最基本的挂载点,是必须的。

记录系统启动的信息,在这个目录下存放的都是系统启动时要用到的程序。

类似于Windows的My Documents文件夹,保存个人设置的内容,例如你有一个用户名是123的用户,那么就会有/home/123的文件夹,里面会有桌面,文档等。

用来存放不同程序执行时产生的临时文件。/tmp是一个文件大小经常变化的目录,但是对于个人用户来说,里面内容很少,单独分一个区也没必要。但和 / 分区混在一起有总觉得有一种“一滴鼻涕毁一锅粥”的感觉。推荐的解决方案是把原来的/tmp目录删除,而做一个到/var/tmp目录的链接,就像系统本身就有的/usr/tmp目录一样。还有/root目录大小也经常发生变化,推荐也把其删除,做一个/var/root的链接。这样,系统中所有大小经常变化,易引起文件系统碎片的东西都归档到/var分区上。这就叫“烂也只烂一个苹果”,以后可以只整理/var分区。

储存所安装的程序和系统的配置等文件,不同的发行版里具体内容可能也有些不同。同时这也是Linux系统中占用硬盘空间最大的目录,用户的很多应用程序和文件都存放在这个目录下。

如果Linux用作服务器,那么通常需要安装大量的软件。

每一个Linux都有一个内核(Vmlinuz),我们在这个内核上添加可以完成各种特定功能的模块,每个模块就体现在Linux中各个不同的目录上。当然,各个不同的发型套件,其目录有细小的差别,但主要结构都是一样的。我们还要将Linux的功能模块和各个应用程序结合起来。这样才能是Linux系统为你服务。在/vmlinuz目录下存放的就是系统的内核。

如果你是以超级用户的身份登录的,这个就是超级用户的主目录。

第 2 / 5 页

必须性

/tmp 〇

/usr

/usr/local

/vmlinuz —

/root

作者:JeeChou

Linux系列

/bin

/sbin

/etc

显而易见,bin就是二进制(binary)英文缩写。在一般的系统中,你都可以在这个目录下找到Linux常用的命令。在有的版本中还可以找到一些和根目录下相同的目录。是存放标准系统实用程序的。

这个目录用来存放系统管理员的系统管理程序。

这个目录是Linux系统中最重要的目录之一,在这个目录下存放了系统管理时要用到的各个配置文件和子目录。我们要用到的网络配置文件,文件系统,X系统配置文件,设备设置信息,设置用户信息等都在这个目录下。

dev是设备(Device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放外部设备的驱动程序。这一点和我们常用的Windows、DOS操作系统不一样。它实际上是一个访问这些外部设备的端口。我们可以非常方便地去访问这些外部设备和访问一个文件、一个目录没有任何区别。例如:我们在系统中键入:cd /dev/cdrom我们就可以看到光驱中的文件了。同理,我们键入:cd /dev/mouse就可以看看鼠标的相关文件。在这个目录下,有一个null设备,这个东西本身没有任何意义。如果你向这个目录写入文件或内容,他们统统有去无回。

这个目录在你刚刚安装系统的时候是空的,你可以将光驱文件系统挂在这个目录下。例如:mount /dev/cdrom/cdrom

这个目录在一般情况下也是空的,你可以临时将别的文件系统挂在这个目录下。

lib是库(Library)英文缩写,这个目录是用来存放系统动态连接共享库的,几乎所有的应用程序都会用到这个目录下的共享库。因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,系统就不能工作了。

这个目录大多数情况下都是空的,但是如果你正在工作突然停电,或是没有正常方式关机,在你重新启动机器的时候,有些文件就会找不到应该存放地方,对于这些文件,系统将他们放在这个目录下,就像为无家可归的人提供一个临时住所。

可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。

是给主机额外安装软件所摆放的目录。举例来说,FC4使用的是Fedora社群开发的软件,

如果想要自行安装新的KDE桌面软件的话,可以将该软件安装在这个目录下的意思。 不过,以前的Linux系统中,我们还是习惯放置在/usr/local目录下。

主要是为了在内核启动之后能够判断哪些硬件驱动需要加载,哪些不需要,文件系统有没有问题等等,最终使得根分区能顺利加载。在scsi和sata设备上启动,usb启动盘,无盘服务器等都需要initrd来做判断,这样可以提高linux内核的通用性。所以大部分发行版都是用initrd的。但是如果自己编译内核,不需要考虑通用性,可以将scsi、ata和usb等开机所需要的模块编译进内核,只要内核启动时那几个驱动程序随之一起启动,那么就不需要initrd了。

在Linux中添加新的外部设备时,只需为其添加对应的驱动程序即可。介绍另一种驱动程序的编写方式,即采用MISC类设备。其实质也是一个字符设备。可将用户各种不同的驱动设备类型合成到一种类型中,共用一个主设备号,通过不同的次设备号和设备节点名来区分。可方便管理这些驱动模块。字符型的驱动设备模块在挂载时都要分配主设备号、次设备号和创建设备节点名,在卸载驱动设备时还必须同时删掉设备节点名。通过采用MISC类设备,在挂载设备驱动时无须再用到mknod命令分配主设备号、次设备号和创建设备节点名,在insmodl挂载之后,只须mdev-s就能自动装配/dev目录下的设备文件。

用来存放系统中经常变化大小的日期文件。系统的所有日志文件、PID文件、RPM数据文件等。这些大小经常发生变化的文件都放在这个目录下。所以这个目录是最容易产生碎片的。如果不能单独制定一个分区而和 / 混在一起的话,很容易弄乱 / 文件系统,使系统性能下降,特别是一个多用户环境和对外服务的网站主机系统,更应该如此。对于个人用户,这个分区大小在300~500M就可以了。

第 3 / 5 页

/dev —

/cdrom

/mnt

/lib

/lost+found

/proc

/opt

/initrd —

/misc —

/var 〇

作者:JeeChou Linux系列

/srv

/chroot

/cache

用来存放Service服务启动所需的文件资料目录,不长改变。

是为yDNS服务器、Apache服务器和其他需要改变根目录的服务器准备的。也是改变程式执行时所参考的根目录位置。

是为Proxy服务器准备的。如果不打算安装Squid Proxy服务器,不必创建/cache分区。

备注:“√”代表必须,“〇”代表推荐,“—”代表可忽略。

分区实例:1~4为主分区或者扩展分区,5之后为逻辑分区(用于安装Linux和Windows双系统)

分区名

/dev/hda1

/dev/hda2

/dev/hda3

/dev/hda5

/dev/hda6

挂载点

/

/mnt/hda2

/mnt/hda3

/mnt/hda5

/mnt/hda6

文件系统

Ext4

Ext4

NTFS

Ext4

NTFS

大小

3G

3G

3G

4G

4G

作用

包括/boot、/bin、/sbin、/etc、/usr、/dev、/lib以及如下空目录和挂载点:/home、/var、/mnt、/opt、/proc、/misc、/initrd。

主要是用来装一些实验性的系统,如新版的Linxu,而swap、/home可以和原来的那套系统共用。

Windows下显示为C盘。

存放音乐,电影等大而固定不变的文件。

Windows下显示为D盘,主要用来临时性的存放电影、音乐、虚拟光盘镜像、GHOST镜像文件等。

存放我的文档,下载的软件,书籍,图片等。重装系统的时候也不需要动这个分区,就算格式化也只格式化掉/、/var和/swap分区,其他分区上的内容都可以保留,在装系统的时候再挂装到系统里。

编译大型软件用的临时分区。

系统中经常变化大小的日志文件。

交换分区。

/dev/hda7 /home Ext4 2G

/dev/hda8

/dev/hda9

/dev/hda10

/mnt/hda8

/var

swap

Ext4

Ext4

swap

1G

400M

160M

Linux单系统桌面、服务器分区推荐方案:

下面以80G独立硬盘安装Ubuntu为例,列一下简单的分区方案。

1、普通桌面用户推荐分区方案(示例:80G桌面用户)

挂载点

/boot

/

/home

swap

挂载点

/boot

/

/tmp

/var

/usr

/home

swap

挂载点

/boot

/

/tmp

/var

/usr

作者:JeeChou

大小

200M

20G

50G

2G

大小

200M

10G

2G

2G

10G

50G

2G

大小

200M

10G

2G

5G

10G

第 4 / 5 页

说明

余下空间

适用于内存为768~1024M的机器

说明

要安装一些常用软件

余下空间

适用于内存为768~1024M的机器

说明

系统安装程序软件使用

Linux系列

2、服务器用户推荐分区方案一(示例:80G硬盘WEB服务器用户,用户程序与系统程序合用usr)

3、服务器用户推荐分区方案二(示例:80G硬盘WEB服务器用户,用户程序与系统程序分用opt和usr)

/opt

/home

swap

10G

35G

2G

用户安装程序软件使用

余下空间

适用于内存为768~1024M的机器

 大数据库一般要加大/usr挂载点

 多用户、下载类、多储存文件等要加大/home挂载点

 文件小,用户多要注意/tmp和/var挂载点大小

Linux分区结构化

本人开始部分就已经提到,分区主要分:主分区、扩展分区、逻辑分区三种,那么如何让结构合理化,请继续往下阅读。对于新手而言,可能会注意到之前的分区实例(用于安装Linux和Windows双系统)中为什么没有/dev/hda4这个分区名。因为上述例子中,我们可以看到主分区有3个,从hda1~hda3,扩展分区有hda5~hda10,此硬盘没有主分区4,所以也没有显示住分区hda4,但逻辑分区不可能从4开始,因为那是主分区的位置。

还有些新手疑惑hda到底代表什么?这是硬盘设备(包括移动存储设备)在Linux或者其他类Unix系统的表示。IDE硬盘在Linux或者其他类Unix系统的一般表示为hd*,比如hda、hdb、hdc等。有时我们只有一块硬盘,在操作系统中看到的确实hdb,这与硬盘的跳线有关。另外hdc大多数表示光驱设备,如果有两块硬盘,大多是hda和hdb。SCSI和SATA硬盘在Linux通常也是表示为sd*,比如sda、sdb等等。

1)分区结构之一:四个主分区,没有扩展分区

【主丨分区1】【主丨分区2】【主丨分区3】【主丨分区4】

这种情况,如果想在一个磁盘上划分五个或五个以上分区,这样就行不通了。

2)分区结构之二:三个主分区,一个扩展分区

【主丨分区1】【主丨分区2】【主丨分区3】【扩展分区】

3)分区结构之三:三个主分区,一个扩展分区,四个逻辑分区

【主丨分区1】【主丨分区2】【主丨分区3】【扩展分区】【逻辑丨分区5】【逻辑丨分区6】【逻辑分区7】【逻辑丨分区8】

4)最不合理的分区结构:扩展分区在两个主分区之间或留有空白未分区空间

【主丨分区1】【主丨分区2】【扩展分区】【主丨分区4】【空白未分区空间】

后记

把分区基础写出来,主要是想让新手兄弟知道什么是合理化的分区结构,如果把硬盘分区规划好了,也为学习省却了不少麻烦。

作者:JeeChou 第 5 / 5 页 Linux系列

Linux文件系统和分区

本文发布于:2024-02-05 05:32:17,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170708233755949.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:分区   文件   系统   目录
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23