1.硬盘说明
Linux 硬盘主要分为IDE 硬盘和 SCSI 硬盘,目前基本上是 SCSI 硬盘。
对于 IDE 硬盘,驱动器标识符为“hdx~”
- “hd”表明分区所在设备的类型,这里是指 IDE 硬盘
- “x”为盘号
a 为基本盘 第一个硬盘
b 为基本从属盘 第二个硬盘
c 为辅助主盘 第三个硬盘
d 为辅助从属盘 第四个硬盘
- “~”代表分区
前四个分区用数字 1 到 4 表示,它们是主分区或扩展分区,从 5 开始就是逻辑分区
例:hda3 表示为第一个 IDE 硬盘上的第三个主分区或扩展分区
hdb2 表示为第二个 IDE 硬盘上的第二个主分区或扩展分区
对于 SCSI 硬盘则标识为“sdx~”
- “sd”来表示分区所在设备的类型的,其余则和 IDE 硬盘的表示方法一样
2 硬盘相关指令
命令 | 含义 |
lsblk 【选项】 | 功能:查看磁盘挂载信息 选项: -f 显示详细信息 例如: 输入 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 sda1分区挂载到/boot目录 sda2分区挂载到swap目录 sda3分区挂载到根目录 输入lsblk -f 显示如下 NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 ext4 bd7b7249-b3fa-434f-acfd-5127a56c0673 /boot ├─sda2 swap 4381675a-652c-4ffa-9a9d-cb23d19be79b [SWAP] └─sda3 ext4 531c2867-a7e9-4ae7-8f79-4453ceb76c5b / sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00 第一列可以看到设备/硬盘分区情况 FSTYPE:文件系统类型 UUID:格式化之后,会给每一个分区分配一个 唯一的 不重复的 40位 的 字符串 MOUNTPOINT:挂载点 |
fdisk | 功能:创建磁盘分区 例如:给sdb创建分区 fdisk /dev/sdb |
mkfs | 功能:磁盘格式化 例如:将sdb1 格式化为ext4类型 mkfs -t ext4 /dev/sdb1 |
mount | 功能:将磁盘挂载到文件 例如:将磁盘分区sdb1挂载到newdisk文件夹上 mount /dev/sdb1 /newdisk |
df | 功能:查看磁盘的使用情况 例如:查看整体磁盘的使用情况 df -h |
du【选项】 | 功能:查询指定目录的磁盘占用情况 选项:-h 指定目录 -s 指定目录占用大小汇总 -h 带计量单位 -a 含文件 --max-depth=1 子目录深度 -c 列出明细的同时,增加汇总值 例如:查询/opt 目录的磁盘占用情况,深度为 1 du -hac --max-depth=1 /opt |
3 硬盘相关实用指令
1. 统计/opt 文件夹下文件的个数
ls -l /opt | grep "^-" | wc -l
说明:
grep "^-" --->筛选出以-开头的,因为以-开头的都是文件
wc (word count) 统计数量
wc -l 统计行数 l即lines
2. 统计/opt 文件夹下目录的个数
ls -l /opt | grep "^d" | wc -l
3. 统计/opt 文件夹下文件的个数,包括子文件夹里的
ls -lR /opt | grep "^-" | wc -l
-R 递归列出遇到的子目录
4. 统计/opt 文件夹下目录的个数,包括子文件夹里的
ls -lR /opt | grep "^d" | wc -l
5. 以树状显示目录结构
指令:tree 目录
默认情况下没有tree指令
如果没有 tree ,则使用 yum install tree 指令安装
4 挂载的经典案例
1-虚拟机添加硬盘
<1>在【虚拟机】菜单中选择【设置】
<2>然后设备列表里添加硬盘
<3>然后一路【下一步】
中间只有选择磁盘大小的地方需要修改,至到完成
<4>使用命令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
sr0 11:0 1 4.3G 0 rom
新增硬盘sdb,还未分区。
2-分区
<1>对sdb进行分区:
分区命令:fdisk /dev/sdb (dev目录下是一些设备)
步骤:
开始分区后输入 n (新增分区)
然后选择 p (分区类型为主分区)
两次回车
最后输入 w (写入分区并退出)
(若不保存并退出输入 q,即上面步骤出错了想重来就可以输入q)
说明:
m 显示命令列表
p 显示磁盘分区 (同 fdisk –l)
n 新增分区
d 删除分区
w 写入并退出
命令(输入 m 获取帮助):m
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
<2>选择分区类型:主分区/扩展分区
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1): --->输入2,硬盘就有2个分区
起始 扇区 (2048-2097151,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-2097151,默认为 2097151):
将使用默认值 2097151
分区 1 已设置为 Linux 类型,大小设为 1023 MiB
<3>命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
<4>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
分区成功
硬盘sdb中只有一个分区sdb1
3-格式化
<1>为什么要格式化?
给这个分区指定它的文件类型
<2>[root@Edu01 ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 bd7b7249-b3fa-434f-acfd-5127a56c0673 /boot
├─sda2 swap 4381675a-652c-4ffa-9a9d-cb23d19be79b [SWAP]
└─sda3 ext4 531c2867-a7e9-4ae7-8f79-4453ceb76c5b /
sdb
└─sdb1
sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00
sdb1的UUID为空,说明还没有格式化。
<3>格式化命令:
mkfs -t ext4 /dev/sdb1 其中 ext4 是分区类型
4-挂载
<1>挂载: 将一个分区与一个目录联系起来,
命令:mount 设备名称 挂载目录
<2>首先创建一个目录newdisk (目录位置随便)
假如在根目录下创建:mkdir newdisk
<3>进行挂载:mount /dev/sdb1 /newdisk
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 bd7b7249-b3fa-434f-acfd-5127a56c0673 /boot
├─sda2 swap 4381675a-652c-4ffa-9a9d-cb23d19be79b [SWAP]
└─sda3 ext4 531c2867-a7e9-4ae7-8f79-4453ceb76c5b /
sdb
└─sdb1 ext4 d1856552-dee4-4fbc-9953-f650231ecaac /newdisk
sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00
挂载点有了,挂载成功。
<4>卸载(去除分区与目录的联系):
命令:umount 设备名称 或者 挂载目录
例如:umount /dev/sdb1 或者 umount /newdisk
<5>注意: 用命令行挂载,重启后会失效!!!!
5-设置可以自动挂载
<1>永久挂载:
通过修改/etc/fstab 实现挂载
添加完成后 执行 mount –a 即刻生效 或者 重启系统reboot
步骤:
[1]vim /etc/fstab
[2]增加一行:UUID=上面sdb1的UUID /newdisk ext4 defaults 0 0
也可以是:/dev/sdb1 /newdisk ext4 defaults 0 0
[3] 参数含义
要挂载的设备或伪文件系统 挂载点 文件系统类型 挂载选项 转储频率 自检次序
UUID=上面sdb1的UUID /newdisk ext4 defaults 0 0
要挂载的设备或伪文件系统:设备文件、LABEL(LABEL="")、UUID(UUID="")、
伪文件系统名称(proc, sysfs)
挂载点:指定的文件夹
挂载选项:defaults
转储频率:
0:不做备份
1:每天转储
2:每隔一天转储
自检次序:
0:不自检
1:首先自检;一般只有rootfs才用1;