【Linux硬盘】命令与实践

之前的那篇博客主要讲解了硬盘的理论知识(虽然贴上了Linux的标签,其实和Linux关系不大)。现在我们就把需求和实践相结合。在联系中掌握各种Linux的磁盘命令。

一.  查看磁盘的使用量

查看磁盘使用量的两个命令为du(disk usage)和df(disk free)。

du的作用是查看各种文件所占空间之和。

df的作用是查看文件系统所用的磁盘使用量。

两者的差别据说还上过阿里的考试题过,这里总结一下(首先要知道df测出来的磁盘使用率要高于du,这是因为):

  1. df还会统计文件系统各种表的大小。
  2. 当文件被删除时,虽然文件已经从目录树中移除,但这并不意味着文件的资源已经被OS所释放——比如远程还有进程持有该文件的句柄,那么显然这个文件并不会马上从硬盘中消失。这也将导致df测出来的内存使用量偏高。

二者的通常的使用方法(带命令行参数):

df -h     # 按照human-readable的格式显示
du -s     # 仅列出总量,而不列出每个个别的目录占用的容量

二. 观察文件的分区状态

  1. lsblk: 以树状图的形式打印出所有设备上的分区及格式化后的文件系统。最有用和最简单的方式来了解新插入的USB设备的名字
  2. blkid:正如它名字所暗示的,这个可以列出所有设备的uuid和文件系统的type。
  3. parted ... print: 通过指定特定的设备,我们可以以human-readable的形式查看该设备上的详细分区信息。

三. 分区-->格式化-->检验-->挂载

·分区

注意MBR分区表采用的是fdisk来分区,而GPT采用的是gdisk来分区;以后都用gdisk好了。

像gdisk这种命令现在都特别智能,主要体现在:

  1. 很多参数都不需要直接指定,使用默认值完全够了。
  2. 在分区的时候没必要使用区块的参数进行分区,指定你所需要的内存也可进行分区。(这里就不能用默认值了,不然用光)

这里就不具体展开了。

·格式化

格式化的操作也很简单——mkfs.ext4 device_name

如果你不想使用ext4文件系统的话,可以在shell中mkfs+[tab]查看有哪些文件系统的格式化命令。

·检验

当初学的时候感觉蛮麻烦的,现在来看怎么这么方便。。

如果是ext4文件系统的话,利用fsck.ext4 device_name就行了。

值得注意的是,这个命令其实很危险,一般只有身为root,且你的文件系统有问题的时候才使用这个命令。

不然可能造成文件系统的改变。

最好在挂载前检验或者是即将要卸载的时候进行检验。

·挂载

挂载命令mount有好几种不同的形式,最好的形式是使用UUID来进行指定。

mount UUID="..." mount_point

至于查看UUID可以通过之前讲到的blkid命令来寻找。

如果是可移除设备的话,可以通过umount命令来卸载,格式更为简单:

umount device_name

关于挂载还有几点值得说的:

那就是不要挂载到非空的目录,不然原来目录下的东西都会消失不见(不过umount以后又会出现)

四. 设置启动(自动)挂载

每次重新启动我们都需要重新手动挂载,有没有一种方式可以让我们系统在启动的时候自动地帮我们挂载呢?当然有。

不过这个和命令的关系就不那么大了,只能通过修改/etc/fstab来实现。这个东西还蛮重要的,这里介绍一下。

这几个字段的意义都写在注释中,这里还是介绍一下:

字段含义
filesystem设备文件名/UUID/LABEL name
mount point挂载点,内容上表现出的是文件目录
type文件系统的种类
option文件系统参数
dump备份,这里设为0即可
pass是否允许一段时间用fsck检查扇区

讲到这里就可以完全给出挂载的全部步骤了:

  1. 利用blkid查看文件的UUID。
  2. 有必要的话,通过mkdir来新建挂载目录。
  3. 最后使用上述mount命令来进行挂载。
  4. (可选)通过修改/etc/fstab来让系统启动时自动挂载

五. 设置为loop挂载

在很久之前镜像文件必须刻录到CD/DVD上才可使用,不过现在有各种各样的虚拟光驱软件可以读取其中的内容。

这里要介绍的不是所谓的虚拟光驱软件,Linux本身可以通过loop挂载这些镜像文件

# 通过下面这行代码可以挂载到loop
mount -o loop UUID="" mount_point

这里可以讲一下什么是镜像文件

其实和rar ZIP压缩包类似,它将特定的一系列文件按照一定的格式制作成单一的文件。它含有比压缩包更多的信息——比如系统文件等。其实,镜像文件就是光盘的“提取物”。

六. 创建内存交换分区swap

内存交换分区存在的意义就在于物理内存实在是太少了,为了扩大内存,我们可以用磁盘的部分容量模拟内存。

不过现在在桌面版的Linux中,这东西几乎没用了,因为现在主机的内存实在是太大了。

当然了,针对服务器和工作站,这东西还是必须要存在滴。

目前有两个方法能建立交换分区:

(1)使用物理分区

创建分区还是那几个步骤:gdisk分区-->mkswap格式化分区-->利用swapon来启动分区-->使用free或swapon -s来查看

(2)直接创建内存交换文件

这个就比较特殊了,想不到可以直接利用dd,然后mkswap格式化文件,如果不想使用就用swapoff关闭swap file

总结一下,反正就这三个命令:

  1. mkswap 设备名或文件名——格式化分区或格式化文件。
  2. swapon 设备名或文件名——启动分区或文件
  3. swapoff 文件名 分区——关闭swap file
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值