LinuxBasicsForHackers笔记 -- 文件系统和存储设备管理

设备目录/dev

Linux 有一个特殊的目录,其中包含代表每个连接设备的文件:相应命名的 /dev 目录。

/dev中有很多设备列表。 特别令人感兴趣的是设备 sda1、sda2、sda3、sdb 和 sdb1,它们通常是硬盘驱动器及其分区以及 USB 闪存驱动器及其分区。

Linux 如何表示存储设备

Linux 对随后安装在文件系统上的驱动器使用逻辑标签。 这些逻辑标签将根据驱动器的安装位置而变化,这意味着同一硬盘驱动器在不同时间可能有不同的标签,具体取决于安装的位置和时间。

当系统有多个硬盘驱动器时,Linux 只是通过按字母顺序递增最后一个字母来连续命名它们,因此第一个驱动器是 sda,第二个驱动器是 sdb,第三个驱动器是 sdc,如下表。 sd 后面的序列字母通常称为主编号。

在这里插入图片描述

驱动器分区

某些驱动器可以分为多个分区,以便管理和分离信息。Linux 用驱动器名称后面的次要编号来标记每个分区。 这样,第一个 SATA 驱动器上的第一个分区将是 sda1。 第二个分区将是 sda2,第三个分区是 sda3,依此类推,如下表所示。

在这里插入图片描述
有时,您可能想要查看 Linux 系统上的分区,以了解您拥有哪些分区以及每个分区有多少可用容量。 您可以使用 fdisk 实用程序来执行此操作。 将 -l 开关与 fdisk 一起使用会列出所有驱动器的所有分区:fdisk -l

Linux 使用多种不同类型的文件系统,但最常见的是 ext2、ext3 和 ext4。 这些都是 ext(或扩展)文件系统的迭代,其中 ext4 是最新的。

字符设备和块设备

关于 /dev 目录中设备文件的命名还需要注意的是,第一个位置包含 cb。 它看起来像这样:

在这里插入图片描述
这些字母代表设备传入和传出数据的两种方式。 c 代表字符,这样的设备被称为字符设备。 通过逐个字符发送和接收数据与系统交互的外部设备,例如鼠标或键盘,都是字符设备。

b 代表第二种类型:块设备。 它们以数据块(一次多个字节)进行通信,并包括硬盘驱动器和 DVD 驱动器等设备。 这些设备需要更高速度的数据吞吐量,以块的形式发送和接收数据(一次多个字符或字节)。 一旦您知道设备是字符设备还是块设备,您就可以轻松获得有关它的更多信息。

使用 lsblk 列出块设备和信息

Linux 命令 lsblk 是 list block 的缩写,列出 /dev 中列出的每个块设备的一些基本信息。结果与 fdisk -l 的输出类似,但它也会以树的形式显示具有多个分区的设备,将每个设备及其分区显示为分支,并且不需要 root 权限即可运行。

我们还可以看到有关驱动器安装点的信息 - 这是驱动器连接到文件系统的位置。 请注意,硬盘驱动器 sda1 安装在 / 处,闪存驱动器安装在 /media 处。

挂载和卸载

即使设备在物理上连接到系统,它也不一定在逻辑上连接到操作系统并且可供操作系统使用。

目录树中连接设备的点称为挂载点。 Linux 中的两个主要挂载点是 /mnt/media。 按照惯例,外部 USB 设备和闪存驱动器等设备可以手动挂载到 /mnt,但自动挂载时,将使用 /media 目录(尽管技术上可以使用任何目录)。

自行挂载存储设备

要在文件系统上挂载驱动器,请使用 mount 命令。设备的挂载点应该是一个空目录; 如果将设备挂载到包含子目录和文件的目录上,则挂载的设备将覆盖该目录的内容,使它们不可见且不可用。要将新硬盘 sdb1 挂载在 /mnt 目录中,输入以下命令:mount /dev/sdb1 /mnt

系统在启动时挂载的文件系统保存在 /etc/fstab(文件系统表的缩写)的文件中,系统在每次启动时都会读取该文件。

使用 umount 卸载

与 mount 命令类似,您可以通过输入 umount 命令,然后输入 /dev 目录中设备的文件条目(例如 /dev/sdb)来卸载第二个硬盘驱动器。 请注意,该命令不是拼写为 unmount,而是拼写为 umount(没有 n)。umount /dev/sdb1

您无法卸载繁忙的设备,因此如果系统正在读取或写入该设备,您只会收到错误。

监控文件系统

获取已挂载磁盘的信息

命令 df(disk free)将为我们提供有关任何硬盘或已安装设备(例如 CD、DVD 和闪存驱动器)的基本信息,包括正在使用的空间和可用空间。如果没有任何选项,df 默认为所有已安装的驱动器。 如果要检查不同的驱动器,只需在 df 命令后加上要检查的驱动器表示(例如 df sdb)即可。df

检查错误

fsck 命令(filesystem check的缩写)检查文件系统是否有错误并修复损坏(如果可能),或者将坏区域放入坏块表中以将其标记为坏。

运行fsck命令需要指定要检查的设备文件。 请务必注意,在运行文件系统检查之前必须卸载驱动器。

我可以添加 -p 选项以使 fsck 自动修复设备的任何问题,如下所示:fsck -p /dev/sdb1

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mint Blockchain,一个聚焦在 NFT 领域的 L2 网络

Mint 是什么? Mint 是一个聚焦在 NFT 领域的创新型 L2 网络。Mint Blockchain 致力于促进 NFT 资产协议标准的创新和现实商业场景中 NFT 资产的大规模采用。 不管是过去 3 年在以太坊网络涌现的 NFT,还是当下在比特币网络活跃的“铭文” NFT&#xff0c…

【AIGC】Midjourney高级进阶版

Midjourney 真是越玩越上头,真是给它的想象力跪了~ 研究了官方API,出一个进阶版教程 命令 旨在介绍Midjourney在Discord频道中的文本框中支持的指令。 1)shorten 简化Prompt 该指令可以将输入的Prompt为模型可以理解的语言。模型理解语言…

Mysql 命令行导出SQL文件和导入文件

1-导出SQL文件 要导出 MySQL 数据库到一个 SQL 文件,你可以使用 mysqldump 工具,它是 MySQL 的一个命令行工具,以下是一些步骤: 打开终端,并使用以下命令来执行导出操作: mysqldump -u wqzbxh -h 1.137.15…

基于深度学习yolov5实现安全帽人体识别工地安全识别系统-反光衣识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 实现安全帽人体识别工地安全识别系统需要使用深度学习技术,特别是YOLOv5算法。下面是对基于YOLOv5实现安…

物易管预测性维护平台3.6.0版本上线,工况数据处理、设备故障模型、数据可视化等方面带来全新功能体验

物易管设备预测性维护平台V3.6.0版本近日正式发布上线,相较V3.5.0版本次主要新增优化设备工况数据接入、工况数据模型训练、数据可视化以及设备监测详情优化四个板块。新版本在处理工况数据、设备故障模型、数据分析展示以及设备监测方面带来全新的体验。 01设备工况…

听GPT 讲Rust源代码--src/tools(9)

File: rust/src/tools/rust-analyzer/crates/ide-assists/src/handlers/apply_demorgan.rs 在Rust源代码中,apply_demorgan.rs文件位于rust-analyzer工具的ide-assists库中,其作用是实现一个辅助函数,用于在代码中应用De Morgan定律的变换。 …

【后端学前端学习记录】学习计划

1、个人背景 写了足够久的后端了,常用的语言基本上都接触过,没有在工作中写过前端 一直想做一些前端的工作,但是前端技能不足加上自己审美不行,写出的界面总是很丑 所以一直对前端做不好,也没有真正下手。 2、动机 种…

MBD Introduction

介绍 MATLAB是MathWorks公司的商业数学软件,应用于科学计算、可视化以及交互式程序设计等高科技计算环境。Simulink是MATLAB中的一种可视化仿真工具。 Simulink是一个模块图环境,用于多域仿真以及基于模型的设计。它支持系统设计、仿真、自动代码生成以…

泽攸科技桌面型扫描电子显微镜(SEM)技术解析

台式扫描电子显微镜是一种利用电子束扫描样品表面并检测样品反射或发射的电子信号,从而获得样品表面形貌、结构和成分信息的仪器。它的工作原理是由电子枪发出的电子束经过栅极静电聚焦后成为直径50微米的点光源,然后在加速电压作用下,经两三…

LeetCode力扣每日一题(Java):21、合并两个有序链表

一、题目 二、解题思路 1、我的思路 两个有序链表的合并已经是老生常谈的话题了,大家肯定并不陌生 依次比较两链表结点的值,将值小的添加到新链表的末尾,并将指针后移(因为之前学C语言说说惯了指针,不知道在java中…

企业博客SEO:优化SOP,助您提升搜索引擎可见性

企业博客是互联网时代企业与用户沟通的重要渠道之一,引流成本也比较低。然而,依然有企业会处在3种状态: 1. 有博客,但内容更新不积极或搁置 2. 有博客,但内容散乱 3. 根本就没有博客 如果是这几种状态,…

数据分析基础之《matplotlib(6)—饼图》

一、饼图介绍 1、什么是饼图 饼图广泛的应用在各个领域,用于表示不同分类的占比情况,通过弧度大小来对比各种分类。饼图通过将一个圆饼按照分类的占比划分成多个区块,整个圆饼代表数据的总量,每个区块(圆弧&#xff0…