LinuxU盘挂载原理,为什么要用到U盘挂载及实现U盘挂载

目录

一、U盘挂载原理

二、为什么要用到U盘挂载

三、实现U盘挂载

一、准备工作

1、安装gcc

2、下载ntfs-3g

3、解压

 4、编译准备

5、编译并安装

二、挂载演示


一、U盘挂载原理

Linux的U盘挂载原理涉及以下几个方面:

  1. 设备识别:当您将U盘插入Linux系统的USB接口时,系统会自动检测并识别该设备。Linux会通过USB子系统与U盘进行通信,并分配一个设备文件来表示U盘,通常以/dev/sdX的形式显示(其中X是字母代表设备号,例如sdb、sdc等)。

  2. 分区和文件系统识别:在设备识别后,Linux会尝试识别U盘上的分区和文件系统类型。通过读取设备的分区表信息,Linux可以确定U盘上的分区数量和位置。然后,它会检测每个分区的文件系统类型,例如FAT32、NTFS、ext4等。

  3. 挂载点创建:在确定U盘上的文件系统后,Linux会创建一个挂载点(mount point),作为U盘在文件系统层次结构中的入口点。挂载点是一个目录,用于将U盘的文件系统添加到系统中,以便访问和操作U盘上的文件。通常,挂载点位于/mnt或/media目录下,但也可以根据需要选择其他位置。

  4. 挂载操作:一旦挂载点创建完成,Linux会使用mount命令将U盘的文件系统挂载到挂载点上。挂载操作将U盘的文件系统与挂载点关联起来,使得U盘上的文件能够在Linux系统中被读取和写入。挂载命令的格式通常为:

    sudo mount /dev/sdX /mnt/usb

    其中/dev/sdX是U盘设备文件,/mnt/usb是挂载点路径。

  5. 文件操作:一旦U盘成功挂载到挂载点上,您就可以通过在文件管理器中导航到挂载点,或者在终端中使用命令行来访问和操作U盘上的文件。您可以复制、移动、编辑和删除文件,就像操作本地文件系统上的文件一样。

  6. 卸载操作:当您不再需要使用U盘时,可以使用umount命令将其从挂载点卸载。卸载操作会断开U盘与挂载点的关联,使其成为一个独立的设备,可以安全地从系统中移除。

总之,Linux的U盘挂载原理涉及设备识别、分区和文件系统识别、挂载点创建、挂载操作以及文件操作等步骤,它允许将U盘的文件系统添加到文件系统层次结构中,以便在Linux系统中访问和操作U盘上的文件。

二、为什么要用到U盘挂载

Linux使用U盘挂载的主要原因是为了访问和操作U盘上的文件和文件系统。当您将U盘插入Linux系统时,系统需要通过挂载的方式将U盘的文件系统添加到文件系统层次结构中,以便将其视为可访问的存储设备。

挂载U盘使您能够在Linux系统中读取和写入U盘上的文件,就像访问计算机硬盘上的文件一样。通过挂载,系统可以识别U盘的分区和文件系统类型,并将其与适当的目录关联起来,以便您可以轻松地在Linux系统中进行文件操作。

另外,通过挂载U盘,您可以将U盘用作数据交换的媒介。您可以将文件从Linux系统复制到U盘,然后将其插入另一台计算机并访问这些文件。这对于在不同系统之间共享文件或备份重要数据非常有用。

总之,挂载U盘是Linux系统中使用外部存储设备的一种常见方式,它允许您方便地访问和管理U盘上的文件和数据。

三、实现U盘挂载

一、准备工作

1、安装gcc

yum -y install gcc

2、下载ntfs-3g

        注:如果想要支持ntfs格式的U盘,则必须安装ntfs-3g。

cd /usr/local/src && wget https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2015.3.14.tgz

3、解压

tar -zxvf ntfs-3g_ntfsprogs-2015.3.14.tgz

 4、编译准备

        进入ntfs-3g_ntfsprogs-2015.3.14目录,进行编译

./configure

5、编译并安装

make && make install

二、挂载演示

1、将U盘插入Linux系统的USB接口

2、运行以下命令之一,以查看系统识别到的U盘设备:

# 命令 1
sudo fdisk -l
# 命令 2 
lsblk

3、在输出结果中找到您的U盘设备,通常会以/dev/sdX的形式显示(其中X是字母代表设备号,例如sdb、sdc等),如下图显示为:sdb

4、创建一个用于挂载U盘的目录,在/mnt下创建usb用来挂载

cd  /mnt
mkdir usb

 5、运行以下命令,将U盘设备挂载到刚才创建的目录:

mount -t ntfs-3g /dev/sdb1 /mnt/usb  # FAT32文件系统支持
mount -t vfat /dev/sdb1 /mnt/usb     # NTFS文件系统支持

-t 指定设备的文件系统类型。常用的选项说明有:

参数说明
minixLinux最早使用的文件系统
ext2Linux目前的常用文件系统
msdosMS-DOS 的 FAT
vfatWin85/98 的 VFAT
nfs网络文件系统
iso9660CD-ROM光盘的标准文件系统
ntfsWindows NT的文件系统
hpfsOS/2文件系统。Windows NT 3.51之前版本的文件系统
auto自动检测文件系统

6、查看U盘内容,挂载完成

7、要卸载U盘,请运行以下命令:

umount /mnt/usb

如出现下图中的情况,退出usb目录,重新执行卸载U盘命令即可  

 

注:这只是一个基本的挂载和卸载U盘的过程。在实际操作中,您可能需要根据需要进行其他设置和配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/460145.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

iOS 腾讯Pag动画框架-实现PagView的截图功能

背景 产品想要一个首页的截图功能,一听这个功能,心想那还不简单,将父视图控件转换成图片保存就行了。按照这个思路实现,很快就打脸啦,首页的这些动画一个都没有截出来,就像消失啦似的。然后蠢蠢的将动画暂…

HTML—标签的分类,span和div标签,不同的标签之间类型转换

标签的分类: ①块级标签:无论内容多少,会充满整个行。大小可自定义 例:p,h1,ul,ol,hr 等 ②行级标签:自身的大小就是标签的大小,不会占一整行。大小不可调 例…

人工智能程序使用的编程语言

用C语言可以写人工智能程序吗? 可以用C语言编写具有人工智能功能的程序,但是较为复杂。C语言是一种通用的编程语言,它在执行速度和资源控制方面表现出色,这使得它适合于需要高性能处理的人工智能应用,如游戏AI&#xf…

三种方式使用纯 CSS 实现星级评分

本文介绍三种使用纯 CSS 实现星级评分的方式。每种都值得细品一番~ 五角星取自 Element Plus 的 svg 资源 <svg xmlns"http://www.w3.org/2000/svg" viewBox"0 0 1024 1024" style""><pathfill"currentColor"d"M283.84 …

MySQL大小写敏感、MySQL设置字段大小写敏感

文章目录 一、MySQL大小写敏感规则二、设置数据库及表名大小写敏感2.1、查询库名及表名是否大小写敏感2.2、修改库名及表名大小写敏感 三、MySQL列名大小写不敏感四、lower_case_table_name与校对规则4.1、验证校对规则影响大小写敏感4.1、验证校对规则影响排序 五、设置字段内…

Django之图形验证码

Django之图形验证码 目录 Django之图形验证码【1】静态图片【2】视图层绑定静态文件【3】PIL生成图片(固定背景)【4】将图片存储在内存【5】生成文本信息【6】实现图片刷新 【1】静态图片 最基础的生成图片就是获取静态文件 <div style"margin-left: 10px;">…

idea+vim+pycharm的块选择快捷键

平时开发的时候&#xff0c;有的时候我们想用矩形框住代码&#xff0c;或者想在某列上插入相同字符 例如下图所示&#xff0c;我想在22-24行的前面插入0000 1. Idea的快捷键&#xff1a;option 鼠标 2. Pycharm的快捷键&#xff1a;shift option 鼠标 2. Vim 块选择 v/V/c…

Python读取Excel工作表数据写入CSV、XML、文本

Excel工作簿是常用的表格格式&#xff0c;许多数据呈现、数据分析和数据汇报都是以Excel工作表的形式进行。然而&#xff0c;在实际的数据管理、分析或自动化流程构建过程中&#xff0c;我们常常需要将这些Excel中的数据迁移至更其他数据系统&#xff0c;或者以文本形式存储以便…

AI日报:欧盟人工智能法案通过后行业面临合规障碍

文章目录 人工智能新规对web爬网的影响对英国的影响。 人工智能新规 立法者已经通过了欧盟人工智能法案。企业现在必须确保其人工智能应用程序符合规则。 全面的新规定对可能影响公民权利的人工智能系统实施制裁&#xff0c;并有可能彻底禁止某些系统。 违反规定的公司可能面…

4、鸿蒙学习-@ohos.promptAction (弹窗)

创建并显示文本提示框、对话框和操作菜单。 说明 本模块首批接口从API version 9开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 该模块不支持在UIAbility的文件声明处使用&#xff0c;即不能在UIAbility的生命周期中调用&#xff0c;需要在创建…

音频占用磁盘空间太多 需要把mp3音频转aac音频缩小占用空间 应该怎么操作?

一&#xff1a;什么是aac格式&#xff1f; aac是一种音频压缩格式&#xff0c;它是MPEG-2标准下的一种音频压缩方式&#xff0c;也可以作为HE-AAC&#xff0c;AAC或AAC-LC格式使用&#xff0c;是音频压缩领域中的一种重要格式。与MP3的比较&#xff0c;aac在保证音质的同时可以…

C++类与对象二

目录 一、类的嵌套 二、对象引用私有数据成员 通过公有函数为私有成员赋值 利用指针访问私有数据成员 利用函数访问私有数据成员 利用引用访问私有数据成员 三、成员函数重载 四、this指针 一、类的嵌套 #include <iostream> using namespace std;class CC1 { p…

Tomcat会话保持

文章目录 Tomcat会话保持1、代理服务器配置2、web服务器配置3、会话保持3.1 方法一&#xff1a;修改代理服务器配置&#xff08;nginx&#xff09;3.2 方法二&#xff1a;修改web服务器配置&#xff08;tomcat&#xff09;访问官方文档&#xff0c;查看需要添加的配置文件修改t…

C++STL栈与队列的实现

我最近开了几个专栏&#xff0c;诚信互三&#xff01; > |||《算法专栏》&#xff1a;&#xff1a;刷题教程来自网站《代码随想录》。||| > |||《C专栏》&#xff1a;&#xff1a;记录我学习C的经历&#xff0c;看完你一定会有收获。||| > |||《Linux专栏》&#xff1…

【Streamlit学习笔记】实现包含多个sheet的excel文件下载

1、什么是Streamlit Streamlit是一个免费的开源框架&#xff0c;用于快速构建和共享漂亮的机器学习和数据科学Web应用程序&#xff0c;官网链接 Streamlit Streamlit API链接 API reference 实际项目中遇到的问题&#xff1a;包含多个sheet的excel文件下载&#xff0c;下面将给…

STM32初识2

复位和时钟控制&#xff08;RCC&#xff1a;reset clock control&#xff09; 系统复位 当发生以下任一事件时&#xff0c;产生一个系统复位&#xff1a; 1. NRST 引脚上的低电平 ( 外部复位 ) 2. 窗口看门狗计数终止 (WWDG 复位 ) 3. 独立看门狗计数终止 (IWDG 复位 ) …

【JAVA基础】API:Math、System、runtime、object、BigInteger 、BigDecima、爬虫、分组、时间类、包装类

1.Math 2.System public class Main {public static void main(String[] args) {int[] arr {1, 2, 3, 4, 5, 6, 7, 8};int[] arr1 new int[8];System.arraycopy(arr,0,arr1,1,5); // 从1970.1.1开始到现在的毫秒形式long l1 System.currentTimeMillis();//171046475…

HandyControl PropertyGrid及自定义编辑器

前提条件 项目引入对应HandyControl对应版本包。 使用案例 UI部分 <Window xmlns:hc"https://handyorg.github.io/handycontrol"><hc:TabControl><hc:TabItem Header"默认样式"><hc:PropertyGrid Width"380" SelectedO…

huawei services HK华为云服务

huaweiserviceshk是一种云计算服务&#xff0c;为华为云服务用户提供了多种服务&#xff0c;包括云服务器、数据库、存储、网络等&#xff0c;用户可以根据自己的需求选择不同的服务并支付相应的费用 如何付费呢&#xff0c;这里可以使用441112&#xff0c;点击获取 卡片信息在…

swiftUI中的可变属性和封装

swiftUI的可变属性 关于swift中的属性&#xff0c;声明常量使用let &#xff0c; 声明变量使用var 如果需要在swiftUI中更改视图变化那么就需要在 var前面加上state 。 通过挂载到state列表 &#xff0c;从而让xcode找到对应的改变的值 例子&#xff1a; import SwiftUIstruc…