Linux磁盘管理(命令行)

Linux磁盘管理(命令行)Linuxfdisk是一个创建和维护分区表的程序,它兼容DOS类型的分区表、BSD或者SUN类型的磁盘列表。

大家好,又见面了,我是你们的朋友全栈君。

查看磁盘设备

使用df或者ls命令查看Linux系统的磁盘设备,下图的sdb1就是我接入Ubuntu的一个SD卡,sda是系统硬盘(虚拟机的虚拟磁盘)。

在这里插入图片描述

文件系统格式简介

我们可以在Ubuntu下使用下面的方式查看各磁盘的文件系统类型,

在这里插入图片描述
上图显示,linux系统分区的文件系统类型为ext4,SD卡的文件系统为ntfs,下面是常见文件系统的简介:

EXT

EXT是延伸文件系统(英语:Extended file system,缩写为 ext或 ext1),也译为扩展文件系统,一种文件系统,于1992年4月发表,是为linux核心所做的第一个文件系统。采用Unix文件系统(UFS)的元数据结构,以克服MINIX文件系统性能不佳的问题。它是在linux上,第一个利用虚拟文件系统实现出的文件系统,在linux核心0.96c版中首次加入支持,最大可支持2GB的文件系统。目前的最新版本为5.0,于2014年6月22日发布。

EXT它是专门为Linux设计的,拥有最快的速度和最小的CPU占用率。
Linux作为自由软件,赢得了许多用户,其磁盘分区格式一种是Linux Native主分区,另一种是Linux Swap交换分区,并且主分区和交换分区都采用同一种格式,既Native和Swap格式。
这两种分区格式的安全和稳定性相当好,使用Linux操作系统死机的机会将大大减少。但是,目前支持这类分区格式的操作系统也有Linux和Android。

——百度百科

FAT

FAT是文件配置表(英语:File Allocation Table,首字母缩略字:FAT),是一种由微软发明并拥有部分专利的文件系统,供MS-DOS使用,也是所有非NT核心的微软窗口使用的文件系统。
FAT文件系统考虑当时电脑性能有限,所以未被复杂化,因此几乎所有个人电脑的操作系统都支持。这特性使它成为理想的软盘和存储卡文件系统,也适合用作不同操作系统中的数据交流。现在,一般所讲的FAT专指FAT32。
但FAT有一个严重的缺点:当文件删除后写入新数据,FAT不会将文件整理成完整片段再写入,长期使用后会使文件数据变得逐渐分散,而减慢了读写速度。碎片整理是一种解决方法,但必须经常重组来保持FAT文件系统的效率。

——百度百科

FAT16

FAT(File Allocation Table)是“文件分配表”的意思。顾名思义,就是用来记录文件所在位置的表格,它对于硬盘的使用是非常重要的,假若丢失文件分配表,那么硬盘上的数据就会因无法定位而不能使用了。不同的操作系统所使用的文件系统不尽相同,在个人计算机上常用的操作系统中,MS-DOS 6.x及以下版本使用FAT16。操作系统根据表现整个磁盘空间所需要的簇数量来确定使用多大的FAT。所谓簇就是磁盘空间的配置单位,就象图书馆内一格一格的书架一样。FAT16使用了16位的空间来表示每个扇区(Sector)配置文件的情形,故称之为FAT16。

——百度百科

FAT32

FAT32指的是文件分配表是采用32位二进制数记录管理的磁盘文件管理方式,因FAT类文件系统的核心是文件分配表,命名由此得来。FAT32是从FAT和FAT16发展而来的,优点是稳定性和兼容性好,能充分兼容Win 9X及以前版本,且维护方便。缺点是安全性差,且最大只能支持32GB分区,单个文件也只能支持最大4GB。

——百度百科

exFAT

exFAT(Extended File Allocation Table File System,扩展FAT,即扩展文件分配表)是Microsoft在Windows Embeded 5.0以上(包括Windows CE 5.0、6.0、Windows Mobile5、6、6.1)中引入的一种适合于闪存的文件系统,为了解决FAT32等不支持4G及其更大的文件而推出。对于闪存,NTFS文件系统不适合使用,exFAT更为适用。对于磁盘则不太适用。

——百度百科

NTFS

NTFS(New Technology File System)是Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式,提供长文件名、数据保护和恢复,能通过目录和文件许可实现安全性,并支持跨越分区。

——百度百科

磁盘管理命令

fdisk是一个磁盘管理命令,使用起来比较简单,它可用来查看/修改磁盘分区信息。

如果只是看磁盘信息,可以使用sudo fdisk -l

在这里插入图片描述

在终端上输入sudo fdisk /dev/sdb可以进入sdb的磁盘管理,同时终端会打印如下信息,提示所有可用操作。

  Generic
   d   delete a partition
   F   list free unpartitioned space
   l   list known partition types
   n   add a new partition
   p   print the partition table
   t   change a partition type
   v   verify the partition table
   i   print information about a partition

  Misc
   m   print this menu
   u   change display/entry units
   x   extra functionality (experts only)

  Script
   I   load disk layout from sfdisk script file
   O   dump disk layout to sfdisk script file

  Save & Exit
   w   write table to disk and exit
   q   quit without saving changes

  Create a new label
   g   create a new empty GPT partition table
   G   create a new empty SGI (IRIX) partition table
   o   create a new empty DOS partition table
   s   create a new empty Sun partition table

比较常用的命令如下:

  • p 显示现有的分区
  • n 建立新的分区
  • t 更改分区类型
  • d 删除现有的分区
  • w 保存分区更改并退出
  • q 不保存退出

磁盘分区

接下来我们来对SD卡进行分区操作,我打算把SD卡(/dev/sdb)分成两个分区,并设置不同的文件系统。

首先,在sudo fdisk /dev/sdb进入磁盘管理的情况下输入p,查看磁盘分区情况,磁盘分区是以扇区为单位,一个扇区512字节,该SD卡总共有15603712个扇区。

在这里插入图片描述
输入d将分区/dev/sdb1删除,然后输入n新建一个分区,

在这里插入图片描述
按照提示分别输入分区选项,选择主分区,分区号为1,起始扇区为2048,由于我想把SD卡平分成两个分区,所以我的截止扇区=(最大扇区-起始扇区)/ 2,

在这里插入图片描述
再用同样的步骤,创建第二个分区,将SD卡剩余空间分配完,

在这里插入图片描述

最后记得一定要保存后再退出,虽然此时分区制作完成,但这两个分区还不能使用,因为还没进行格式化(没有文件系统)。

磁盘格式化

Linux下的格式化命令是mkfs,它能格式化的系统包括:

在这里插入图片描述

sudo mkfs.ntfs /dev/sdb1可以把/dev/sdb1分区格式化为 NTFS 文件系统(竟然用了十几分钟,太慢了。。。)

在这里插入图片描述

此时SD卡的1分区已经是NTFS文件系统了。

在这里插入图片描述

同样的步骤,我将第二分区改为FAT32(VFAT)文件系统,这次很快,格式化前,(如果分区已经有文件系统且被挂载)一定要先取消挂载。

在这里插入图片描述

继续用sudo fdisk -l,发现二号分区并没有变化(但其实已经是FAT32系统了)

在这里插入图片描述

使用parted命令也可以查看文件系统类型。

在这里插入图片描述

挂载/卸载磁盘

磁盘分区只有挂载后才能使用,一般的发行版Linux都会有自动挂载功能,比如Ubuntu将外部磁盘挂载到了/media目录下,

在这里插入图片描述

我们也可以使用mount命令进行手动挂载,挂载之前,如果目标分区已经被其他目录挂载,需要使用umonut进行卸载,下图我使用sudo mount -t ntfs /dev/sdb1 /mnt/将/dev/sd1分区挂载到了/mnt目录下(个人习惯不加-t参数,但是不知道有什么后果)。

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140404.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • C++:cstdio 头文件详解

    C++:cstdio 头文件详解<cstdio>(stdio.h)headerC库执行输入/输出操作:输入和输出操作也可以在C++实现,通过使用C标准输入和输出库(cstdio,在C语言中称为stdio.h)。这个库使用流来操作物理设备如键盘,打印机,终端或者系统支持的任何其他类型的文件。流是一种以统一的方式与这些交互的抽象; 所有流都具有相似的属性,与它们所关联的物理介质的各个特征无关。流…

    2022年10月23日
  • Spring boot + Spring Security 多种登录认证方式配置(一)

    Spring boot + Spring Security 多种登录认证方式配置(一)

  • TimeTrack_cycletime和takttime的区别

    TimeTrack_cycletime和takttime的区别使用TimerTask可以方便的实现定时任务的功能,但是如果使用不当,反而会带来隐患。在使用TimerTask时,TimerTask中的代码必须要做异常处理,否则产生异常的时候,就挂掉了。特别像使用MQ发送数据的时候,不会显式的要求你捕获异常,如果你忘记了,那么在某个时刻MQ异常的时候(比如网络异常),在发送数据到MQ失败的时候,TimerTask就挂掉了。比如如下代码:Appli…

  • PyTorch安装最全流程

    PyTorch安装最全流程本文介绍基于Anaconda环境以及PyCharm软件结合,安装PyTorch深度学习框架。1.Anaconda安装下载链接:https://www.anaconda.com/1.1点击Next1.2点击同意1.3点击Next1.4选择目标文件夹,点击下一步1.5将Anaconda加入到系统变量安装成功后,在CMD中检查Anaconda时候加入到环境变量中。1.6单击启动AnacondaPrompt创建虚拟“房间”通过conda创建一个名为:pytorch.

  • 服务器频繁FGC事件「建议收藏」

    服务器频繁FGC事件「建议收藏」持续更新中

  • 2017美赛A题论文阅读笔记

    2017美赛A题论文阅读笔记2017美赛O奖论文阅读笔记

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号