centos7查看磁盘空间

一,df(disk free 的缩写)命令

df 命令可以让你查看所有已挂载磁盘的使用情况:

 

 输出的列依次表示:

  • 设备的设备文件位置;
  • 能容纳多少个 1024 字节大小的块;
  • 已用了多少个 1024 字节大小的块;
  • 还有多少个 1024 字节大小的块可用;
  • 已用空间所占的比例;
  • 设备挂载到了哪个挂载点上。

df 命令还可以使用-h选项,把输出中的磁盘空间按易读形式显示,通常会显示成 M,G,T 等。

二,du(disk usage 的缩写)命令

通过 df 命令很容易发现哪个磁盘的存储空间快没了。du 命令可以显示某个特定目录(默认情况下是当前目录)下所有的文件、目录和子目录的磁盘使用情况,它会以磁盘块为单位来表明每个文件或目录占用了多大存储空间。这一方法可用来快速判断系统上某个目录下是不是有超大文件。

du 命令可以使用如下几个选项来让输出更有意义:

  • -c:显示所有已列出文件总的大小。
  • -h:按用户易读的格式输出大小,即用 K 替代千字节,用 M 替代兆字节,用 G 替代吉字节。
  • -s:显示每个输出选项的总计。

如下命令展示了当前目录下最大的 20 个目录/文件:

du -c | sort -nr | head -20

 

 du -c显示文件/目录的总大小,sort -nr表示按数字大小倒序排列,head -20表示显示前 20 行。

如下命令列出当前目录所有子文件和子目录的大小:

du -sh *

 

三,lsblk命令可以列出当前机器有哪些块设备文件

上图其中TYPE列是disk的都是磁盘,也就是/dev/sda和/dev/sdb。TYPE是part的是磁盘分区如/dev/sda1,/dev/sda2,/dev/sdb1,挂载一般都是挂载磁盘分区。

四,为什么要将/dev/sdb1挂载到/mnt目录呢?直接cd进入/dev/sdb1目录访问不就可以了吗?

实际上,在 Linux 中,/dev/sdb1 并不是一个普通的目录,而是一个块设备文件,用于表示一个物理分区。块设备文件可以看作是对物理磁盘分区的抽象,是对磁盘分区进行操作的接口。而直接访问块设备文件并不能像访问普通目录一样,是无法直接读写其中的文件的

因此,我们需要将物理磁盘分区挂载到一个目录中,使得操作系统可以通过这个目录来访问分区中的文件。在挂载时,操作系统会将指定的目录与物理分区建立一种映射关系,使得访问这个目录时,就相当于访问物理分区中的文件。

一般来说,我们会将物理分区挂载到一个空目录中,以免覆盖已有的文件或目录。/mnt 目录是一个常用的挂载点,用于挂载临时的文件系统或磁盘分区。因此,在上面的疑问中,我们将 /dev/sdb1 分区挂载到了 /mnt 目录中,使得我们可以通过访问 /mnt 目录来访问 /dev/sdb1 分区中的文件。

五,如何挂载磁盘分区?以下步骤供参考:

1,创建 /mnt/mydisk 目录,并将该目录的拥有者设置为当前用户。

sudo mkdir /mnt/mydisk
sudo chown $USER:$USER /mnt/mydisk

2,将分区挂载到 /mnt/mydisk 目录中。

sudo mount /dev/sdb1 /mnt/mydisk

3,检查挂载是否成功,并验证 /mnt/mydisk 目录的权限。

df -h /mnt/mydisk    # 检查挂载是否成功
ls -l /mnt/mydisk    # 查看挂载点目录权限

通常情况下,Linux 文件系统会自动设置挂载点的权限,以确保挂载点的拥有者和其他用户可以访问挂载的文件系统。如果需要手动设置权限,可以使用 chmod 命令来修改目录的权限。例如,可以使用以下命令将 /mnt/mydisk 目录的权限设置为 755

sudo chmod 755 /mnt/mydisk

六,磁盘一定要分区后才可以进行挂载吗?

不是所有的磁盘都需要分区才能进行挂载,但是大多数情况下,我们需要对磁盘进行分区后才能进行挂载。这是因为在Linux中,文件系统是必须要被挂载到一个块设备上才能被访问的,而磁盘本身并没有文件系统。因此,我们需要在磁盘上创建分区,然后在分区上创建文件系统,最后才能将文件系统挂载到文件系统树中的某个目录下。

然而,有些特殊情况下,可以直接将磁盘作为块设备进行挂载。比如,对于一些用于备份和归档的大容量磁盘,可能不需要分区就可以直接挂载。但这种情况下一般会在磁盘上创建一个文件系统来存储数据。所以,是否需要分区取决于具体的情况。

七,文件系统和块设备之间是什么关系?

文件系统和块设备之间存在着一种映射关系,可以认为就是软件和硬件的关系。

块设备是一种特殊的设备,提供了对数据块的随机访问,通常对应于磁盘、分区或者RAID组等。而文件系统则是对块设备上数据的组织方式和访问规则的描述,是一个管理和操作块设备数据的抽象层。文件系统将块设备的物理存储结构组织成逻辑上的文件和目录等,提供了一系列读写和管理文件的操作。

当一个块设备需要被使用时,需要先在其上创建文件系统,以便在文件系统中进行读写操作。在Linux系统中,可以使用mkfs命令来创建文件系统,常用的文件系统有ext2/ext3/ext4、XFS、NTFS等。创建完文件系统后,需要将文件系统挂载到一个目录上,以便用户可以通过这个目录访问块设备上的数据。

八,磁盘分区和挂载的步骤,以下供参考:

  1. 确认要分区的磁盘,可以使用 fdisk -l 命令来查看系统上的磁盘列表和分区信息,sudo blkid命令可以查看文件系统类型。

  2. 可以使用 fdisk 命令对磁盘进行分区。请注意,这将会删除磁盘上的所有数据,请谨慎操作。例如,以下命令将磁盘 /dev/sdb 分区为一个大小为 10GB 的分区 /dev/sdb1:
    fdisk /dev/sdb

    按下 n 键创建一个新分区,然后按照提示设置分区大小和类型等信息。最后按下 w 键保存更改。

  3. 格式化新分区,例如:
    mkfs.ext4 /dev/sdb1
  4. 创建挂载点并将分区挂载到该挂载点:
    mkdir /mnt/mydisk
    mount /dev/sdb1 /mnt/mydisk
  5. 检查是否成功挂载:
    df -h
posted @ 2022-04-25 10:22  透明飞起来了  阅读(5455)  评论(0编辑  收藏  举报