磁盘和文件系统管理(一)

在这里插入图片描述

前言

Hello,这是一篇介绍磁盘分区管理和创建以及挂载、卸载文件系统的文章,详细罗列了创建xfs、swap分区的代码步骤。如果对你有帮助的话还请点个赞支持一下博主哟,感谢🌹🌹🌹

管理磁盘及分区

fdisk命令

查看或管理磁盘分区

交互模式中的常用指令

  • d delete a partition *****
    删除分区
  • g create a new empty GPT partition table
    创建一个新的空的GPT分区表(可以对大于2T磁盘进行分区)
  • l list known partition types
    列出可以分区的类型???
  • m print this menu
    输出帮助菜单
  • n add a new partition *****
    新建增加一个分区
  • p print the partition table *****
    输出分区的结果信息
  • q quit without saving changes
    不保存退出
  • t change a partition s system id
    改变分区的系统id == 改变分区类型(LVM 增加swap分区大小)
  • u change display/entry units
    改变分区的方式 是否按照扇区进行划分
  • w write table to disk and exit *****
    将分区的信息写入分区表并退出 == 保存分区信息并退出

创建xfs格式分区

[root@localhost ~]# fdisk -l   //查看磁盘分区

[root@localhost ~]# fdisk /dev/sdb   //管理/dev下的sdb磁盘
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xafa5725e 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):m
//各命令作用
	d   delete a partition  *****
        删除分区	
    g   create a new empty GPT partition table
	    创建一个新的空的GPT分区表(可以对大于2T磁盘进行分区)
    l   list known partition types
	    列出可以分区的类型???
    m   print this menu
	    输出帮助菜单
    n   add a new partition  *****
	    新建增加一个分区
    p   print the partition table  *****
	    输出分区的结果信息
    q   quit without saving changes 
	    不保存退出
    t   change a partition s system id
	    改变分区的系统id==改变分区类型(LVM 增加swap分区大小)
    u   change display/entry units
	    改变分区的方式  是否按照扇区进行划分
    w   write table to disk and exit  *****
	    将分区的信息写入分区表并退出==保存分区信息并退出

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):1
命令(输入 m 获取帮助):p  //查看分区结果
命令(输入 m 获取帮助):t   //可以修改分区类型
已选择分区 1
Hex 代码(输入 L 列出所有代码):L    
//查看分区类型对应的代码,默认的83就行
命令(输入 m 获取帮助):w   //保存
[root@localhost ~]# fdisk -l   //再查看磁盘分区
 设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    10485759     5241856   83  Linux
[root@localhost ~]# partprobe /dev/sdb   //让系统可以加载识别分区文件
[root@localhost ~]# mkfs -t xfs /dev/sdb1
//创建文件系统,即格式化硬盘

创建swap格式分区

创建3G的xfs分区,2G的swap分区

[root@localhost /]# fdisk /dev/sdb
命令(输入 m 获取帮助):p
 设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    10485759     5241856   83  Linux
命令(输入 m 获取帮助):d
已选择分区 1
分区 1 已删除
命令(输入 m 获取帮助):p   //可以看到之前的分区没有了

//新建分区
命令(输入 m 获取帮助):n 
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p  //新建主分区
分区号 (1-4,默认 1):1
起始 扇区 (2048-10485759,默认为 2048): //直接敲回车默认
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):+3G   //大小3G
分区 1 已设置为 Linux 类型,大小设为 3 GiB
命令(输入 m 获取帮助):p  //查看分区
设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728   83  Linux

//新建SWAP类型分区
命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): e  //新建拓展分区
分区号 (2-4,默认 2):4
起始 扇区 (6293504-10485759,默认为 6293504):
将使用默认值 6293504
Last 扇区, +扇区 or +size{K,M,G} (6293504-10485759,默认为 10485759):+2G
值超出范围。    
//我的虚拟机硬盘5个G,按道理来说除去3个G还有2个G,但是会报错。因为系统的计算不会特别严谨,可
能也就1.95个G等,这时直接用默认的结束就行
Last 扇区, +扇区 or +size{K,M,G} (6293504-10485759,默认为 10485759):
将使用默认值 10485759
分区 4 已设置为 Extended 类型,大小设为 2 GiB
命令(输入 m 获取帮助):p  //查看分区

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728   83  Linux
/dev/sdb4         6293504    10485759     2096128    5  Extended

//但是拓展分区不能直接拿来用的,要结合逻辑分区才能用,所以接下来还要继续新建逻辑分区
命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)  //还可以创建逻辑分区
Select (default p): l
添加逻辑分区 5
起始 扇区 (6295552-10485759,默认为 6295552):
将使用默认值 6295552
Last 扇区, +扇区 or +size{K,M,G} (6295552-10485759,默认为 10485759):
将使用默认值 10485759
分区 5 已设置为 Linux 类型,大小设为 2 GiB
命令(输入 m 获取帮助):p  //查看分区
设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728   83  Linux
/dev/sdb4         6293504    10485759     2096128    5  Extended
/dev/sdb5         6295552    10485759     2095104   83  Linux

//修改分区类型为swap
命令(输入 m 获取帮助):t  //改变分区的系统id==改变分区类型
分区号 (1,4,5,默认 5):5  //选择sdb5
Hex 代码(输入 L 列出所有代码):82 //也可以用‘L’查看swap对应的代码
已将分区“Linux”的类型更改为“Linux swap / Solaris”

命令(输入 m 获取帮助):p
 设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     6293503     3145728   83  Linux
/dev/sdb4         6293504    10485759     2096128    5  Extended
/dev/sdb5         6295552    10485759     2095104   82  Linux swap / Solaris
//修改成功
命令(输入 m 获取帮助):w  //保存
[root@localhost /]# partprobe /dev/sdb   //让系统可以加载识别分区文件

//格式化硬盘以使用
[root@localhost ~]# mkfs -t xfs -f /dev/sdb1  //xfs格式化
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=196608 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=786432, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# mkswap /dev/sdb5
//swap格式化
正在设置交换空间版本 1,大小 = 2095100 KiB
无标签,UUID=c67be7a8-356e-4d33-a9d0-f870c38105e5
//如果没有像以上出现许多等号的形式,就是没有格式化成功,看看partprobe /dev/sdb是否执行了,
如果还是不能格式化就重启系统再格式化硬盘

管理文件系统

创建文件系统

[root@localhost ~]# mkfs -t xfs /dev/sdb1
[root@localhost ~]# fdisk -l

挂载、卸载文件系统

挂载

//不能直接在/home/下面挂载硬盘,会“挤掉”里面的所有数据导致查看不了,一定要是空目录
[root@localhost ~]# mkdir /sdb
[root@localhost ~]# cd /
[root@localhost /]# ls
bin   dev  home  lib64  mnt  proc  run   sdb     srv  tmp  var
boot  etc  lib   media  opt  root  sbin  server  sys  usr
[root@localhost /]# mount -t xfs /dev/sdb1 /sdb   //xfs格式分区的挂载
[root@localhost ~]# swapon /dev/sdb5   //swap格式分区的挂载

卸载

[root@localhost ~]# umount /sdb
[root@localhost ~]# umount /dev/sdb1
//要退出/sdb目录然后卸载,否则会报错
[root@localhost ~]# cd /
[root@localhost /]# ls
bin   dev  home  lib64  mnt  proc  run   sdb     srv  tmp  var
boot  etc  lib   media  opt  root  sbin  server  sys  usr
//虽然硬盘被卸载了,但目录还在,只是原先写在硬盘里的数据没了,再挂载回来就又有了
//可以通过mount命令查看当前硬盘的挂载情况

这里mount还有个作用就是查看ISO文件里的东西,之前我讲过压缩文件可以tar命令解压缩打开,但.IOS就不行。
文章链接
用mount

mount  -o loop  ISO镜像文件  挂载点目录

设置文件系统的自动挂载

值得注意的是,挂载之后,我们重启系统,用mount命令查看挂载信息时,发现之前挂载的硬盘都没有了,这是因为这只是命令实现的操作

[root@localhost ~]# vim /etc/fstab

在这里插入图片描述
把最后两行添加上去,之后:wq!保存,再reboot重启系统,硬盘就会一直挂载再目录下了

查看磁盘使用情况

df命令
显示文件或目录占用磁盘的比例

df  [选项]  [文件]
[root@localhost ~]# df -hT
文件系统       类型      容量  已用  可用 已用% 挂载点
/dev/sda6      xfs        12G  1.3G   11G   11% /
devtmpfs       devtmpfs  477M     0  477M    0% /dev
tmpfs          tmpfs     488M     0  488M    0% /dev/shm
tmpfs          tmpfs     488M  7.6M  480M    2% /run
tmpfs          tmpfs     488M     0  488M    0% /sys/fs/cgroup
/dev/sdb1      xfs       3.0G   33M  3.0G    2% /tmp
/dev/sda2      xfs       5.0G   33M  5.0G    1% /server
/dev/sda5      xfs      1014M   33M  982M    4% /home
/dev/sr0       iso9660   4.2G  4.2G     0  100% /mnt
/dev/sda1      xfs       197M  102M   96M   52% /boot
tmpfs          tmpfs      98M     0   98M    0% /run/user/0

参数:
-a, --all 包含所有的具有 0 Blocks 的文件系统
–block-size={SIZE} 使用 {SIZE} 大小的 Blocks
-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的…)
-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
-i, --inodes 列出 inode 资讯,不列出已使用 block
-k, --kilobytes 就像是 --block-size=1024
文件-l, --local 限制列出的文件结构
-m, --megabytes 就像 --block-size=1048576
-t, --type=TYPE 限制列出文件系统的 TYPE
-T, --print-type 显示文件系统的形式
-x, --exclude-type=TYPE 限制列出文件系统不要显示 TYPE

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值