Linux 操作系统 06 - 磁盘管理

Hello~大家好!我是今越,本文内容来源于平时的学习笔记,希望对大家有所帮助。鉴于个人水平有限,文中难免会有不足之处,欢迎留言评论。需要转载的朋友,请注明出处。感谢点赞和收藏。一起加油!:)

往期文章回顾
Linux 操作系统 01 - 目录篇
Linux 操作系统 02 - 文件篇
Linux 操作系统 03 - 用户和组管理
Linux 操作系统 04 - 权限管理
Linux 操作系统 05 - 定时任务调度

一、硬盘与分区

Linux 硬盘分为 IDE 硬盘和 SCSI 硬盘,目前基本上是 SCSI 硬盘。

对于 IDE 硬盘,驱动器标识符为 “hdx~”,其中 “hd” 表示分区所在设备的类型,这里是指 IDE 硬盘。“x” 为盘号(a 为基本盘,b 为基本从属盘,c 为辅助主盘,d 为辅助从属盘),“~” 代表分区,前四个分区用数字 1 到 4 表示,它们是主分区或扩展分区,从 5 开始就是逻辑分区。例如,hda3 表示为第一个 IDE 硬盘上的第三个主分区或扩展分区,hdb2 表示为第二个 IDE 硬盘上的第二个主分区或扩展分区。

对于 SCSI 硬盘,则标识为 “sdx~”,其中 “sd” 表示分区所在设备的类型,其余则和 IDE 硬盘的表示方法一样。

对 Linux 来说,无论有几个分区,分给哪一目录使用,它归根结底只有一个根目录,一个独立且唯一的文件结构,Linux 中每个分区都是用来组成整个文件系统的一部分。Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,并且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。

查看所有设备挂载情况

[root@localhost ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   20G  0 disk 
├─sda1   8:1    0    1G  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0   17G  0 part /
sr0     11:0    1  4.3G  0 rom  /run/media/root/CentOS 7 x86_64

[root@localhost ~]# lsblk -f
NAME   FSTYPE  LABEL           UUID                                 MOUNTPOINT
sda                                                                 
├─sda1 ext4                    b38b7350-61e1-4525-a986-e25b3796a307 /boot
├─sda2 swap                    494f9748-98b6-48fc-9ead-7b31759da579 [SWAP]
└─sda3 ext4                    dd8f102a-4fb3-4241-96a3-d34fad621cb8 /
sr0    iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00               /run/media/root/CentOS 7 x86_64

二、挂载的经典案例

我们以增加一块硬盘为例,来熟悉下磁盘的相关命令和深入理解磁盘分区、挂载、卸载的概念。

如何增加一块硬盘?

1)虚拟机添加硬盘;
2)分区;
3)格式化磁盘;
4)挂载;
5)设置可以自动挂载;

步骤 1

这里以 VMware 软件为例,在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘,然后一路【下一步】,中间只有选择磁盘大小的地方需要修改,直到完成,然后重启系统才能识别!
虚拟机添加硬盘

步骤 2

功能描述:分区

fdisk /dev/sdb

使用上面的分区命令,开始对 /sdb 分区

选项

m 显示命令列表
p 显示磁盘分区,同 fdisk -l
n 新增分区
d 删除分区
w 写入并退出

说明

开始分区后输入 n,新增分区,然后选择 p,设置分区类型为主分区。接着两次回车,默认全部剩余空间。最后输入 w 写入分区并退出,若不保存退出,输入 q
分区

步骤 3

功能描述:格式化磁盘

mkfs -t ext4 /dev/sdb1

选项

-t 文件系统类型,例如 ext3、ext4、iso9660 等文件系统,不支持 NTFS 文件系统

[root@localhost ~]# mkfs -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 261888 blocks
13094 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
[root@localhost ~]# lsblk -f
NAME   FSTYPE  LABEL           UUID                                 MOUNTPOINT
sda                                                                 
├─sda1 ext4                    b38b7350-61e1-4525-a986-e25b3796a307 /boot
├─sda2 swap                    494f9748-98b6-48fc-9ead-7b31759da579 [SWAP]
└─sda3 ext4                    dd8f102a-4fb3-4241-96a3-d34fad621cb8 /
sdb                                                                 
└─sdb1 ext4                    c13dbb2e-bab6-4cf1-b9ce-3476f517154c 
sr0    iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00               

步骤 4

功能描述:挂载,将一个分区与一个目录联系起来

mount 设备名称 挂载目录

案例

[root@localhost /]# mkdir newdisk
[root@localhost /]# mount /dev/sdb1 /newdisk/
[root@localhost /]# lsblk -f
NAME   FSTYPE  LABEL           UUID                                 MOUNTPOINT
sda                                                                 
├─sda1 ext4                    b38b7350-61e1-4525-a986-e25b3796a307 /boot
├─sda2 swap                    494f9748-98b6-48fc-9ead-7b31759da579 [SWAP]
└─sda3 ext4                    dd8f102a-4fb3-4241-96a3-d34fad621cb8 /
sdb                                                                 
└─sdb1 ext4                    c13dbb2e-bab6-4cf1-b9ce-3476f517154c /newdisk
sr0    iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00               

功能描述:卸载,将一个分区与一个目录断开联系

umount [选项] 设备名称 或者 挂载目录

选项

-f 强制卸载

案例

umount /dev/sdb1 或者 umount /newdisk

注意

1)用命令行挂载,重启后会失效;

步骤 5

永久挂载:通过修改 /etc/fstab 实现挂载
永久挂载
添加完成后,执行 mount -a 即刻生效!

三、查看磁盘情况

3.1 df

功能描述:查询系统整体磁盘使用情况

df -h

案例

[root@localhost ~]# df -h
文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        17G  5.7G   11G   36% /
devtmpfs        895M     0  895M    0% /dev
tmpfs           910M     0  910M    0% /dev/shm
tmpfs           910M   11M  900M    2% /run
tmpfs           910M     0  910M    0% /sys/fs/cgroup
/dev/sdb1       991M  2.6M  922M    1% /newdisk
/dev/sda1       976M  144M  766M   16% /boot
tmpfs           182M  8.0K  182M    1% /run/user/42
tmpfs           182M     0  182M    0% /run/user/0

3.2 du

功能描述:查询指定目录的磁盘占用情况

du [选项] [/目录名]

选项

-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
--max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值

说明

1)默认为当前目录;

案例

[root@localhost ~]# du -hac --max-depth=1 /opt
4.0K	/opt/rh
3.5M	/opt/杂文.txt
3.5M	/opt
3.5M	总用量

3.3 实用命令

1)统计 /opt 文件夹下文件的个数: ls -l /opt | grep "^-" | wc -l

2)统计 /opt 文件夹下目录的个数: ls -l /opt | grep "^d" | wc -l

3)统计 /opt 文件夹下文件的个数,包括子文件夹里的: ls -lR /opt | grep "^-" | wc -l

4)统计 /opt 文件夹下目录的个数,包括子文件夹里的: ls -lR /opt | grep "^d" | wc -l

5)以树状显示 opt 目录的目录结构,注意,如果没有 tree,则实用 yum install tree 安装

[root@localhost opt]# tree /opt
/opt
├── d1
│   ├── 1.txt
│   ├── 2.txt
│   └── d1-1
├── d2
├── rh
└── \346\235\202\346\226\207.txt

4 directories, 3 files

慢慢来,保持专注,一点一点进步!
文章持续更新,感谢大家的点赞、收藏和评论,我是今越,我们下期再见:)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值