Linux常用命令--磁盘管理
linux采用一种载入的处理方式,整个文件系统以文件树的结构存在,一个分区和一个目录联系一起(挂载)。
查看所有设备挂载情况
lsblk
查看所有设备挂载情况,-f
更加详细(有fs格式、40位uuid唯一标识符 )
关于磁盘:
scsi硬盘:标识是sdx~,如:sda1、sda2、sda3 ... sdb ... sdc ...
ide硬盘:标识是hdx~
为电脑增加一块硬盘的步骤
① 添加硬盘
② 分区
使用fdisk
分区命令
fdisk 常用选项 | 说明 |
---|---|
m | 显示命令列表 |
p | 显示磁盘分区,同fdisk -l |
n | 新增分区 |
d | 删除分区 |
w | 写入并推出 |
q | 退出不保存 |
分区步骤
- 使用命令,指定要分区的设备:fdisk /dev/sdb
[root@rH7-1 lczmx]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x30a50703 创建新的 DOS 磁盘标签。
- 输入
m
:显示帮助(不看也行)
命令(输入 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)
- 开始分区输入
n
:创建分区
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
- 新增分区选择
p
:分区类型为主分区(根据自己的需要来)
Select (default p): p
- 选择分区号(默认就好)
分区号 (1-4,默认 1):1
- 选择起始扇区(默认就好)
起始 扇区 (2048-2097151,默认为 2048):
将使用默认值 2048
- 选择此分区的大小 KMG(如: +20G)(要分多个分区的话,记得留点)
Last 扇区, +扇区 or +size{K,M,G} (2048-2097151,默认为 2097151):+200M
分区 2 已设置为 Linux 类型,大小设为 200 MiB
这里我多分了一个区,没有需求的可以直接第八步
命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p
分区号 (2-4,默认 2):
起始 扇区 (411648-2097151,默认为 411648):
将使用默认值 411648
Last 扇区, +扇区 or +size{K,M,G} (411648-2097151,默认为 2097151):
将使用默认值 2097151
分区 2 已设置为 Linux 类型,大小设为 823 MiB
- w:写入分区退出(若不保存则输入q)
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
- 查看分区结果
分区前
[lczmx@rH7-1 ~]$ 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 17G 0 part /
└─sda3 8:3 0 2G 0 part [SWAP]
sdb 8:16 0 1G 0 disk
sr0 11:0 1 1024M 0 rom
分区后
[root@rH7-1 lczmx]# 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 17G 0 part /
└─sda3 8:3 0 2G 0 part [SWAP]
sdb 8:16 0 1G 0 disk
├─sdb1 8:17 0 200M 0 part
└─sdb2 8:18 0 823M 0 part
sr0 11:0 1 1024M 0 rom
③ 格式化
未格式化过的分区是不可以使用的,可以通过lsblk -f
命令查看是否已经格式化。(有UUID就证明已经格式化过了)
[root@rH7-1 lczmx]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 ecc17b31-f225-4ac5-b7bd-c5017fa2f224 /boot
├─sda2 ext4 db36ba76-89c8-4593-8b24-580e2dbfa18d /
└─sda3 swap f843c352-ca65-457d-b2f9-c64e89e22a58 [SWAP]
sdb
├─sdb1
└─sdb2
sr0
假如没有格式化的话,需要使用格式化命令: mkfs -t 文件系统类型 分区
,如:mkfs -t ext4 /dev/sdb1
开始格式化
[root@rH7-1 lczmx]# mkfs -t ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
......
......
[root@rH7-1 lczmx]# mkfs -t ext4 /dev/sdb2
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
......
......
再次查看
[root@rH7-1 lczmx]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext4 ecc17b31-f225-4ac5-b7bd-c5017fa2f224 /boot
├─sda2 ext4 db36ba76-89c8-4593-8b24-580e2dbfa18d /
└─sda3 swap f843c352-ca65-457d-b2f9-c64e89e22a58 [SWAP]
sdb
├─sdb1 ext4 1371bca2-d95c-48ec-84e4-0c1483e175fd
└─sdb2 ext4 c4ec0a6a-8af7-46c5-921e-fa6a37fcac38
④ 挂载
挂载就是给目录与分区建立联系,挂载后目录就相当于是分区的大门了。
挂载有两个步骤:
第一步:确定挂载点,可以创建 一个目录,也可以选择已有的。
第二步:输入命令: mount 设备名称 挂载目录
,如:mount /dev/sdb1 /mydisk
要卸载的话使用:umount /dev/sdb1 /mydisk
或者 umount /mydisk
注意:使用命令行的方式进性挂载,重启后失效!!
⑤ 设置自动挂载
上面已经说了,使用mount命令挂载在电脑重启后会失效,为了解决这个问题,可以通过修改/etc/fstab
这个文件来实现永久挂载。
先看一看这个文件的内容:
[lczmx@rH7-1 ~]$ cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sat Nov 28 19:57:23 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=db36ba76-89c8-4593-8b24-580e2dbfa18d / ext4 defaults 1 1
UUID=ecc17b31-f225-4ac5-b7bd-c5017fa2f224 /boot ext4 defaults 1 2
UUID=f843c352-ca65-457d-b2f9-c64e89e22a58 swap swap defaults 0 0
这个文件配置是有一定的格式的,所以下面讲解一下格式
fstab输入格式详解:
UUID=db36ba76-89c8-4593-8b24-580e2dbfa18d | / | ext4 | defaults | 1 | 1 |
---|---|---|---|---|---|
UUID:分区的UUID(也可以/dev/sdb1 这种形式) |
挂载点 | 文件系统格式 | 文件系统的参数 | 能否被dump备份命令作用 | 是否检验扇区 |
-
文件系统的参数
- Async/sync: 设置是否为同步方式运行,默认为async
- auto/noauto : 当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto
- rw/ro : 是否以以只读或者读写模式挂载
- exec/noexec: 限制此文件系统内是否能够进行"执行"的操作
- user/nouser: 是否允许用户使用mount命令挂载
- suid/nosuid: 是否允许SUID的存在
- Usrquota: 启动文件系统支持磁盘配额模式
- Grpquota: 启动文件系统对群组磁盘配额模式的支持
- Defaults: 同事具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置
-
能否被dump备份命令作用
- 0: 代表不要做dump备份
- 1: 代表要每天进行dump的操作
- 2: 代表不定日期的进行dump操作
-
是否检验扇区
开机的过程中,系统默认会以fsck检验我们系统是否为完整- 0: 不要检验
- 1: 最早检验(一般根目录会选择)
- 2: 1级别检验完成之后进行检验
根据上述的解释,写入自己的配置,保存退出。添加完成后,执行mount -a
立即生效
磁盘情况查询
命令 | 说明 | 备注 |
---|---|---|
df -h |
查循系统整体磁盘使用情况 | |
du -h 目录 |
查询指定目录的磁盘占用情况,默认当前目录 | -s 指定目录占用大小;-h 带计量单位;-a 含文件;--max-depth=1 子目录深度;-c 列出明细的同时,增加汇总值 |
磁盘情况工作实用指令
- 统计某个目录下有多少个文件
ls -l | grep "^-" | wc -l
- 统计某个目录下有多少个文件(包括子文件夹的)
ls -lR | grep "^-" | wc -l
- 树状结构查看目录
tree 目录
本文来自博客园,作者:403·Forbidden,转载请注明原文链接:https://www.cnblogs.com/lczmx/p/14248569.html