失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Linux 磁盘管理及基础命令使用

Linux 磁盘管理及基础命令使用

时间:2020-02-10 15:29:07

相关推荐

Linux 磁盘管理及基础命令使用

磁盘简介

计算机总是需要记录与读取数据的,而这些数据当然不可能每次都由用户经过键盘来打字。所以就需要有存储设备了。计算机系统上面的存储设备包括硬盘、软盘、CD、DVD、磁带机、U盘等,都是可以用来存储数据的。最常见的也就是硬盘了,下面我们就来简单介绍下硬盘吧。

一、磁盘的物里组成盘片:主要是用来记录数据的部分。 扇区(Sector)为最小的物理存储单位,第个扇区为512bytes; 将扇区组成一个圆,那就是柱面(Cylinder),柱面是分区(Parition)的最小单位; 第一个扇区最重要,里面有引导记录(Masterbootrecord,MBR)及分区表(partition table),其中 MBR占446bytes,而分区表占有64bytes。 机械手臂与机械手臂上的磁头:可读写盘片上的数据。 主轴马达:可以转动盘片,让机械手臂的磁头在盘片上读写数据。

二、磁盘的分区主分区与扩展分区最多可以有4个(分区表64字节,每分区占16字节); 扩展分区最多只能有一个; 逻辑分区是由扩展分区持续分出来的分区; 能够被格式化后作为数据访问的分区为主要分区与逻辑分区,扩展分区无法格式化; 逻辑分区的数量以操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分区(5-63),SATA硬盘则有11个逻辑分区(5-15);

三、各接口的磁盘在Linux中的文件名分别为/dev/sd[a-p][1-15]:为SCSI,SATA,USB,Flash等接口的磁盘文件名; /dev/hd[a-d][1-63]:为IDE接口的磁盘文件名;

四、文件系统分类Windows : NTFS 、 FAT32 Linux: ext2、 ext3 、 ext4 、 xfs 、 reiserfs 、 nfs 、 iso9660 、 jfs 、 brtfs

小结:通过以上内容,我们简单了解了磁盘的组成、分区、接口的磁盘命名及文件系统的分类。下面我们来具体看下磁盘分区、格式化及磁盘挂载所使用到的命令。我们分别介绍一下:

五、磁盘分区 fdisk格式:fdisk [options] <设备名称> 【参数】 -l:输出后面接的设备所有的分区内容。若仅有fdisk -l 时,则系统将会把整个系统内核能够找到的设备的分区均列出来。

举例 :查看第二块磁盘(sdb)的分区情况,我们可以通过以下命令来查看:

# [root@lab02 ~]# fdisk -l /dev/sdb

如果想要查看所有硬盘分区,即可使用以下命令,不加设备名即可,我们就可以看到所有挂载的磁盘:

# [root@lab02 ~]# fdisk -l

下面我们来看下fdisk这个命令是如何来进行分区的。刚刚已介绍过格式了 ,我们先来执行一下看看吧。

[root@lab02 ~]# fdisk /dev/sdb

使用fdisk这个程序是完全不需要我们记这些命令的,如上所示,我们只需要按下m就能够看到所有的操作。上面标记为蓝色的是几个比较重要的操作。其中比较不一样的是q与w这两个,不管你进行了什么操作,只要离开fdisk时按下"q",那么所有的操作都不会生效!相反,按下“w”就是操作生效的意思。所以,可以随便玩玩fdisk,只要离开的时候按下q就可以了。我们先来看看分区表的信息吧。

使用“p”可以列出目前这块磁盘的分区表信息,这个信息的上半部分显示整体磁盘的状态。下半部分的分区表信息主要列出第个分区的信息项目。每个项目的意义为: Device:设备文件名,依据不同的磁盘接口/分区位置而变; Boot:表示是否为开机引导模块,通常Windows系统的C盘需要这模块; Start,End:表示这个分区在哪个柱面号码之间,可以决定此分区的大小; Blocks:就是以1K为单位的容量; ID,System:代表这个分区的文件系统类型。

下面我们来新建一个分区吧,看看效果吧:分区创建好了,我们输入“w”保存即可。然后通过fdisk -l /dev/sdb查看下吧。分区创建好了,内核是否正常加载了我们刚刚创建的分区呢?我们可以通过查看下面的文件来得到答案。

[root@lab02 ~]#cat /proc/partitionsmajor minor #blocks name8 16 125829120 sdb8 17 5253223 sdb18 18 5253255 sdb2 <-- 此处表明内核已加载了新创建的分区;8 0 125829120 sda8 1512000 sda18 2 125316096 sda2253 0 52428800 dm-0253 1 1015808 dm-1253 2 71868416 dm-2

如果在此文件中,没有被内核识别的话 ,让内核重新加载分区信息 ,我们可以通过以下命令: RHEL5让内核重新读取硬盘分区表: partprobe [DEVICE]

RHEL6让内核重新读取硬盘分区表: partx -a [PARTITION] DEVICE

到此,一个分区,我们就已经创建好了!比较容易吧,下面我们在来创建一个扩展分区,然后在建一个逻辑分区看看具体过程吧。

扩展 分区能及逻辑分区都创建好了,我们输入“w”保存即可。删除分区就更容易了,在这里就不做介绍了。创建分区部分内容就介绍到这里了。 分区创建好了,下面我们就要对创建好的分区进行格式化,要不然新建的分区是不能使用的。我们来看看格式化的命令吧!

六、磁盘格式化 mkfs mke2fs分区完毕后自然就是要进行文件系统的格式化。格式化的命令非常简单,那就是mkfs(即 make file system之意)这个命令。这个命令其它是个综合的命令,它会去调用正确的文件系统格式化工具软件。

格式:mkfs [-t 文件系统格式] 设备文件【参数】 -t:可以接文件系统格式,例如:ext2、ext3、ext4、vfat等(系统支持才会生效) 例 :将刚刚创建的/dev/sdb5逻辑分区格式化为ext4文件系统 [root@lab02 ~]# mkfs -t ext4 /dev/sdb5 mke2fs 1.41.12 (17-May-) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 328656 inodes, 1313305 blocks 65665 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=1346371584 41 block groups 32768 blocks per group, 32768 fragments per group 8016 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: doneCreating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 25 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.

看看还有那些格式化命令: [root@lab02 ~]# mkfsmkfsmkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.ext4dev

这些都是格式化的命令哦,在往下看看,你就会更清楚了! mkfs -t ext4 = mkfs.ext4 = mke2fs -t ext4 mkfs -t ext3 = mkfs.ext3 = mke2fs -j = mke2fs -t ext3 mkfs -t ext2 = mkfs.ext2 = mke2fs = mke2fs -t ext2 现在是不是更清楚了啊,我相信你会懂的哦!在格式化完成我,我们会发现结果里面含有非常多的信息,由于我们没有详细指定文件系统的具体选项,因此mkfs命令格式化会使用默认值来进行格式化。其中比较重要的部分为:文件系统的卷标、block的大小、以及inode的数量。如果要指定这些内容就得要使用mke2fs这个命令喽!

格式:mke2fs [-t {ext2|ext3|ext4}] [-b block 大小] [-L 卷标] 设备名-b {1024|2048|4096}:块大小 块大小取决CPU对内存页框大小的支持,x86系统默认页框大小为4K; -L label: 设定卷标 -m #: 预留给管理使用的块所占据总体空间的比例; -r #: 预留给管理使用的块的个数; -E: 设定文件系统的扩展属性;

例:将/dev/sdb5 分区格式化,block设置为2048,卷标设置为my_lgh;

# mke2fs -t ext4 -b 2048 -L "my_lgh" /dev/sdb5

通过以下命令查看格式化后是否按需求修改了配置:

[root@lab02 /]#blkid /dev/sdb5/dev/sdb5: UUID="dc89a957-0aa5-454b-856b-782aab42f04a" TYPE="ext4"LABEL="my_lgh"

[root@lab02 /]#tune2fs -l /dev/sdb5First block: 0Block size:2048Fragment size: 2048Reserved GDT blocks:512Blocks per group: 16384

下面我们在来看一个和mke2fs相关的命令,tune2fs主要用来修改卷标、 整预留给管理使用的块所占据总体空间的比例等内容:

格式:tune2fs [参数] 设备名-l: 显示文件系统超级块信息; -L label:重新设定卷标; -m #: 调整预留给管理使用的块所占据总体空间的比例; -r #: 调整预留给管理使用的块个数; -o:设定挂载默认选项 -O: 设定文件系统默认特性 -E: 调整文件系统的扩展属性

例: 调整预留给管理使用的块所占据总体空间的比例调至3% [root@lab02 /]# tune2fs -m 3 /dev/sdb5

e2label: 显示或设定卷标;格式:e2label DEVICE [Volume_label]# e2label /dev/sdb5 查看卷标 # e2label /dev/sdb5 my_label 修改卷标

blkid DEVICE: 显示设备的UUID、文件系统类型及卷标;

七、磁盘挂载与卸载 mount umount挂载前需要确认以下几件事情: 单一文件系统不应该被重复挂载在不同的挂载点中; 单一目录不应该重复挂载多个文件系统; 作为挂载点的目录理论上应该都是空目录才对;

mount 命令:格式:mount -t fstype [options] DEVICE MOUNT_POINT DEVICE: 设备文件:/dev/sda1, /dev/hdb2 卷标:LABEL=“label” UUID: UUID="uuid" MOUNT_POINT:要挂载到那个目录

选项: -o: 用于指定挂载选项,常用的挂载选项 ro: 只读挂载; rw: 读写,默认即为读写; noatime: 关闭 更新 访问时间; auto: 是否能够由“mount -a”挂载; defaults:相当于rw, suid, dev, exec, auto, nouser, async, and relatime sync: 同步写入 async:异步写入 dev: remount: 重新挂载 loop: 本地回环设备; -n: 挂载文件系统时,不更新/etc/mtab文件; -r: 相当于“-o ro”, 只读挂载;

举个例子吧,让我们来看看挂载命令的具体使用,将我们刚创建的/dev/sdb5逻辑分区挂载到/mydata目录下。 [root@lab02 /]#mount /dev/sdb5 /mydata/ [root@lab02 /]# ll /mydata/ total 16 drwx------. 2 root root 16384 Dec 23 18:10 lost+found

/mydata 目录必须事先存在,挂载成功后目录中会生成一个lost+found目录。挂载好后,我们就可以正常使用新建的分区了。挂载说完了,我们在来看看怎么 卸载吧。

umount 命令:格式:umount DEVICE umount MOUNT_POINT

卸载比较简单,我们直接举个例看下就好了。将刚才挂载到/mydata目录在 卸载掉。

[root@lab02 /]#umount /mydata/ [root@lab02 /]# cd /mydata/ [root@lab02 mydata]# ls

八、设置开机挂载 设置开机挂载,需要修改/etc/fstab文件,这个文件内容共有六个字段,这六个字段非常重要,各字段的含义如下: 第一列:磁盘设备文件名或该设备的Label 第二列:挂载点 第三列:磁盘分区的文件系统 第四列:文件系统参数 第五列:是否被dump命令作用 第六列:是否以fsck检查扇区

[root@lab02 /]# vim /etc/fstab 在此文件后加如以下一行内容,即可实现开机挂载。 /dev/sdb5 /mydata ext4 defaults 0 0

总结:Linux 磁盘管理及基础命令使用就先介绍到这里了,本文主要介绍了磁盘的物理组成、磁盘的分区、文件系统的分类,磁盘分区命令fdisk、 mke2fs 、磁盘格式化命令mkfs、磁盘挂载命令mount、磁盘 卸载命令umout以及 开机自动挂载 的基本使用。希望对大家有所帮助哦。

如果觉得《Linux 磁盘管理及基础命令使用》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。