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

本文主要是介绍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

这篇关于LinuxBasicsForHackers笔记 -- 文件系统和存储设备管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/474405

相关文章

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit