Linux磁盘系统——管理磁盘的命令

摘要:本文主要学习了Linux系统中管理磁盘的命令,包括查看磁盘使用情况、磁盘挂载相关、磁盘分区相关、磁盘格式化等操作。

df命令

df命令用于显示Linux系统中各文件系统的硬盘使用情况,包括文件系统所在硬盘分区的总容量、已使用的容量、剩余容量等。

/dev/shm为内存挂载点,如果你想把文件放到内存里,就可以放到/dev/shm/目录下。

基本语法

 df [选项] 目录或文件

选项说明

 -a:显示所有文件系统信息,包括系统特有的/proc、/sysfs等文件系统。
-k:以KB为单位显示容量,默认。
-m:以MB为单位显示容量。
-h:使用人们习惯的KB、MB或GB等单位自行显示容量。
-H:以M=1000K取代M=1024K的进位方式显示容量。
-T:显示该分区的文件系统名称(例如xfs)。
-i:不用硬盘容量显示,而是以含有inode的数量来显示。

使用举例

 [root@localhost /]# df -hiT
文件系统 类型 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/mapper/centos-root xfs 17M 28K 17M % /
devtmpfs devtmpfs 120K 120K % /dev
tmpfs tmpfs 123K 123K % /dev/shm
tmpfs tmpfs 123K 122K % /run
tmpfs tmpfs 123K 123K % /sys/fs/cgroup
/dev/sda2 xfs 700K 700K % /boot
tmpfs tmpfs 123K 123K % /run/user/
[root@localhost /]#

du命令

du命令是统计目录或文件所占磁盘空间大小的命令。

基本语法

 du [选项] 目录或文件

选项说明

 -a:显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量。
-h:使用习惯单位显示磁盘占用量,如KB、MB或GB等。
-s:统计总磁盘占用量,而不列出子目录和子文件的磁盘占用量。

使用举例

 [root@localhost ~]# du -sh /
du: 无法访问"/proc/3628/task/3628/fd/4": 没有那个文件或目录
du: 无法访问"/proc/3628/task/3628/fdinfo/4": 没有那个文件或目录
du: 无法访问"/proc/3628/fd/4": 没有那个文件或目录
du: 无法访问"/proc/3628/fdinfo/4": 没有那个文件或目录
.1G /
[root@localhost ~]#

mount命令

mount挂载命令是用来将硬件设备的文件系统和Linux系统中的文件系统,通过指定目录(作为挂载点)进行关联。

基本语法

显示已挂载设备:

 mount [选项]

挂载设备:

 mount [选项] 设备文件名 挂载点

选项说明

 -a:显示出系统中已挂载的设备信息。
-l:额外显示出卷标名称。
-t 系统类型:指定欲挂载的文件系统类型。Linux常见的支持类型有xfs、ext2、ext3、ext4、iso9660、fat、vfat等。如果不指定具体类型,挂载时Linux会自动检测。
-L 卷标名:除了使用设备文件名之外,还可以利用文件系统的卷标名称进行挂载。
-n:在默认情况下,系统会将实际挂载的情况实时写入/etc/mtab文件中,但在某些场景下(例如单人维护模式),为了避免出现问题,会刻意不写入,此时就需要使用这个选项。
-o 特殊选项:可以指定挂载的额外选项,比如读写权限、同步/异步等,如果不指定,则使用默认值(defaults)。具体的特殊选项:
rw/ro:是否对挂载的文件系统拥有读写权限,rw为默认值,表示拥有读写权限。ro表示只读权限。
async/sync:此文件系统是否使用同步写入(sync)或异步(async)的内存机制,默认为异步async。
dev/nodev:是否允许从该文件系统的block文件中提取数据,为了保证数据安装,默认是nodev。
auto/noauto:是否允许此文件系统被以mount -a的方式进行自动挂载,默认是auto。
suid/nosuid:设定文件系统是否拥有SetUID和SetGID权限,默认是拥有。
exec/noexec:设定在文件系统中是否允许执行可执行文件,默认是允许。
user/nouser:设定此文件系统是否允许让普通用户使用mount执行实现挂载,默认是不允许(nouser),仅有root可以。
defaults:定义默认值,相当于rw、suid、dev、exec、auto、nouser、async这7个选项。
remount:重新挂载已挂载的文件系统,一般用于指定修改特殊权限。

umount命令

umount命令用于卸载已经挂载的硬件设备。

基本语法

 umount 设备文件名或挂载点

lsblk命令

lsblk命令用来列出所有可用块设备的信息,但是,它不会列出RAM盘的信息。

基本语法

 lsblk [选项] 设备名称

选项说明

 -d:仅列出磁盘本身,并不会列出该磁盘的分区信息。
-f:同时列出该磁盘内的文件系统名称。
-i:使用ASCII的字符输出,不要使用使用复杂的编码(在某些环境下有用)。
-m:同时输出该设备在/dev下面的权限信息(rwx的数据)。
-p:列出该设备的完整文件名(因为不加这个选项,显示的是最后的名字)。
-t:列出该磁盘设备的详细数据,包括磁盘列阵机制、预读写的数据量大小等。

使用举例

 [root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda : 20G disk
├─sda1 : 2M part
├─sda2 : 700M part /boot
└─sda3 : 19G part
├─centos-root : 17G lvm /
└─centos-swap : 2G lvm [SWAP]
sr0 : 4G rom
[root@localhost ~]#

结果说明

 NAME:这是块设备名。
MAJ:MIN:显示主要和次要设备号。
RM:显示设备是否可移动设备。RM值为0说明是不可移动设备,RM值等于1说明是可移动设备。
SIZE:列出设备的容量大小信息。
RO:该项表明设备是否为只读。RO值为0说明不是只读,RO值为1说明是只读。
TYPE:显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。
MOUNTPOINT:指出设备挂载的挂载点。

blkid命令

blkid命令可以列出文件系统名称与设备的UUID等数据。

UUID是全局唯一标识符(universally unique identifier)。Linux会将系统内所有的设备给予一个独一无二的标识符,可以拿来作为挂载或是使用这个设备或文件系统。

基本语法

 blkid 设备文件名

使用举例

 [root@localhost ~]# blkid
/dev/sr0: UUID="2015-12-09-23-14-10-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/sda2: UUID="8ea9a0fe-8856-4c0e-9d8e-4d676aefb33e" TYPE="xfs"
/dev/sda3: UUID="yasEyq-jfRF-pMZp-eoeK-fkXu-ouuS-Y46Op2" TYPE="LVM2_member"
/dev/mapper/centos-root: UUID="eee2ef01-d9fd-4357-9c82-4578ad4d4060" TYPE="xfs"
/dev/mapper/centos-swap: UUID="aa4242d0-542f-4512-b475-a91b1bc6c354" TYPE="swap"
[root@localhost ~]#

parted命令

parted命令可用于查看磁盘的分区状态,还可以用于磁盘的分区/删除,以及磁盘分区表的类型转换(可以实现,但是不建议做,十分危险)。

基本语法

 parted 设备文件名 [选项]

选项说明

 print:打印磁盘分区信息。
mkpart [primary|logical|extended] [ext4|vfat|xfs] 分区开始内存处 分区结束内存处:新增分区。
rm 分区号码:删除分区。
mklabel 分区表格式:磁盘分区表的类型转换,常用的有msdos和gpt分区表格式,msdos不支持2TB以上容量的磁盘,所以大于2TB的磁盘选gpt分区表格式。

使用举例

 [root@localhost ~]# parted /dev/sda print
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sda: .5GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: Number Start End Size Type File system 标志
1049kB 3146kB 2097kB primary
3146kB 737MB 734MB primary xfs 启动
737MB .1GB .4GB primary lvm [root@localhost ~]#

结果说明

 Model:磁盘的模板名称(厂商)。
Disk:磁盘的总容量。
Sector size:磁盘的每个逻辑/物理扇区的大小。
Partition Table:分区表的格式(MBR/GPT)。
最后一排:分区的数据。

partprobe命令

partprobe命令可以使kernel重新读取分区表。

基本语法

 partprobe [选项]

选项说明

 -s:显示摘要和分区信息。

fdisk命令

fdisk命令用于MBR分区表格式磁盘的分区或查询。

基本语法

 fdisk 设备文件名

gdisk命令

gdisk命令用于GPT分区表格式磁盘的分区或查询。

基本语法

 gdisk 设备文件名

mkfs命令

mkfs命令可以对硬盘分区进行格式化。

基本语法

 mkfs [选项] 分区设备文件名

选项说明

 -t 文件系统格式:用于指定格式化的文件系统,如ext3、ext4、xfs等。

mke2fs命令

mke2fs命令可以在为硬盘分区写入文件系统时,手动调整分区的默认参数。

基本语法

 mke2fs [选项] 分区设备文件名

选项说明

 -t 文件系统:指定格式化成哪个文件系统。
-b 字节:指定block的大小。
-i 字节:指定字节inode的比例,也就是多少字节分配一个inode。
-L 卷标名:给文件系统设置卷标名。
-j:建立带有ext3日志功能的文件系统。

Linux磁盘系统——管理磁盘的命令的更多相关文章

  1. Linux中系统检测工具top命令

    Linux中系统检测工具top命令 本文转自:https://www.cnblogs.com/zhoug2020/p/6336453.html 首先介绍top中一些字段的含义: VIRT:virtua ...

  2. Linux查看系统版本号及关机命令各种方法归纳

    shutdown -h now 立即关机halt 立即关机init 0 立即关机poweroff 立即关机shutdown -r now 重启reboot 重启logout 注销su - 命令切换身份 ...

  3. 在Linux/Unix系统下用iconv命令处理文本文件中文乱码问题

    iconv命令是运行于linux/unix平台的文件编码装换工具.当我们在linux/unix系统shell查看文本文件时,常常会发现文件的中文是乱码的,这是由于文本文件的编码与当前操作系统设置的编码 ...

  4. Linux(centos)系统导出数据库文件命令

    mysqldump -uroot -p test > /test.sql -uroot 其中的root是数据库的用户名 test是要导出的数据库名字 test.sql 是要导出的数据库文件名字, ...

  5. [Linux] killall 、kill 、pkill 命令详解

    killall 命令 Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name).我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀 ...

  6. Linux系统的磁盘管理

    Linux系统的磁盘管理有三个命令:df.du.fdisk. df:列出Linux中所有文件系统的整体磁盘使用量: du:对文件和目录所占用磁盘空间的查看: fdisk:用于磁盘分区时列出所有的磁盘. ...

  7. Linux fdisk命令参数及用法详解---Linux磁盘分区管理命令fdisk

    fdisk 命令 linux磁盘分区管理 用途:观察硬盘之实体使用情形与分割硬盘用. 使用方法: 一.在 console 上输入 fdisk -l /dev/sda ,观察硬盘之实体使用情形. 二.在 ...

  8. Linux系统查看磁盘可用空间的5个命令

    大家好,我是良许. 工作中,经常会遇到磁盘爆满的情况,尤其是一台服务器运行了 N 年之后,里面会充满各种各样垃圾文件,比如:编译产生的中间文件.打包的镜像文件.日志文件,等等. 别问我怎么知道,我上家 ...

  9. Linux下监控磁盘空间的四个命令

    无论是运行简单的Linux桌面还是大型Linux服务器,都需要了解可供应用程序使用的空间,并跟踪系统的磁盘使用情况.下面介绍四个核心命令行命令来管理Linux系统上的介质环境. 一.mount命令 m ...

随机推荐

  1. Add a Class from the Business Class Library 从业务类库添加类 (XPO)

    In this lesson, you will learn how to use business classes from the Business Class Library as is. Fo ...

  2. Javase之object类的概述

    object类的概述 object类是类层次结构的根类,每个类都使用object作为超类. 即每个类都直接或间接的继承object类. object类中方法介绍 hashCode public int ...

  3. springcloud vue 微服务分布式 activiti工作流 前后分离 集成代码生成器 shiro权限

    1.代码生成器: [正反双向](单表.主表.明细表.树形表,快速开发利器)freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本.处理类.service等完整模块2. ...

  4. 仓库管理移动应用解决方案——C#开发的移动应用开源解决方案

    产品简介 SmoWMS是一款仓库管理移动解决方案,通过Smobiler平台开发,包含了仓库管理中基础的入库.出库.订单管理.调拨.盘点.报表等功能.支持扫码条码扫描.RFID扫描等仓库中常见的场景. ...

  5. Excel 扩展编程相关

    ============================产品分析============================Excel Automation Tools (Best of List)htt ...

  6. elasticsearch的window的安装和启动

    1.下载elasticserch的window和kibana的安装包 2.解压 进入elasticseach的bin目录下elasticsearch.bat  启动页面localhost:9200 3 ...

  7. redis删除策略

    redis 设置过期时间 Redis 中有个设置时间过期的功能,即对存储在 redis 数据库中的值可以设置一个过期时间.作为一个缓存数据库,这是非常实用的.如我们一般项目中的 token 或者一些登 ...

  8. Vue生命周期钩子---3

    vue生命周期流程图:4张图 : 生命周期的解析和应用: Vue 实例有一个完整的生命周期,也就是从开始创建.初始化数据.编译模板.挂载Dom→渲染.更新→渲染.卸载等一系列过程,我们称这是 Vue ...

  9. c# WF 第6节 MDI窗体

    本节内容: 1:SDI 窗体是什么 2: MDI 窗体是什么 3:如何创建MDI窗体 1:SDI 窗体是什么 SDI 窗体 : single-document interface 单一的窗体:上篇的启 ...

  10. 201871010111-刘佳华《面向对象程序设计(java)》第6-7周学习总结

    201871010111-刘佳华<面向对象程序设计(java)>第6-7周学习总结 实验六 继承定义与使用 实验时间 2019-9-29 第一部分:理论部分. 1.继承:已有类来构建新类的 ...