Linux | 1. 挂载新硬盘与磁盘管理


如有错误,恳请指出。


1. Ubuntu挂载新硬盘

查看磁盘状态:sudo fdisk -l

1)为新硬盘分区
使用 fdisk 指令对 /dev/sdb 进行分区操作:sudo fdisk /dev/sdb。进入分区工具后,我们可以输入 m 看指令说明,注意这里的分区不要加上数字
在这里插入图片描述

创建新分区,输入 n

Command (m for help): n
>> 
Partition type
  p primary (0, primary, 0 extended, 4free)
  e extended (container for logical partitions)

这里,我们可以给一块硬盘创建最多4个主分区,和若干逻辑分区,由于我们这里只为该硬盘创建一个分区,那么我们即创建一个主分区即可,也就是sdb1(硬盘只创建了一个分区)

Select (default p):p
Partition number (1-4, default 1): 1
Frist sector (2048-4194303, default 2048): 2048
Last sector, *sectors or *size{
    
    K,M,G,T,P} (2048-4194303, default 4194303): 4194303
>> Create a new partition 1 of type 'Linux' and of size 2GiB
Command (m for help):w

创建分区的操作为:

  • p 命令创建一个主分区
  • 选择默认创建第一个分区
  • 设置分区的开始位置
  • 设置分区的结束位置,因为只设置一个分区,因此都选择默认选项
  • w 命令保存分区设置

2)格式化分区
可以使用 mkfs 命令格式化分区,这里格式化为ext4,具体命令如下:sudo mkfs -t ext4 /dev/sdb1

3)挂载分区
临时挂载:在 ~ 目录下创建一个 data 的目录,并将新分区挂载到这里:sudo mount /dev/sdb1 ~/data。使用以上方法挂载分区,重启系统之后,分区并不会自动挂载。所以属于临时挂载
自动挂载:需要修改 /etc/fstab 配置文件。为配置 /etc/fstab ,我们需要先获取硬盘的 uuid:ls -l /dev/disk/by-uuid

ls -l /dev/disk/by-uuid
>> 
lrwxrwxrwx 1 root root 10 Apr 17 11:40 287caa60-faa1-4eed-a3c0-2643afab9913 -> ../../dm-0
lrwxrwxrwx 1 root root 10 Apr 17 11:40 4fed8d9b-8318-4cf5-8380-c8d052d28306 -> ../../dm-1
lrwxrwxrwx 1 root root 10 Apr 17 11:40 54b28c93-c6c0-48e1-9e39-54157c61f519 -> ../../sda1
lrwxrwxrwx 1 root root 10 Apr 17 11:40 ea195de6-725c-4701-98c3-1fa6a44bc102 -> ../../sdb1    # 获得uuid
# 我们因为知道我们的新硬盘是 sdb,因此也可以配合 grep 命令查询
ls -l /dev/disk/by-uuid | grep sdb
lrwxrwxrwx 1 root root 10 Apr 17 11:40 ea195de6-725c-4701-98c3-1fa6a44bc102 -> ../../sdb1

接下来,我们将先备份原有的 /etc/fstab 文件sudo cp /etc/fstab /etc/fstab.bak
然后将以下内容添加到 /etc/fstab 末尾,进行自动挂载设置

# /home/speculatecat/data
UUID=ea195de6-725c-4701-98c3-1fa6a44bc102 /home/speculatecat/data       ext4    defaults        0       2

这里配置的含义如下:

  • UUID 为硬盘分区的 UUID 值
  • 路径 为挂载的目标路径
  • 分区格式 这里一般为 ext4(这是自行格式化分区格式)
  • 挂载参数 一般为默认 defaults
  • 备份 0为不备份, 1为每天备份,2为不定期备份
  • 检测 0为不检测,其他为优先级

4)硬盘异常
如果硬盘被移除,或者硬盘损坏了,配置了 fstab 自动挂载,将会出现不能正常启动情况。这时候可以使用命令行工具,恢复我们备份的 fstab 配置,即可修复完成:cp /etc/fstab.bak /etc/fstab

参考资料:Ubuntu 挂载新硬盘


2. Linux磁盘管理

linux磁盘管理常用的三个命令是:df(查看文件系统磁盘使用量)、dh(查看磁盘空间使用量)、fdisk(用于磁盘分区)

1)df
df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
语法是:df [-ahikHTm] [目录或文件名]
选项与参数:
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i :不用硬盘容量,而以 inode 的数量来显示

常用:df -aT 、df -h

2)du
Linux du 命令是对文件和目录磁盘使用的空间的查看,也就是说du是查看文件占用空间大小的。
语法:du [-ahskm] 文件或目录名称
选项与参数:
-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;

常用:du -sh ./*

3)fdisk
fdisk 是 Linux 的磁盘分区表操作工具,fdisk -l:查看所有分区内容,需要对分区进行设置命令是:fdisk [分区名称],eg:fdisk /dev/hdc
命令介绍:

Command (m for help): m   <== 输入 m 后,就会看到底下这些命令介绍
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition            <==删除一个partition(删除分区)
   l   list known partition types
   m   print this menu
   n   add a new partition           <==新增一个partition(分区设置)
   o   create a new empty DOS partition table
   p   print the partition table     <==输出目前磁盘的状态
   q   quit without saving changes   <==不储存离开fdisk程序
   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)

4)mkfs
磁盘分割完毕后自然就是要进行文件系统的格式化,使用 mkfs(make filesystem) 命令。
语法是:mkfs [-t 文件系统格式] 装置文件名。eg:mkfs -t ext4 /dev/sdb1
选项与参数:

  • -t :可以接文件系统格式,例如 ext4, ext3, ext2, vfat 等(系统有支持才会生效)

测试一:查看 mkfs 支持的文件格式

[root@www ~]# mkfs[tab][tab]        # 输入mkfs然后连续按下两个[tab]
mkfs         mkfs.cramfs  mkfs.ext2    mkfs.ext4    mkfs.minix   mkfs.vfat
mkfs.btrfs   mkfs.exfat   mkfs.ext3    mkfs.fat     mkfs.msdos   mkfs.xfs

测试二:将分区 /dev/hdc6 格式化为 ext3 文件系统

[root@www ~]# mkfs -t ext3 /dev/hdc6

5)fsck
若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。fsck(file system check)用来检查和维护不一致的文件系统。
语法:fsck [-t 文件系统] [-ACay] 分区名称
选项与参数:

  • -t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数
  • -s : 依序一个一个地执行 fsck 的指令来检查
  • -A : 对/etc/fstab 中所有列出来的 分区(partition)做检查
  • -C : 显示完整的检查进度
  • -d : 打印出 e2fsck 的 debug 结果
  • -p : 同时有 -A 条件时,同时有多个 fsck 的检查一起执行
  • -R : 同时有 -A 条件时,省略 / 不检查
  • -V : 详细显示模式
  • -a : 如果检查有错则自动修复
  • -r : 如果检查有错则由使用者回答是否修复
  • -y : 选项指定检测每个文件是自动输入yes,在不确定那些是不正常的时候,可以执行 # fsck -y 全部检查修复
  • -f : 如果文件系统不曾出现问题,检查的经过会非常快速。若加上 -f 强制检查,才会一项一项的显示过程

6)mount / umount
Linux 的磁盘挂载使用 mount 命令,卸载使用 umount 命令
磁盘挂载命令 mount 语法:mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点
磁盘卸载命令 umount 语法:umount [-fn] 装置文件名或挂载点
umount 选项与参数:
-f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下;
-n :不升级 /etc/mtab 情况下卸除

测试一:将刚刚创建的 /dev/hdc6 挂载到 /mnt/hdc6 上

[root@www ~]# mkdir /mnt/hdc6
[root@www ~]# mount /dev/hdc6 /mnt/hdc6

测试二:卸载/dev/hdc6

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

ps:需要注意,这里的挂载只是临时挂载磁盘文件,重启系统之后分区是不会自动挂载的。自动关注需要对 /etc/fstab 文件进行硬盘的 uuid 的写入。

参考资料:https://www.runoob.com/linux/linux-filesystem.html


猜你喜欢

转载自blog.csdn.net/weixin_44751294/article/details/129268930