Linux学习笔记1--Linux文件系统之CentOS7挂载U盘

编程知识 更新时间:2023-04-30 09:14:52

Linux学习笔记(一)

  • CentOS7挂载U盘
    • 插入U盘连接虚拟机
    • 打开终端
    • 创建U盘目录
    • 挂载U盘
    • 卸载U盘
    • 可能出现的bug
  • Linux文件系统与Windows文件系统之比
    • 二者文件系统具体
    • 二者文件系统格式之比

CentOS7挂载U盘

此操作基于CentOS7系统进行,

插入U盘连接虚拟机

打开终端

输入fdisk -l 查看u盘在内存中的名称

在图中可以看到U盘名称为
设备 Boot Start End Blocks Id System
/dev/sdb1 224 61009919 30504848 c W95 FAT32 (LBA)

其中System 为FAT32 证明其为windows文件系统下的文件格式

创建U盘目录

首先输入cd /转到根目录下,在根目录下输入mkdir -p /mnt/usb 创建挂载点

挂载U盘

输入mount -t vfat /dev/sdb1 /mnt/usb
随后进入到挂载点cd /mnt/usb,再输入ls查看当前文件夹下的文件

卸载U盘

使用完之后需要将U盘卸载,直接拔出可能导致文件丢失
输入umount /mnt/usb 将挂载点取消。

若出现下图情况,表名你正在访问此目录 应退出根目录后再进行卸载挂载点
输入cd /或者 cd ..(返回上级目录)

可能出现的bug

如出现 mount:unknown filesystem type 'ntfs'
先加源:wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun/repo/epel-7.repo
然后运行:yum install ntfs-3g 下载安装即可

Linux文件系统与Windows文件系统之比

二者文件系统具体

  1. windows文件系统

在 Windows 下,打开 “计算机”,我们看到的是一个个的驱动器盘符:

每个驱动器都有自己的根目录结构,这样形成了多个树并列的情形,如图所示:

  1. Linux文件系统

在 Linux 下,Everything is file,我们是看不到这些驱动器盘符,我们看到的是一切是文件夹(目录):
linux没有盘符这个概念,只有一个根目录 /,所有文件都在它下面

二者文件系统格式之比

  1. windows

    1.1 FAT

    FAT(File Allocation Table)文件系统诞生于1977年,它最初是为软盘设计的文件系统,但是后来随着微软推出dos和win 9x系统,FAT文件系统经过适配被逐渐用到了硬盘上,并且在那时的20年中,一直是主流的文件系统。

    后来随着硬件技术的进步,硬盘的容量也越来越大,这种文件格式逐渐被扩展了,出现了FAT12,FAT16,FAT32等文件系统,甚至后来还出现了FAT64的文件系统。

    在今天,FAT已经不是windows系统的主流文件系统了,但是它在软盘,闪存(u盘),以及很多嵌入式设备上还是很常见的。

    目前最通用的的是FAT32,很多U盘上都是FAT32格式,关于FAT32文件系统,以下几点值得注意

     2. 单个文件最大为4G 
     3. 最大文件数量268,435,437 
     4. 分区最大容量8TB 
     5. 可在多种操作系统读写
    

    有时候,我们向U盘拷贝大文件时,会发现拷不进去,实际上就是因为这个U盘是FAT32格式的

    1.2 NTFS

    NTFS全称是New Technology File System,它是一种比FAT32功能更加强大的文件系统。

    从windows 2000之后的windows系统的默认文件系统都是NTFS,而且这些windows系统只能够安装在NTFS格式的磁盘上。
    NTFS具有以下特点:

  1. 理论上最大文件尺寸可达16EB-1KB,实际上有16TB-64KB(1EB = 1024PB 1PB =1024TB,至于理论和实际为什么差这么多,没有进行过深入研究,有可能是现在的科技还不足以制造出这么大的磁盘的)
  2. 最大文件数量可达pow(2,32)-1个
  3. 操作系统支持大部分windows系统,Unix/Linux系统,Mac OS(在Mac OS10.4+系统上,NTFS格式是只读的,即在Mac系统下,你只能从NTFS格式的磁盘上读取数据,而不能写入数据)
  4. NTFS系统是一个日志性的文件系统,系统中对文件的操作都可以被记录下来,当系统崩溃之后,利用日志功能可以修复数据

1.3 ExtFAT

ExFAT(Extended File Allocation Table)又叫FAT64,看名字就知道它是对FAT文件系统的扩展。

ExFAT是虽然也是微软开发的文件系统,但说它是windows下的文件系统并不合适,它是专门为闪存盘设计的文件系统,单个文件突破了4G的限制,而且分区的最大容量可达64ZB(比EB大一级的),建议512TB。
ExFAT在windows,Linux以及Mac系统上,都可以读写,作为U盘或者是移动硬盘的格式还是比较合适的。

  1. Linux

2.1 Ext2

第二代扩展文件系统(英语:second extended filesystem,缩写为
ext2),是LINUX内核所用的文件系统。它开始由RémyCard设计,用以代替ext,于1993年1月加入linux核心支持之中。ext2的经典实现为LINUX内核中的ext2fs文件系统驱动,最大可支持2TB的文件系统,至linux核心2.6版时,扩展到可支持32TB。其他的实现包括GNU
Hurd,Mac OS X (第3方),Darwin(第3方),BSD。
ext2为数个LINUX发行版的默认文件系统,如Debian、Red Hat > Linux等。

2.2 Ext3

第三代扩展文件系统(英语:Third extended
filesystem,缩写为ext3),是一个日志文件系统,常用于Linux操作系统。它是很多Linux发行版的默认文件系统。Stephen
Tweedie在1999年2月的内核邮件列表[2]中,最早显示了他使用扩展的ext2,该文件系统从2.4.15版本的内核开始,合并到内核主线中[3]。

它的性能(速度)不如它的竞争对手,例如JFS2,ReiserFS和XFS,但它具有重要的优势,那就是它允许在适当的时候从流行的ext2文件系统升级,而无需备份和恢复数据;除此之外,它还具有比ReiserFS和XFS更低的的CPU使用率。

尽管Ext3相对于Ext2有了不少的优势,但是它还是有一些劣势:

(1)ext3会在删除文件时把文件的节点(inode)中的块指标清除。这样做可以在unclean载入文件系统后,重放日志时,可以减少对文件系统的访问。但也同样也增加了文件在反删除上面的困难。用户唯一的补救是在硬盘中捞取数据,并且要知道文件的起始到结束的块指标。尽管提供了比
ext2在删除文件上稍微高一些的安全性,却也无可避免的带来了不便之处。 (2)Ext3不支持透明压缩(Ext2以非官方补丁支持)。
(3)大小限制,
(4)Ext3在写入日志时,并不做校验和。如果barrier=1没有作为加载参数(在文件/etc/fstab),并且如果硬件在无次序的写入缓存,在崩溃时会严重损坏文件系统(该选项在大多数流行的Linux发行版中都没有被启用,所以大多数发行版的处境都很危险。)

2.3 Ext4
  
Ext4具有以下特点

  • 大型文件系统

ext4文件系统可支持最高1 Exbibyte的分区[6]与最大16 Tebibyte的文件。

  • Extents

ext4引进了Extent文件存储方式,以替换ext2/3使用的block
mapping方式。Extent指的是一连串的连续实体block,这种方式可以增加大型文件的效率并减少分裂文件。ext4支持的单一Extent,在单一block为4KB的系统中最高可达128MB[1]。单一inode中可存储4笔Extent;超过四笔的Extent会以Htree方式被索引。

  • 向下兼容

ext4向下兼容于ext3与ext2,因此可以将ext3和ext2的文件系统挂载为ext4分区。由于某些ext4的新功能可以直接运用在ext3和ext2上,直接挂载即可提升少许性能。
ext3文件系统可以部分向上兼容于ext4(也就是说ext4文件系统可以被挂载为ext3分区)。然而若是使用到Extent技术的ext4将无法被挂载为ext3。

  • 预留空间

ext4允许对一文件预先保留磁盘空间。目前大多数文件系统做到这点的方式是直接产生一个填满0的文件;ext4和XFS可以使用Linux核心中的一个新的系统调用“fallocate()”获取足够的预留空间。

  • 延迟获取空间

ext4使用一种称为allocate-on-flush的方式,可以在数据将被写入磁盘(sync)前才开始获取空间;大多数文件系统会在之前便获取需要的空间。这种方式可以增加性能并减少文件分散程度。

  • 突破32000子目录限制

ext3的一个目录下最多只能有32000个子目录。ext4的子目录最高可达64000,且使用“dir_nlink”功能后可以达到更高(虽然父目录的link
count会停止增加)。为了避免性能受到大量目录的影响,ext4默认打开Htree(一种特殊的B树)索引功能。该功能已经实现于Linux核心2.6.23版。

  • 日志校验和

Ext4使用校验和特性来提高文件系统可靠性,因为日志是磁盘上被读取最频繁的部分之一。这个特性还有一个好处就是可以安全地避免日志处理时磁盘I/O的等待,而稍微提高一些性能。日志校验和的技术源于威斯康辛大学的一篇名为IRON
File Systems的研究论文(见第六节 transaction checksums校验和处理)[7]

  • 在线磁盘整理

对于在线磁盘整理工具有许多草案,但是这些草案都没有被包含在主流的内核当中。即使Ext4包含有许多避免磁盘碎片的技术,但是磁盘碎片还是难免会在一个长时间使用过的文件系统中存在。Ext4将会有一个具有磁盘整理功能的工具[8]。

  • 快速文件系统检查

Ext4将未使用的区块标记在inode当中,这样可以使诸如e2fsck之类的工具在磁盘检查时将这些区块完全跳过,而节约大量的文件系统检查的时间。这个特性已经在2.6.24版本的Linux内核中实现。

参考链接:https://blog.csdn/u013301192/article/details/47859899?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task)

更多推荐

Linux学习笔记1--Linux文件系统之CentOS7挂载U盘

本文发布于:2023-04-22 13:43:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/06861436d98952292400190eb2a92daa.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件系统   学习笔记   Linux   挂载

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 96177文章数
  • 24392阅读数
  • 0评论数