十、linux 之 磁盘分区与挂载
一、Linux 分区
1.1 原理介绍
1. Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构 , Linux 中每个分区都是用来组成整个文件系统的一部分。
2. Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录 联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得
1. Linux 硬盘分 IDE 硬盘和 SCSI 硬盘,目前基本上是 SCSI 硬盘
2. 对于 IDE 硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指 IDE 硬盘了。“x”为盘号(a 为 基本盘,b 为基本从属盘,c 为辅助主盘,d 为辅助从属盘),“~”代表分区,前四个分区用数字 1 到 4 表示,它们是主分区或扩展分区,从 5 开始就是逻辑分区。例,hda3 表示为第一个 IDE 硬盘上的第三个主分区或扩展分区,hdb2 表示为第二个 IDE 硬盘上的第二个主分区或扩展分区。
3. 对于 SCSI 硬盘则标识为“sdx~”,SCSI 硬盘是用“sd”来表示分区所在设备的类型的,其余则和 IDE 硬盘的表示方法 一样
# lsblk 或者 lsblk -f [root@WANFYONG /home]# 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 [root@WANFYONG /home]#
1) 虚拟机添加硬盘
2) 分区
3) 格式化
4) 挂载
5) 设置可以自动挂载
在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘,然后一路【下一步】,中间只有选择磁盘大小的地方 需要修改,至到完成。然后重启系统(才能识别)!
重启之后出现如下类似结果则说明创建成功
# 分区命令 fdisk /dev/sdb """ /sdb 分区 m 显示命令列表 p 显示磁盘分区 同 fdisk –l n 新增分区 d 删除分区 w 写入并退出 """ # 开始分区后输入 n,新增分区,然后选择 p ,分区类型为主分区。两次回车默认剩余全部空间。最后输入 w 写入分区并退出,若不保存退出输入 q。
[root@WANFYONG ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。 使用写入命令前请三思。 Device does not contain a recognized partition table 使用磁盘标识符 0x6e3d619a 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分区号 (1-4,默认 1): 起始 扇区 (2048-2097151,默认为 2048): 将使用默认值 2048 Last 扇区, +扇区 or +size{K,M,G} (2048-2097151,默认为 2097151): 将使用默认值 2097151 分区 1 已设置为 Linux 类型,大小设为 1023 MiB 命令(输入 m 获取帮助): 命令(输入 m 获取帮助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盘。 [root@WANFYONG ~]# 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 / sdb 8:16 0 1G 0 disk └─sdb1 8:17 0 1023M 0 part sr0 11:0 1 4.3G 0 rom [root@WANFYONG ~]#
# 分区命令:mkfs -t ext4 /dev/sdb1 其中 ext4 是分区类型 [root@WANFYONG ~]# lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 ext4 6444ec8b-2dd4-482a-b328-d630df0704d1 /boot ├─sda2 swap 83f9202f-dc65-404d-bc73-a1570c9217b5 [SWAP] └─sda3 ext4 4db563f3-91d2-47f6-8503-18379982635d / sdb └─sdb1 sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00 [root@WANFYONG ~]# [root@WANFYONG ~]# 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@WANFYONG ~]# lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 ext4 6444ec8b-2dd4-482a-b328-d630df0704d1 /boot ├─sda2 swap 83f9202f-dc65-404d-bc73-a1570c9217b5 [SWAP] └─sda3 ext4 4db563f3-91d2-47f6-8503-18379982635d / sdb └─sdb1 ext4 04dcefd6-72d3-445e-8071-1c3982c763a7 sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00 [root@WANFYONG ~]#
# 挂载: 将一个分区与一个目录联系起来, # mount 设备名称 挂载目录 # 例如: mount /dev/sdb1 /newdisk # 删除挂载 # umount 设备名称 或者 挂载目录 # 例如: umount /dev/sdb1 或者 umount /newdisk[root@WANFYONG /]# [root@WANFYONG /]# mkdir newdisk [root@WANFYONG /]# [root@WANFYONG /]# mount /dev/sdb1 /newdisk [root@WANFYONG /]# [root@WANFYONG /]# lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 ext4 6444ec8b-2dd4-482a-b328-d630df0704d1 /boot ├─sda2 swap 83f9202f-dc65-404d-bc73-a1570c9217b5 [SWAP] └─sda3 ext4 4db563f3-91d2-47f6-8503-18379982635d / sdb └─sdb1 ext4 04dcefd6-72d3-445e-8071-1c3982c763a7 /newdisk sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00 [root@WANFYONG /]# [root@WANFYONG /]# cd /newdisk/ [root@WANFYONG /newdisk]# [root@WANFYONG /newdisk]# touch my.cat [root@WANFYONG /newdisk]# [root@WANFYONG /newdisk]# ll 总用量 16 drwx------. 2 root root 16384 5月 11 18:43 lost+found -rw-r--r--. 1 root root 0 5月 11 18:51 my.cat [root@WANFYONG /newdisk]#
# 用命令行挂载,重启后会失效 # 永久挂载: 通过修改/etc/fstab 实现挂载 # 添加完成后 执行 mount –a 即刻生效 [root@WANFYONG /newdisk]# vim /etc/fstab [root@WANFYONG /newdisk]#
![]()
重启之后发现挂载依然还在
三、磁盘情况查询
3.1 查询系统整体磁盘使用情况(df -h)
# df -h [root@WANFYONG ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda3 17G 5.7G 11G 37% / devtmpfs 975M 0 975M 0% /dev tmpfs 991M 0 991M 0% /dev/shm tmpfs 991M 11M 981M 2% /run tmpfs 991M 0 991M 0% /sys/fs/cgroup /dev/sdb1 991M 2.6M 922M 1% /newdisk /dev/sda1 976M 134M 776M 15% /boot .host:/ 233G 130G 103G 56% /mnt/hgfs tmpfs 199M 8.0K 199M 1% /run/user/42 tmpfs 199M 0 199M 0% /run/user/0 [root@WANFYONG ~]#
# du -h # 查询指定目录的磁盘占用情况,默认为当前目录 # -s 指定目录占用大小汇总 # -h 带计量单位 # -a 含文件 # --max-depth=1 子目录深度 # -c 列出明细的同时,增加汇总值 [root@WANFYONG /opt]# ll 总用量 55112 -rw-r--r--. 1 root root 0 5月 11 19:05 a.txt drwxr-xr-x. 2 root root 4096 10月 31 2018 rh drwxr-xr-x. 3 root root 4096 5月 7 16:22 tmp drwxr-xr-x. 2 root root 4096 5月 7 16:34 tmp2 -r--r--r--. 1 root root 56414224 5月 3 20:27 VMwareTools-10.3.22-15902021.tar.gz drwxr-xr-x. 9 root root 4096 3月 25 2020 vmware-tools-distrib [root@WANFYONG /opt]# du -h --max-depth=1 12K ./tmp 16K ./tmp2 4.0K ./rh 163M ./vmware-tools-distrib 216M . [root@WANFYONG /opt]# du -ha --max-depth=1 0 ./a.txt 12K ./tmp 16K ./tmp2 54M ./VMwareTools-10.3.22-15902021.tar.gz 4.0K ./rh 163M ./vmware-tools-distrib 216M . [root@WANFYONG /opt]# du -hac --max-depth=1 0 ./a.txt 12K ./tmp 16K ./tmp2 54M ./VMwareTools-10.3.22-15902021.tar.gz 4.0K ./rh 163M ./vmware-tools-distrib 216M . 216M 总用量 [root@WANFYONG /opt]#
# 1. 统计/opt 文件夹下文件的个数 wc 代表显示个数 # ls -l /opt | grep "^-" | wc -l [root@WANFYONG /opt]# ls -l /opt | grep "^-" | wc -l 2 [root@WANFYONG /opt]#
# 2. 统计/opt 文件夹下目录的个数 # ls -l /opt | grep "^d" | wc -l [root@WANFYONG /opt]# ls -l /opt | grep "^d" | wc -l 4 [root@WANFYONG /opt]#
# 3. 统计/opt 文件夹下文件的个数,包括子文件夹里的 # ls -lR /opt | grep "^-" | wc -l [root@WANFYONG /opt]# ls -lR /opt | grep "^-" | wc -l 1544 [root@WANFYONG /opt]#
# 4. 统计/opt 文件夹下目录的个数,包括子文件夹里的 # ls -lR /opt | grep "^d" | wc -l [root@WANFYONG /opt]# ls -lR /opt | grep "^d" | wc -l 506 [root@WANFYONG /opt]#
# 5. 以树状显示目录结构 tree 目录 , 注意,如果没有 tree ,则使用 yum install tree 安装 # tree /home/ [root@WANFYONG /opt]# tree /home/ /home/ ├── abc ├── apple.txt ├── bbb │ ├── aaa │ └── hello.c ├── fox ├── hello.c ├── hi.tar.gz ├── info.txt ├── jack │ └── jack.txt ├── jerry ├── mybbb.zip ├── mycal ├── mycrontab.txt ├── mydata.txt ├── my.sh ├── orange.txt ├── wangwang ├── wangyong ├── wangyongyong ├── xh └── xq 10 directories, 13 files [root@WANFYONG /opt]#
123
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步