linux 文件系统与分区(Ubuntu系统分区)
大家好,今天来为大家解答linux 文件系统与分区这个问题的一些问题点,包括Ubuntu系统分区也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
如何理解linux中文件系统和分区两个概念的区别
理解Linux中文件系统与分区概念的区别,我们需要从概念本质出发。
分区是将物理硬件设备,如硬盘,按照其物理地址划分成独立可管理的区域。这类似于将一块大蛋糕切成多块小蛋糕,每块小蛋糕就是分区。分区仅仅是为了物理存储空间的划分,并不具备管理数据的功能。分完区后,每个分区的地址空间是独立的,无法进行数据共享。
文件系统则是对存储空间的逻辑组织方式,它规定了数据如何被存储、检索和管理。文件系统是动态的,可以随数据的增删改查而调整结构。这就像在蛋糕上设计出各种装饰,不仅美观而且功能性强。在Linux系统中,文件系统管理着数据的存储位置、访问权限、文件的链接等,使得数据能够有效利用并安全存储。
举个例子,假设你有一块1TB的硬盘。通过分区,你可以将这1TB空间划分成若干个分区,比如一个300GB的分区用于系统文件,一个500GB的分区用于个人数据。这与将1000元现金分成多份用于不同用途类似。分区只解决了物理存储空间的划分问题,而文件系统则负责管理每一份资金(或数据)的使用细节,如哪些文件可以被访问、如何查找文件、文件之间的链接关系等。
综上,分区与文件系统分别承担着物理存储空间划分与逻辑数据管理的职责,二者互不干扰又相互依存。正确理解二者的关系,有助于我们在Linux系统中更高效地管理存储资源。
linux操作系统的分区有哪些种类各分区主要作用是什么
Linux下一切都是文件,不存在分区的概念,在Linux下说的分区只是磁盘管理和数据组织的需要。Linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。
/根目录
┃
┏━━┳━━━┳━━━┳━━━╋━━━┳━━━┳━━━┳━━━┓
┃┃┃┃┃┃┃┃┃
bin home dev etc lib sbin tmp usr var
┃┃
┏━┻━┓┏━━┳━━┳━━┳━┻━┳━━┓
┃┃┃┃┃┃┃┃
rc.d cron.d X11R6 src lib local man bin
┃
┏━━━┳━━┳━┻━┳━━━┓
┃┃┃┃┃
init.d rc0.d rc1.d rc2.d…… linux bin lib src
Linux采用的是树型结构。最上层是根目录,其他的所有目录都是从根目录出发而生成的。微软的DOS和windows也是采用树型结构,但是在 DOS和 windows中这样的树型结构的根是磁盘分区的盘符,有几个分区就有几个树型结构,他们之间的关系是并列的。但是在linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个。从结构上讲,各个磁盘分区上的树型目录不一定是并列的。
如果这样讲不好理解的话,我来举个例子:
有一块硬盘,分成了4个分区,分别是/;/boot;/usr和windows下的fat
对于/和/boot或者/和/usr,它们是从属关系;对于/boot和/usr,它们是并列关系。
如果我把windows下的fat分区挂载到/mnt/winc下,(挂载??哦,别急,呵呵,一会就讲,一会就讲。)那么对于/mnt/winc和/usr或/mnt/winc和/boot来说,它们是从属于目录树上没有任何关系的两个分支。
因为linux是一个多用户系统,制定一个固定的目录规划有助于对系统文件和不同的用户文件进行统一管理。但就是这一点让很多从windows转到linux的初学者感到头疼。下面列出了linux下一些主要目录的功用。
/bin二进制可执行命令
/dev设备特殊文件
/etc系统管理和配置文件
/etc/rc.d启动的配置文件和脚本
/home用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
/lib标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件
/sbin系统管理命令,这里存放的是系统管理员使用的管理程序
/tmp公用的临时文件存储点
/root系统管理员的主目录(呵呵,特权阶级)
/mnt系统提供这个目录是让用户临时挂载其他的文件系统。
/lost+found这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里
/proc虚拟的目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
/var某些大文件的溢出区,比方说各种服务的日志文件
/usr最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含:
/usr/X11R6存放X window的目录
/usr/bin众多的应用程序
/usr/sbin超级用户的一些管理程序
/usr/doc linux文档
/usr/include linux下开发和编译应用程序所需要的头文件
/usr/lib常用的动态链接库和软件包的配置文件
/usr/man帮助文档
/usr/src源代码,linux内核的源代码就放在/usr/src/linux里
/usr/local/bin本地增加的命令
/usr/local/lib本地增加的库
二、linux文件系统
文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。一个操作系统的运行离不开对文件的操作,因此必然要拥有并维护自己的文件系统。
Llinux文件系统使用索引节点来记录文件信息,作用像windows的文件分配表。
索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息。一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。
linux文件系统将文件索引节点号和文件名同时保存在目录中。所以,目录只是将文件的名称和它的索引节点号结合在一起的一张表,目录中每一对文件名称和索引节点号称为一个连接。
对于一个文件来说有唯一的索引节点号与之对应,对于一个索引节点号,却可以有多个文件名与之对应。因此,在磁盘上的同一个文件可以通过不同的路径去访问它。
可以用ln命令对一个已经存在的文件再建立一个新的连接,而不复制文件的内容。连接有软连接和硬连接之分,软连接又叫符号连接。它们各自的特点是:
硬连接:原文件名和连接文件名都指向相同的物理地址。
目录不能有硬连接;硬连接不能跨越文件系统(不能跨越不同的分区)
文件在磁盘中只有一个拷贝,节省硬盘空间;
由于删除文件要在同一个索引节点属于唯一的连接时才能成功,因此可以防止不必要的误删除。
符号连接:用ln-s命令建立文件的符号连接符号连接是linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径名。类似windows下的快捷方式。
可以删除原有的文件而保存连接文件,没有防止误删除功能。
这一段的的内容过于抽象,又是节点又是数组的,我已经尽量通俗再通俗了,又不好加例子作演示。大家如果还是云里雾里的话,我也没有什么办法了,只有先记住,日后在实际应用中慢慢体会、理解了。这也是我学习的一个方法吧。
三、挂载文件系统
由上一节知道,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。这里所说的“按一定方式”就是指的挂载。
将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使它们成为一个整体,称为挂载。把该子目录称为挂载点。
注意:
1、挂载点必须是一个目录。
2、一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。
对于其他操作系统建立的文件系统的挂载也是这样。但是需要理解的是:光盘、软盘、其他操作系统使用的文件系统的格式与linux使用的文件系统格式是不一样的。光盘是ISO9660;软盘是fat16或ext2;windows NT是fat16、NTFS;windows98是fat16、fat32;windows2000和windowsXP是fat16、fat32、 NTFS。挂载前要了解linux是否支持所要挂载的文件系统格式。
linux系统的磁盘分区有哪几种
1、/分区。用于存储系统文件。
2、swap,即交换分区,也是一种文件系统,它的作用是作为Linux的虚拟内存。
在Windows下,虚拟内存是一个文件:pagefile.sys;而Linux下,虚拟内存需要使用独立分区,这样做的目的据说是为了提高虚拟内存的性能。
3、/home:是用户文件夹所在的地方。如果独立划分/home,即使Ubuntu不能启动,也可以用Live CD启动来取得自己的文件资料。
4、/boot:包含了操作系统的内核和在启动系统过程中所要用到的文件。
在很多老旧的教程中,都会让用户在/boot目录上挂载一个大小为100MB左右的独立分区,并推荐把该/boot放在硬盘的前面——即1024柱面之前。事实上,那是Lilo无法引导1024柱面后的操作系统内核的时代的遗物了。当然,也有人说,独立挂载/boot的好处是可以让多个Linux共享一个/boot。
其实,无论是基于上述的哪种理由,都没有必要把/boot分区独立出来。首先,Grub可以引导1024柱面后的Linux内核;其次,即使是安装有多个Linux,也完全可以不共享/boot。因为/boot目录的大小通常都非常小,大约20MB,分一个100MB的分区无疑是一种浪费,而且还把把硬盘分的支离破碎的,不方便管理。另外,如果让两个Linux共享一个/boot,每次升级内核,都会导致Grub的配置文件冲突,带来不必要的麻烦。而且,不独立/boot分区仅仅占用了根目录下的大约20MB左右的空间,根本不会对根目录的使用造成任何影响。
但值得注意的是,随着硬盘容量的增大,无法引导Linux内核的现象再次出现,这也就是著名的137GB限制。很遗憾,Grub是无法引导137GB之后的分区中的Linux内核的。如果你不巧遇到了这样的情况,你就要考虑把/boot独立挂载到位于137GB前方的独立分区中,或者索性就把 Linux的分区都往前移动,让根目录所在分区位于137GB之前。
5、/usr/local:是 Linux系统存放软件的地方。
建议把/opt,/usr或/usr/local独立出来的教程,基本上也是非常老的了。使用Ubuntu时,我们一般都是使用系统的软件包管理器安装软件,很少自己编译安装软件。而建议独立/usr,/opt,/usr/local的理由无非是为了重装系统时不再重新编译软件而直接使用早先编译的版本。不过对于大多数普通用户来说,这个建议通常是没有意义的。
6、/var:是系统日志记录分区。
7、/tmp分区,用来存放临时文件。
建议把/var和/tmp独立出来的教程通常是面向服务器的。因为高负载的服务器通常会产生很多日志文件、临时文件,这些文件经常改变,因此把/var,/tmp独立出来有利于提高服务器性能。但如果你用Ubuntu是做桌面的,或从来不关心过系统日志这东西,就没有必要独立的为/var和/tmp挂载分区。
还有些老旧的教程中建议把Linux安装在主分区中,或在/boot下挂载一个主分区。事实上,这也是不需要的。Linux的所有分区都可以位于逻辑分区中。所以请放心的把Linux安装在逻辑分区中吧。
---
Linux的文件系统(分区格式)主要有ext3、ReiserFS、XFS、JFS等。同时Linux也可以读写使用FAT、FAT32和NTFS文件系统的分区。
Ubuntu默认的文件系统是ext3。
或许有人会告诉你其他文件系统会有什么什么优点,ext3会有什么什么不好,但如果你对文件系统并不了解的话,我的建议就是使用默认的ext3,默认的设置可能不一定是性能最好的,但对普通用户一定是最稳定最安全最适合的。
最大分区大小:ext3是4TB,ReiseFS是16TB。FAT32在Windows XP和Windows 2000里的最大分区是32GB;而Linux中的FAT32则可以支持到2TB。
最大文件大小:ext3是2GB-4GB,ReiseFS是8TB,FAT32是4GB。
---
如果你准备在硬盘里只安装Ubuntu一个操作系统的话,建议你采用三分区方案:
1)“/”分区:使用ext3文件系统;分区容量为10GB-15GB。
2)“swap”分区:用于交换空间。内存小于或等于 512MB,swap分区容量为内存大小的2倍;内存大于512MB的,swap分区容量等于内存大小。
3)“/home”分区:使用ext3文件系统;分区容量为“/”和“swap”以外的剩余空间
在linux系统中至少必须有两个挂载点(磁盘分区),分别是/及 swap,其余是否要将其他的挂载点独立分割出来则视你的规划需求而定。可参考以下建议:
swap的大小约等同你的内存大小,或稍大
初次接触的新手或硬盘空间有限 Desktop的安装建议:
挂载点装置说明
//dev/hda1可用空间- swap大小后的所有空间
swap/dev/hda2大约内存大小建议至少512Mb
高级用户 Desktop的安装建议:
挂载点装置说明
//dev/hda1 15G
/home/dev/hda2最大的剩余空间
/boot/dev/hda3 128MB左右
swap/dev/hda5大约内存大小(建议至少512MB)
高级用户 Server的安装建议:
挂载点装置说明
//dev/hda1 15G
/home/dev/hda2最大的剩余空间
/boot/dev/hda3 128MB左右
swap/dev/hda5大约内存大小(建议至少512MB)
/var/dev/hda6视服务器功能决定大小
安装Liunx Ubuntu磁盘分区的配置与建议事项就说到这里,有了以上的相关说明相信要将自己的硬盘规划好,应该不会是件难事啦。
Linux规定了主分区(或者扩展分区)占用 1至 16号码中的前 4个号码。以第一个 IDE硬盘为例说明,主分区(或者扩展分区)占用了 hda1、hda2、hda3、hda4,而逻辑分区占用了 hda5到 hda16等 12个号码。因此,Linux下面每一个硬盘总共最多有 16个分区。
因此 hda1- hda4是主区的意思。 hda5以后是逻辑分区!!
具体你可以看下这个,上面你会学到更多的
希望可以帮到你啊