Linux磁盘管理

一、磁盘管理

Linux 磁盘管理好坏直接关系到整个系统的性能问题。

Linux 磁盘管理常用的三个命令为 dfdufdisk

  • df(英文全称:disk full):列出文件系统的整体磁盘使用量
  • du(英文全称:disk used):检查磁盘空间使用量
  • fdisk:用于磁盘分区,可以分区2TB以下的磁盘,最多可以分4个分区

除了fdisk可以用于磁盘分区,还可以使用gdisk进行分区:该方式使用规则与fdisk相同,但需要下载才能使用,可以分区2TB以上的磁盘,最多可以分128个分区。

df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

语法格式:

df [-ahikHTm] [目录或文件名]

相关参数 参数说明 -a 列出所有的文件系统,包括系统特有的 /proc 等文件系统 -k 以 KBytes 的容量显示各文件系统 -m 以 MBytes 的容量显示各文件系统 -h 以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示 -H 以 M=1000K 取代 M=1024K 的进位方式 -T 显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出 -i 不用硬盘容量,而以 inode 的数量来显示

实例1

列出系统中的所有文件系统:

[En]

List all the file systems in the system:

[root@jiangzhi dev]# df
文件系统                   1K-块    已用     可用 已用% 挂载点
devtmpfs                  485956       0   485956    0% /dev
tmpfs                     497844       0   497844    0% /dev/shm
tmpfs                     497844    7716   490128    2% /run
tmpfs                     497844       0   497844    0% /sys/fs/cgroup
/dev/mapper/centos-root 49254916 3445324 45809592    7% /
/dev/sda1                1038336  203480   834856   20% /boot
tmpfs                      99572       0    99572    0% /run/user/0

在 Linux 中如果 df 没有加任何选项,那么默认会将系统内所有的 (不含特殊内存内的文件系统与 swap) 都以 1 Kbytes 的容量来列出来!

实例2

以易于阅读的容量格式显示容量结果:

[En]

Display the capacity results in an easy-to-read capacity format:

[root@jiangzhi dev]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 475M     0  475M    0% /dev
tmpfs                    487M     0  487M    0% /dev/shm
tmpfs                    487M  7.6M  479M    2% /run
tmpfs                    487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root   47G  3.3G   44G    7% /
/dev/sda1               1014M  199M  816M   20% /boot
tmpfs                     98M     0   98M    0% /run/user/0

实例3

列出系统中的所有特殊文件格式和名称:

[En]

List all special file formats and names in the system:

[root@jiangzhi dev]# df -aT
文件系统                类型          1K-块    已用     可用 已用% 挂载点
sysfs                   sysfs             0       0        0     - /sys
proc                    proc              0       0        0     - /proc
devtmpfs                devtmpfs     485956       0   485956    0% /dev
securityfs              securityfs        0       0        0     - /sys/kernel/security
tmpfs                   tmpfs        497844       0   497844    0% /dev/shm
devpts                  devpts            0       0        0     - /dev/pts
tmpfs                   tmpfs        497844    7684   490160    2% /run
tmpfs                   tmpfs        497844       0   497844    0% /sys/fs/cgroup
cgroup                  cgroup            0       0        0     - /sys/fs/cgroup/systemd
pstore                  pstore            0       0        0     - /sys/fs/pstore
cgroup                  cgroup            0       0        0     - /sys/fs/cgroup/memory
cgroup                  cgroup            0       0        0     - /sys/fs/cgroup/net_cls,net_pr
......后续省略

实例4

将 /etc 下的可用的磁盘容量以易读的容量格式显示

文件系统                 容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root   47G  3.3G   44G    7% /

知识拓展:lsblk命令——查看本机的磁盘

Linux du 命令也是查看使用空间的,但是与 df 命令不同的是 Linux du 命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的,这里介绍 Linux du 命令。

语法格式:

du [-ahskm] 文件或目录名称

相关参数 参数说明 -a 列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已 -h 以人们较易读的容量格式 (G/M) 显示 -s 列出总量而已,而不列出每个各别的目录占用容量 -S 不包括子目录下的总计,与 -s 有点差别 -k 以 KBytes 列出容量显示 -m 以 MBytes 列出容量显示 …

实例1

仅列出当前目录下的所有文件夹容量(包括隐藏文件夹):

[En]

List only all folder capacities under the current directory (including hidden folders):

[root@jiangzhi ~]# du
0       ./jz/juhuachan

直接输入 du 没有加任何选项时,则 du 会分析当前所在目录里的子目录所占用的硬盘空间。

实例2

将文件的容量也列出来:

[root@jiangzhi jz]# du -a
4       ./1.txt
0       ./index
0       ./index3to2
0       ./juhuachan
0       ./juhuachanruanlianjie
4       .

实例3

查看根目录下各目录占用的容量:

[En]

Check the capacity occupied by each directory under the root directory:

[root@www ~]# du -sm /*
7       /bin
6       /boot
.....中间省略....

0       /proc
.....中间省略....

1       /tmp
3859    /usr

与 df 不一样的是,du 这个命令其实会直接到文件系统内去搜寻所有的文件数据。

fdisk 是 Linux 的磁盘分区表操作工具。

语法格式:

fdisk [-l] 装置名称

相关参数 参数说明 -l 输出后面接的装置所有的分区内容。若仅有 fdisk -l 时, 则系统将会把整个系统内能够搜寻到的装置的分区均列出来

实例1

列出所有分区信息:

[root@jiangzhi tmp]# fdisk -l

磁盘 /dev/sda:51.5 GB, 51539607552 字节,100663296 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000c8cdf

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   100663295    49282048   8e  Linux LVM

实例2

在系统中找到根目录所在的磁盘,并查看硬盘上的相关信息:

[En]

Find the disk where the root directory is located in the system, and check the relevant information on the hard disk:

[root@www ~]# df /

输入m后,就会看到底下这些命令介绍:

Command (m for help): m

离开 fdisk 时按下 q,那么所有的动作都不会生效!相反的, 按下 w就是动作生效的意思。

命令(输入 m 获取帮助):p

想要不储存离开吗?按下 q 就对了!不要随便按 w 啊!

使用 p 可以列出目前这颗磁盘的分割表信息,这个信息的上半部在显示整体磁盘的状态。

磁盘分割完毕后自然就是要进行文件系统的格式化,格式化的命令非常的简单,使用 mkfs 命令。

语法格式:

mkfs [-t 文件系统格式] 装置文件名

相关参数 参数说明 -t 可以接文件系统格式,例如 ext3, ext2, vfat 等(系统有支持才会生效)

实例1

查看mkfs支持的文件格式:

[root@jiangzhi ~]# mkfs
mkfs         mkfs.cramfs  mkfs.ext3    mkfs.minix
mkfs.btrfs   mkfs.ext2    mkfs.ext4    mkfs.xfs

按下两个[tab],会发现 mkfs 支持的文件格式如上所示。

实例2:

将分区 /dev/hdc6(可指定你自己的分区) 格式化为 ext3 文件系统:

[root@www ~]# mkfs -t ext3 /dev/hdc6
mke2fs 1.39 (29-May-2006)
Filesystem label=

上述命令方式也可以写成:mkfs.ext3 /dev/hdc6

fsck(file system check)用来检查和维护不一致的文件系统。

若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。

语法格式:

fsck [-t 文件系统] [-ACay] 装置名称

相关参数 参数说明 -t 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数 -A 对/etc/fstab 中所有列出来的 分区(partition)做检查 -C 显示完整的检查进度 -a 如果检查有错则自动修复 -y 选项指定检测每个文件是自动输入yes,在不确定那些是不正常的时候,可以执行 # fsck -y 全部检查修复 …

实例1

查看系统有多少文件系统支持的fsck命令:

[root@jiangzhi ~]# fsck
fsck         fsck.cramfs  fsck.ext3    fsck.minix
fsck.btrfs   fsck.ext2    fsck.ext4    fsck.xfs

实例2

强制检测 /dev/hdc6 分区:

[root@www ~]# fsck -C -f -t ext3 /dev/hdc6
fsck 1.39 (29-May-2006)
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
vbird_logical: 11/251968 files (9.1% non-contiguous), 36926/1004046 blocks

如果没有加上 -f 的选项,则由于这个文件系统不曾出现问题,检查的经过非常快速!若加上 -f 强制检查,才会一项一项的显示过程。

Linux 的磁盘挂载使用 mount 命令,卸载使用 umount 命令。

磁盘挂载语法格式:

mount ...  装置文件名  挂载点

用默认的方式,将刚刚创建的 /dev/hdc6 挂载到 /mnt/hdc6 上面:

[root@www ~]# mkdir /mnt/hdc6
[root@www ~]# mount /dev/hdc6 /mnt/hdc6
[root@www ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
.....中间省略.....

/dev/hdc6              1976312     42072   1833836   3% /mnt/hdc6

磁盘卸载命令 umount 语法:

umount [-fn] 装置文件名或挂载点

相关参数 参数说明 -f 强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下 -n 不升级 /etc/mtab 情况下卸除

卸载 /dev/hdc6:

[root@www ~]# umount /dev/hdc6

二、挂载磁盘步骤总结

1、关机
2、添加硬盘
3、创建分区
    fdisk /dev/sdb
    或
    gdisk /dev/sdb
4、格式化文件系统
    mkfs.xfs /dev/sdb1
5、挂载
    mount /dev/sdb1 /mnt

Original: https://www.cnblogs.com/JZjuechen/p/15720436.html
Author: JZEason
Title: Linux磁盘管理

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/524260/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • MS17-010永恒之蓝漏洞利用

    MS17-010永恒之蓝漏洞利用 原理 永恒之蓝漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码。SMB服务在Win…

    Linux 2023年6月14日
    087
  • Snap Build Your Own Blocks输入中文解决办法

    Snap Build Your Own Blocks 输入中文解决办法 Snap! (formerly BYOB) is a visual, drag-and-drop progr…

    Linux 2023年6月6日
    093
  • 网络中冗余备份

    冗余备份的重要性 如今社会,网络是各个产业的新的血脉,网络的稳定性至关重要,一旦网络出现故障,导致断网、延迟丢包等很可能会导致生产作业停滞,造成较经济损失,为此冗余备份至关重要,从…

    Linux 2023年6月6日
    0123
  • 大厂们的 redis 集群方案

    redis 集群方案主要有两类,一是使用类 codis 的架构,按组划分,实例之间互相独立;另一套是基于官方的 redis cluster 的方案;下面分别聊聊这两种方案; 类 c…

    Linux 2023年5月28日
    091
  • 九、磁盘管理

    (一)磁盘基础知识磁盘–硬盘(机械,固态) 磁盘结构https://www.jianshu.com/p/cf100e39ccdf 扇区、磁道、柱面 扇区默认大小是512…

    Linux 2023年6月7日
    0117
  • Android 图片设置圆角

    Android 开发中,经常需要对图片进行二次处理,比如添加圆角效果 或 显示圆形图片; 通过第三方框架 Glide 设置圆角效果; 写法1: RequestOptions opt…

    Linux 2023年6月13日
    083
  • 阿里云Linux-Centos8安装mysql8

    1. 安装MySQL 依次执行以下&#x…

    Linux 2023年6月14日
    093
  • JavaScript快速入门-02-基本语法

    2 基本语法 2.1 JavaScript简介 JavaScript 是一门 解释型语言,其代码在客户端中执行前不需经过编译,而是直接由浏览器解释执行。主要用作 客户端脚本语言,在…

    Linux 2023年6月7日
    0110
  • linux命令之wget下载

    wget wget 是一个下载文件的工具。 格式 wget [参数] [URL地址] 常用参…

    Linux 2023年5月27日
    086
  • arch安装桌面环境

    arch可以安装图形用户界面需要的软件包有:xorg-server,xorg-xinit,xfce4 xorg是linux桌面环境下的服务程序,xorg-init是启动xorg的客…

    Linux 2023年6月13日
    087
  • powershell 编写的tui界面脚本《电壳别名宝》

    中文名: 《电壳别名宝》 English name: 《Power Alias》 powershell 编写的tui界面脚本。 用途:保存容易记住的别名(支持中文),保存linux…

    Linux 2023年5月27日
    0140
  • MySQL8主从复制

    环境介绍 主服务器配置 修改my.cnf配置文件 在/etc/my.cnf 添加如下信息 登录主服务器给从服务器授权 登陆mysql 创建user授权 备注:rootslave就是…

    Linux 2023年6月14日
    0138
  • Linux网络编程基础API

    Linux网络API主要可分为: socket地址API socket基础API 网络信息API socket地址API 两种字节序 大端字节序:整数的高位字节存储在内存的低地址处…

    Linux 2023年6月13日
    072
  • k8s 常用命令

    查看所有 pod 列表, -n 后跟namespace,查看指定的命名空间 查看 RC 和service 列表,-o wide 查看详细信息 显示 Node 的详细信息 显示 Po…

    Linux 2023年5月27日
    0117
  • Linux系统编程 —线程同步概念

    同步概念 同步,指对在一个系统中所发生的事件之间进行协调,在时间上出现一致性与统一化的现象。 但是,对于不同行业,对于同步的理解略有不同。比如:设备同步,是指在两个设备之间规定一个…

    Linux 2023年6月14日
    096
  • 【数学建模相关】matplotlib画多个子图(散点图为例 左右对照画图)

    @ 例题 例图 代码展示 例题 乙醇偶合制备 C4 烯烃 C4 烯烃广泛应用于化工产品及医药的生产,乙醇是生产制备 C4 烯烃的原料。 在制备过程中,催化剂组合(即:Co 负载量、…

    Linux 2023年6月8日
    0159
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球