欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux笔记:磁盘分区和挂载

程序员文章站 2023-12-31 22:12:40
Linux中的所有设备都必须挂载之后才能使用,即必须给它分配“盘符”(即挂载点,就是系统中的某个空目录)给它才能使用,Windows系统中一般是自动分配盘符,所以挂载的概念在Windows中是没有的,比如你插入了一个U盘,Windows就会自动给它一个盘符(名称)来连接U盘,但是Linux中必须手动 ......

linux中的所有设备都必须挂载之后才能使用,即必须给它分配“盘符”(即挂载点,就是系统中的某个空目录)给它才能使用,windows系统中一般是自动分配盘符,所以挂载的概念在windows中是没有的,比如你插入了一个u盘,windows就会自动给它一个盘符(名称)来连接u盘,但是linux中必须手动挂载某个设备,并给它分配一个挂载点(目录名),即连接设备,挂载(连接)成功后才能使用。

 

一、磁盘分区
理解分区:磁盘的各个分区,可以理解为一个柜子的不同抽屉,而设备文件名则代表不同的抽屉,如/dev/sda1表示此分区的设备文件名,通常我们讲某个设备文件,其实就是说它代表的分区或者它代表的硬盘,而不会将它作为一个单纯的文件来看待。其中/dev目录下存放的是对应的硬件设备,sd为设备类型,表示sata磁盘,a表示磁盘编号,1表示此磁盘的分区号。
windows分区:windows中磁盘的使用一般是经过分区(将一个大的硬盘分成多个小的逻辑分区),格式化(指定文件系统,而此时会清空磁盘内的数据,注意格式化的目的是重新指定文件系统而不是清空数据),然后给分区指定盘符(如c盘、d盘等),在linux中,没有盘符的说法,从分区到给此分区指定盘符的过程称之为挂载,而对应的盘符则称之为挂载点,比如上述的/dev/sda1我可以指定它的挂载点为/test,就相当于在windows中指定了这块分区为test盘(就像c盘、d盘一样)。
linux分区:在linux中,相比于windows的三个步骤,磁盘分区这一步会比windows多一个内容,就是分区时,需要给对应分区指定一个设备文件名,如/dev/sda1、/dev/sda2、/dev/sda3等,表示磁盘/dev/sda下的各个分区由不同的文件来管理,然后接下来也是格式化和分配挂载点(即盘符,就是对应的目录名)。
linux常用分区:

  • /(根分区):此为必须分区,即必须给这个目录一个分区。
  • swap分区(交换分区):这也是一个必须分区,大小为内存的2倍,但是也不能超过2gb。此分区可以理解为虚拟内存,即内存不够时,可以使用此分区作为内存使用。
  • /boot:系统启动目录,建议此目录单独分一个区作为启动分区(就像windows中的c盘为系统启动盘一样),一般为200mb。

linux的文件系统虽然是由根目录到一级目录,然后到二级目录,然后一直往下扩散延伸(不像windows那样c盘和d盘等盘是平级的),但是目录中的某一个空目录是可以单独拿出来给它分区的,比如根目录下的/boot通常就单独分一个区出来作为系统启动运行的专用分区,如/dev/sda1(对应的设备文件),而根目录/则使用另外一个分区/dev/sda2(对应的设备文件)。

 

二、手动分区新硬盘
注意使用命令手动挂载的方式,在系统重启之后就会失效,想要挂载永久生效,还需要将对应的挂载配置写入/etc/fstab文件(见之后的“分区自动挂载”)。以下步骤按顺序执行。
fdisk -l:查看硬盘信息。每个硬盘都会单独显示一个“disk”,然后在下面列出已分区的“device”信息,如果列出的信息只有“disk”而没有对应的“device”信息,则表示该硬盘还没有进行分区。
fdisk /dev/sdb:给硬盘分区,参数/dev/sdb就是上一步查询出来的硬盘设备的名称(注意不要加编号,只有分区之后系统才会自动分配编号,没有分区之前是没有编号的)。执行此命令后会要求按顺序执行以下的命令:

  • m:表示查看分区命令的帮助信息(这一步一般不用)。
  • n:新建一个分区。
  • p:新建一个主分区。(显示的提示为p primary partition (1-4)。)
  • 1:设置分区号(建议根据已存在分区号从低到高按顺序指定,此时显示的提示为partition number (1-4))。
  • 【回车】:指定从哪个柱面开始分区,默认从第一个。建议就从第1个开始,不要从其他位置指定,此时显示的提示为first cylinder (1-1305, default 1),表示此硬盘有1305个柱面可用于分区,默认从第1个柱面开始分区。
  • 【回车】:指定此分区的结束柱面,默认为全部柱面,也可以根据提示指定固定的大小。
  • p:查看下分区结果。(这一步也可以不用执行。)
  • w:保存退出。
  • 理解柱面:柱面可以理解为五子棋或围棋的棋盘上的格子,整个棋盘就是硬盘,一个硬盘可以按固定大小分为若干个格子(柱面),分区时,你需要指定哪部分的格子来作为你要建立的分区,但这些格子你只能按照编号连续地来使用,如1到500作为分区,而不能使用1、4和9等不连续格子合在一起作为一个分区。

partprobe:重新读取分区表。如果上一步w之后提示需要重启才能生效,就可以执行这一步。
mkfs -t ext4 /dev/sdb1:根据指定的文件系统格式化分区。
mkdir /disk1:创建挂载点,即创建一个空目录,也可以使用已有的任何一个空目录。
mount /dev/sdb1 /disk1/:挂载设备/dev/sdb1到指定挂载点/disk1/。
mount或df:查看是否挂载成功。(注意fdisk命令只能查看是否分区成功分配,但是不能查看挂载结果。)

 

三、分区自动挂载
系统在启动时,会依据/etc/fstab文件中的配置信息进行自动挂载,所以可以选择手动挂载之后将挂载信息配置在此文件中,也可以配置好此文件后重启系统。但需要注意的是,如果此文件写错了就可能会影响到系统的启动,所以出了挂载报错的问题需要查看和修复此文件。
其中/、/boot、/home、swap、/dev/shm(tmpfs)、/dev/pts(devpts)、/sys(sysfs)、/proc(proc)等是系统默认的一些分区和挂载点,不能修改它们。
配置文件中需要配置的六个字段:

  • 第一字段:分区设备文件名(这种方式就不能改变分区设备的顺序,即该设备文件名不能在某次重启或其他操作后映射到了别的分区)或uuid(硬盘通用唯一识别码,使用uuid就不用担心映射错分区的问题了), uuid可以通过“dumpe2fs -h 设备文件名”查看filesystem uuid的值。
  • 第二字段:挂载点。
  • 第三字段:默认的文件系统。
  • 第四字段:-o挂载参数,使用默认defaults即可。
  • 第五字段:指定分区是否被dump备份,0代表不备份,1代表每天备份,2代表不定期备份。分区的备份都保存在分区目录下的lost+found文件中。
  • 第六字段:指定分区是否被fsck检测,0代表不检测,其他数字代表检测的优先级,1的优先级是高于2的,并且我们自己添加的分区应该是大于等于2的。

mount -a:配置完成后应该执行这个命令挂载一遍,如果有报错信息,就解决了再重启,不然以重启的方式来挂载,导致系统崩溃了之后就不容易定位问题了,至少解决的时候会比较麻烦。
mount -o remount,rw /:这个命令用于/etc/fstab的修复,当系统因为挂载报错后,且/etc/fstab这个文件是只读的,无法去修改文件以修复问题,此时可以使用这个命令重新挂载一次,并让它具有读写的权限。

 

四、相关命令

df/du命令
df [选项] [挂载点]:查看系统分区的占用情况。
选项:

  • -a:显示所有的文件系统信息,包括特殊文件系统,如/proc、/sysfs等。
  • -h:使用习惯单位显示容量,如kb/mb/gb等。
  • -t:显示文件系统类型。
  • -m:以mb为单位显示容量。
  • -k:以kb为单位显示容量,也是默认的显示单位。

du [选项] [目录名或文件名]:查看文件或目录的空间占用大小。最常用的命令为“du -sh 目录名”,用于查看某个目录的占用空间总大小。但是du命令一般用来查看目录的占用大小,文件的占用大小直接使用ll -h命令即可查看。
选项:

  • -a:显示每个子目录和子文件的磁盘占用量,默认只统计子目录本身的磁盘占用量。
  • -h:使用习惯单位显示磁盘占用量,如kb/mb/gb等。
  • -s:统计总占用量,而不列出子目录和子文件的占用量。

df和du命令的区别:

  • df命令是从文件系统角度考虑,不光要考虑文件占用的空间,还要统计被命令或程序占用的空间(最常见的情况就是删除的文件并没有得到释放,所以服务器应该定期进行重启)。
  • du命令是面向文件的,只会计算文件或目录占用的空间。

 

mount/umount命令
mount [-l]:查询系统中已经挂载的设备,-l会显示卷标名称。
mount -a:依据配置文件/etc/fstab的内容进行自动挂载。
mount [-t 文件系统] [-l 卷标名] [-o 特殊选项] 设备文件名 挂载点:连接设备到指定的挂载点。
选项:

  • -t:指定文件系统类型,可以是ext3/ext4/iso9660等。
  • -l:挂载指定卷标的分区,而不是安装设备文件名挂载。
  • -o:可以指定挂载的额外选项。选项内容较多,可以查看相关资料。需要注意这个mount特殊选项都是针对的分区。

umount 设备文件名或者挂载点:卸载设备。只有手动卸载设备后,这个设备才能“弹出”,否则就会一直是“使用中”的状态。

 

上一篇:

下一篇: