Linux基础 - 存储结构与管理硬盘

news2024/11/20 16:32:31

目录

零. 简介

一. 文件系统

Ubuntu 文件系统结构:

路径:

二. 硬盘管理


零. 简介

Linux 文件系统是一种用于组织和存储文件、目录以及相关数据的架构。

常见的 Linux 文件系统有:

  1. Ext4(Fourth Extended File System):它是许多 Linux 发行版默认的文件系统。支持大文件和大容量存储设备,具有较高的性能和可靠性。
  2. XFS:擅长处理大型文件和高并发的 I/O 操作,常用于数据中心和服务器环境。
  3. Btrfs:提供了许多高级特性,如快照、克隆、数据压缩和校验等。

Linux 文件系统的重要特点包括:

  1. 目录结构:以根目录“/”为起点,形成一个层次分明的树形结构。常见的重要目录如“/bin”(存放常用命令)、“/etc”(系统配置文件)、“/home”(用户主目录)等。
  2. 权限管理:通过设置文件和目录的所有者、所属组以及其他用户的读、写、执行权限,严格控制对文件的访问。
  3. 索引节点(inode):每个文件或目录都有一个唯一的索引节点,包含了文件的属性信息,如权限、所有者、大小、修改时间等。
  4. 挂载:可以将不同的存储设备或分区挂载到文件系统的特定目录,使其可访问和使用。

文件系统的选择通常取决于具体的需求,如性能、数据完整性、存储容量等因素。

在 Linux 中,硬盘管理涉及到多个方面,包括硬盘分区、格式化、挂载、查看硬盘信息等操作。

一. 文件系统

在 Ubuntu 系统中,其存储结构与文件系统相关,以下是一些常见的内容:

Ubuntu 文件系统结构

  • 根目录“/”:所有的目录都是由根目录衍生出来的。
  • “/bin”:存放二进制可执行文件,这些命令在单用户模式下也能够使用,可以被 root 和一般的账号使用。
  • “/boot”:包含 Ubuntu 内核和启动文件,比如 vmlinuz-xxx、grub 引导装载程序。
  • “/dev”:设备驱动文件。
  • “/etc”:存放一些系统配置文件,比如用户账号和密码文件,各种服务的起始地址。
  • “/home”:系统默认的用户主文件夹,一般创建用户账户的时候,默认的用户主文件夹都会放到此目录下。
  • “/lib”:存放库文件。
  • “/media”:此目录下放置可插拔设备,比如插入的 U 盘或 SD 卡会挂载到这个目录中。
  • “/mnt”:用户可使用的挂载点,如果要挂载一些额外的设备,那么可以挂载到此处。
  • “/opt”:可选的文件和程序存放目录,常给第三方软件放置的目录。
  • “/root”:root 用户目录,也就是系统管理员目录。
  • “/sbin”:和“/bin”类似,也存放一些二进制可执行文件,“/sbin”下面的一般是系统开机过程中所需要的命令。
  • “/srv”:服务相关目录,比如网络服务。
  • “/sys”:记录内核信息,虚拟文件系统。
  • “/tmp”:临时目录。
  • “/var”:存放一些变化的文件,比如日志文件。
  • “/usr”:不是 user 的缩写,而是 unix software resource 的缩写,存放与系统用户有关的文件。
  • “/proc”:虚拟文件系统,数据放置到内存中,存放系统运行信息。

路径:

在 Linux 中,路径用于指定文件或目录在文件系统中的位置。

路径分为绝对路径和相对路径:

绝对路径:从根目录(“/”)开始,完整地描述文件或目录的位置。例如,“/home/user/documents/file.txt” 表示根目录下的 “home” 目录中的 “user” 目录里的 “documents” 目录中的 “file.txt” 文件。

相对路径:相对于当前工作目录来指定文件或目录的位置。如果当前工作目录是 “/home/user” ,那么 “documents/file.txt” 就是一个相对路径,表示当前目录下的 “documents” 目录中的 “file.txt” 文件。

一些特殊的路径表示:

“.” 表示当前目录。

“..” 表示上级目录。

路径中的目录分隔符使用 “/” ,而不是 Windows 中的 “\” 。

路径可以包含目录和文件名,例如 “/usr/bin/bash” 中,“/usr/bin” 是目录,“bash” 是文件名。

在命令行中,正确理解和使用路径对于文件操作(如复制、移动、删除等)至关重要。

二. 硬盘管理

在 Ubuntu 操作系统中,磁盘管理涉及分区、格式化、挂载、监视以及维护磁盘等操作。以下是一些关于 Ubuntu 存储结构与管理硬盘的基本信息:

磁盘设备命名
Ubuntu 中磁盘设备文件通常位于/dev目录下。以/dev/sd*开头,其中sd表示采用 SCSI、SATA、USB 接口的硬盘(如果是 IDE 接口的硬盘则可能是hd),后面的字母表示该类型接口的第几个硬盘,如/dev/sda表示系统中第一个使用此类接口的磁盘。

分区管理

  • 可以使用命令行工具如fdiskparted进行分区操作。
    • 使用fdisk创建分区:sudo fdisk /dev/sdX,进入 fdisk 后,按下n键创建新分区,然后按照提示输入分区的大小和类型,最后按下w键保存分区表。删除分区则进入 fdisk 后按下d键选择要删除的分区并按提示操作,同样以w键保存更改。
    • 使用parted创建分区:sudo parted /dev/sdX,然后在 parted 命令行下使用mkpart命令创建新分区并指定起始位置和大小。删除分区则使用rm命令加上分区号。
  • 分区类型包括主分区和扩展分区,主分区或扩展分区用 1-4 来表示,5 以后表示逻辑分区。例如,/dev/hda3表示在第一个 IDE 硬盘上的第 3 个主分区或扩展分区,/dev/sdb6是在第二个 SCSI 硬盘上的第二个逻辑分区。

格式化分区
创建分区后,需在其上建立文件系统以存储数据。常见的文件系统包括 ext4、NTFS、FAT32 等。使用mkfs命令进行格式化,例如:sudo mkfs -t ext4 /dev/sdX1(其中X1为分区编号)。

挂载和卸载分区
挂载是将文件系统连接到系统的目录树中使其可供用户访问。

  • 手动挂载使用mount命令:sudo mount /dev/sdX1 /mnt/mydrive(将/dev/sdX1分区挂载到/mnt/mydrive目录)。为防止挂载后的中文路径名称异常,可添加编码格式参数,如:sudo mount -o iocharset=utf8 /dev/sdb1 /media/y-serein/y-project/
  • 卸载使用umount命令:sudo umount /mnt/mydrive

监视磁盘使用情况

  • 使用df命令查看磁盘分区的使用情况,包括已用空间、可用空间等信息:df -h
  • 使用du命令查看指定目录的磁盘使用情况:du -h /path/to/directory

du命令

一些图形界面工具(GUI)也可用于磁盘管理

  • Ubuntu 系统自带的Disks工具,提供了直观的图形化界面,可用于查看磁盘、分区、格式化分区等操作。
  • GParted是一款功能强大的图形化分区工具,可用于创建、删除、调整分区大小等操作。

另外,在进行磁盘分区等操作时,需注意数据的安全,谨慎操作以确保分区表的完整性。同时,了解一些相关的文件系统知识,如 ext4、FAT 等的特点和适用场景,也有助于更好地管理磁盘。如果涉及到更复杂的磁盘管理需求,例如软 RAID 配置、硬盘自动休眠设置、硬盘健康监测等,可能需要进一步查阅相关资料或使用特定的工具和技术。

关于文件系统结构,Ubuntu 采用类 Unix 的文件系统结构,以根目录“/”为起点,所有的目录都是由根目录衍生出来的。在文件系统中,每个文件占用一个独立的 inode 表格,里面记录着文件的访问权限、所有者与所属组、大小、创建或修改时间等信息,而文件的实际内容则保存在 block 块中。

需要注意的是,具体的操作和命令可能因 Ubuntu 的版本和系统配置而略有不同。在进行重要的磁盘管理操作之前,建议先备份重要的数据,以防意外情况发生。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构:队列详解 c++信息学奥赛基础知识讲解

目录 一、队列概念 二、队列容器 三、队列操作 四、代码实操 五、队列遍历 六、案例实操 题目描述: 输入格式: 输出格式: 输入样例: 输出样例: 详细代码: 一、队列概念 队列是一种特殊的线性…

了解负载均衡器

现代系统变得越来越复杂,但这种复杂性确保了处理大量的网络流量和请求。 简单来说,负载均衡器的主要思想就像它的名字一样,它跨服务器提供直接的客户端请求。换句话说,负载均衡器是在多台服务器之间分配网络或应用程序流量的系统…

【系统架构设计师】六、信息系统基础知识(定义|分类|企业信息化系统|生命周期|建设原则|开发方法)

目录 一、信息系统的定义 二、信息系统的分类 三、企业使用的信息化系统 四、信息系统的生命周期 五、信息系统建设原则 六、信息系统的开发方法 6.1 结构化方法 6.2 原型法 6.3 构件化开发方法 6.4 面向服务的方法 6.5 面向对象的方法 6.6 敏捷方法 历年真题考情&#x…

AMSR-E/Aqua L1A 原始观测次数,第 3 版

AMSR-E/Aqua L1A Raw Observation Counts, Version 3 简介 改进后的 V003 AMSREL1A 产品对共同登记参数 A1 和 A2 进行了经验修正,并更新了用于修正 AMSR-E 89 GHz 位置信息的参数文件。因此,第三版 AMSREL1A 数据提高了以下方面的精度:纬度…

【个人博客搭建】(26)发布后端webapi项目

1、选择启动的webapi,右击发布 2、选择左下角的“显示所有设置” 在上一页按钮那边是发布文件夹的目录 地址, 现在界面的就是配置的信息, 配置:Debug、Release 目标框架:我们用的net8.0,就是他&#xff…

Golang | Leetcode Golang题解之第191题位1的个数

题目: 题解: func hammingWeight(num uint32) (ones int) {for ; num > 0; num & num - 1 {ones}return }

C语言 | Leetcode C语言题解之第191题位1的个数

题目: 题解: int hammingWeight(uint32_t n) {int ret 0;while (n) {n & n - 1;ret;}return ret; }

S_LOVE多端恋爱小站小程序源码 uniapp多端

S_LOVE多端恋爱小站小程序源码,采用uniapp多端开发框架进行开发,目前已适配H5、微信小程序版本。 源码下载:https://download.csdn.net/download/m0_66047725/89421726 更多资源下载:关注我。

数据库系统体系结构-DBMS的三级模式结构、DBMS的工作方式、模式定义语言、二级映射

一、体系结构的概念 1、大多数DBMS遵循三级模式结构 (1)外模式 (2)概念模式 (3)内模式 2、DBMS的体系结构描述的应该是系统的组成结构及其联系以及系统结构的设计和变化的原则等 3、1978年美国国家标…

在flask中加载mnist模型,并预测图片

一、在tensorflow中新建及保存模型 启动Jupyter Notebook 新建Notebook 生成 mnist_model.h5 模型的代码 import tensorflow as tf from tensorflow.keras.datasets import mnist from tensorflow.keras.models import Sequential from tensorflow.keras.layers import…

【Oracle篇】逻辑备份工具expdp(exp)/impdp(imp)和物理备份工具rman的区别和各自的使用场景总汇(第八篇,总共八篇)

💫《博主介绍》:✨又是一天没白过,我是奈斯,DBA一名✨ 💫《擅长领域》:✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux,也在扩展大数据方向的知识面✌️…

26.4 Django 视图层

1. 视图函数 视图函数是Django框架中用于处理Web请求并返回Web响应的重要组件. 以下是对Django视图函数的详细解释: * 1. 视图函数与URL的映射.为了让Django能够知道哪个URL对应哪个视图函数, 需要在应用的urls.py文件中定义URL模式.使用path或re_path函数来定义URL模式, 并将…

计算机视觉的职业规划

Hi,大家好。我是茶桁。 今天这节课呢,咱们先不着急讲原理,先来讲讲职业规划的话题。 如果想要直接上手企业级的 AI 项目,可以看看咱们的「AI 人工智能企业项目实战」。 趋势和薪资 首先,先来讲讲就业的趋势。其实学…

Python学习笔记20:进阶篇(九)常见标准库使用之sys模块和re模块

前言 本文是根据python官方教程中标准库模块的介绍,自己查询资料并整理,编写代码示例做出的学习笔记。 根据模块知识,一次讲解单个或者多个模块的内容。 教程链接:https://docs.python.org/zh-cn/3/tutorial/index.html 错误输出…

python笔记3

1.通过乘法多次打印,以及字符串相加的合体打印 xzzz yyyy print(xy) print(x*10)#与一个数为打印多少次 2.设置俩个变量,可以通过下面的方法来判断是否一个元素是否在另一个元素中,返回bool值 xzzz yyyy print(xy) print(x*10)#与一个数为打…

算法学习笔记——单双链表及其反转—堆栈诠释

单双链表及其反转——堆栈诠释 按值传递 int、long、byte、short、char、float、double、boolean和String 都是按值传递 概念:在方法被调用时,实参通过形参把它的内容副本传入方法内部,此时形参接收到的内容是实参值的一个拷贝,…

Windows 获取打印机及端口号方法 (C#)

1. 打开注册表编辑器 regedit 2.选择如下配置 计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Device 3. 代码 C# using System; using Microsoft.Win32;class Program {static void Main(){string registryPath "SOFTWARE\Microsoft\Windows …

解决pycharm安装dlib失败的问题

今天使用pycharm来学习opencv人脸识别库face-recognition的时候出现了一点小问题,在pycharm中直接安装face-recognition会失败,说是因为缺少依赖库dlib,但是直接使用pycharm安装dlib库也有问题,不知道大家遇到没有 错误提示 note…

【unity实战】Unity中基于瓦片的网格库存系统——类似《逃离塔科夫》的库存系统

最终效果 文章目录 最终效果前言素材下载图片配置获取格子坐标动态控制背包大小添加物品移动物品物品跟随鼠标创建物品的容器,定义不同物品修改物品尺寸修复物品放置位置问题按物品尺寸占用对应大小的格子判断物品是否超出边界范围物品放置重叠,交换物品…

全景图片/老照片/动漫图片一键无损放大与修复

在日常生活中,我们经常使用系统自带的图片处理软件来对图片进行缩放操作,从而实现放大或缩小图片。然而,这种方法会带来一个问题:如果原始图片较小,放大后会导致精度损失,使图片变得模糊。 近年来&#xf…