【Linux操作系统】探秘Linux奥秘:文件系统的管理与使用

news2025/1/20 18:25:08

🌈个人主页:Sarapines Programmer
🔥 系列专栏:《操作系统实验室》
🔖诗赋清音:柳垂轻絮拂人衣,心随风舞梦飞。 山川湖海皆可涉,勇者征途逐星辉。

目录

🪐1 初识Linux OS

🪐2 文件系统的管理与使用

🌍1. 实验目的

🌍2. 实验准备

🌍3. 实验内容

🌍4. 实验心得

📝总结


🪐1 初识Linux OS

Linux是一种开源的Unix-like操作系统内核,它是基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。Linux内核最初是由芬兰程序员Linus Torvalds在1991年创建的,之后成为自由软件和开源社区的一个主要项目。

以下是Linux操作系统的一些主要特点和组成部分:

  1. 内核(Kernel): Linux内核是操作系统的核心,它管理系统资源,如处理器、内存、设备驱动程序等。Linus Torvalds最初编写了Linux内核,它是Linux操作系统的基础。

  2. Shell(命令解释器): Linux操作系统使用命令行界面(CLI),用户与系统交互通过Shell。用户可以通过输入命令执行各种任务,管理文件、进程、权限等。常见的Shell包括Bash(Bourne Again SHell)和Zsh。

  3. 文件系统: Linux支持多种文件系统,包括Ext4、XFS、Btrfs等。文件系统负责管理存储设备上的文件和目录,以及文件的权限、所有权等信息。

  4. 用户界面: 虽然Linux以CLI为主,但也支持图形用户界面(GUI)。常见的Linux桌面环境有GNOME、KDE、XFCE等,它们提供了直观的用户体验。

  5. 软件包管理系统: 大多数Linux发行版都有自己的软件包管理系统,用于安装、更新和删除软件。常见的包管理工具有APT(Debian/Ubuntu)、YUM(Red Hat/CentOS)、Pacman(Arch Linux)等。

  6. 网络功能: Linux具有强大的网络功能,支持各种网络协议和服务。它可以作为服务器运行各种网络服务,如Web服务器(Apache、Nginx)、邮件服务器(Postfix、Sendmail)、文件服务器(Samba)等。

  7. 多用户和多任务: Linux是一个多用户系统,多个用户可以同时访问同一台机器。它也是一个多任务系统,可以同时运行多个进程。

  8. 安全性: Linux以安全性而闻名,系统管理员可以设置用户权限、访问控制列表(ACLs)等来确保系统的安全性。

  9. 开源和自由: Linux是开源软件,其源代码可以被任何人查看、修改和分发。大多数Linux发行版是免费提供的,用户可以自由选择、使用和分发。

  10. 发行版(Distribution): 由于Linux内核是开源的,不同的组织和社区创建了各种Linux发行版,例如Ubuntu、Debian、Fedora、CentOS、Arch Linux等。每个发行版都有自己的特点和包管理系统。

总体而言,Linux操作系统是一个强大、灵活且可定制的操作系统,广泛应用于服务器、嵌入式系统、超级计算机等各种领域。


🪐2 文件系统的管理与使用

🌍1. 实验目的

  •  理解磁盘分区、挂载、卸载的基本概念。

  • 掌握与文件系统管理相关的命令操作。

  • 提高对操作系统存储管理原理的实际应用能力。 


🌍2. 实验准备

  • 获取 Linux 镜像文 件:下载适用于虚拟机的 Linux 镜像文件,比如 Ubuntu 21.04,从 Ubuntu 官方网站 获取。

  • 安装虚拟化软件:安装 VMware Workstation 或 Virtualbox,两者提供简便的虚拟机管理和配置。

  • 创建 Linux 虚拟机:打开虚拟化软件,按照指引创建新虚拟机。设置内存为 2GB 或更多,其余选项选择默认 值。加载下载好的 Linux 系统 ISO 镜像文件,启动虚拟机完成 Linux 系统安装。


🌍3. 实验内容

(1)按以下步骤,增加一块硬盘

a.虚拟机添加硬盘

1. 首先关闭linux,然后点击编辑虚拟机设置,在点击添加,在选择硬盘,点击下一步:

   

b.分区

输入fdisk /dev/sda依此输入

   

c.格式化(创建文件系统)

输入“mkfs.xfs /dev/sda1”

报错:Command 'mkfs.xfs' not found, but can be installed with:

apt install xfsprogs

解决:使用apt install xfsprogs安装即可。

  

d.挂载

在终端输入:mkdir /media ,创建新的硬盘的挂载点

在终端键入:mount /dev/sdb1 linux_lab4

e.设置可自动挂载

打开/etc/fstab,添加/dev/sdb1   linux_lab4      ext3    defaults,        0       1

   

f.卸载

g.删除分区

使用lsblk –f 查看系统的分区和挂载情况

  

再使用umount命令将分区挂载的路径卸载掉

命令:umount /dev/sda1,卸载后再用lsblk –f 查看相关信息

卸载完以后,删除分区

输入fdisk /dev/sda

(2)练习与文件系统管理相关的命令:find、locate、dd、ln、mknod、mkfifo、df、du

a. find命令用于文件的查找,从而定位文件在指定文件系统中的位置.

# find /tmp /home -mtime -1 -print   #在/tmp和/home下查找24小时内没有更改的文件

$ find $HOME -mtime 0 #在/home下查找24小时内被更改的文件

在/home下查找属于用户gjshao的C语言程序

# find /home -user gjshao -name "*.c" -print

将当前目录内的所有*.c和*.h的文件打成tar包/tmp/mych.tar

# tar -cvf /tmp/mych.tar `find  . -name "*.[ch]" -type f -print

在/home下查找所有权限为0644用户主为test的文件

# find /home -perm 0644 -user test -print

b. locate命令用于按名查找文件,它需要一个或多个数据库支持,这些数据库由每天的例行工作(crontab)程序来建立和更新.

# locate passwd #查找含passwd者,即*passwd*

# locate -b '\passwd'   #精确匹配passwd

c. dd功能是复制指定的输入文件到指定的输出文件,默认时使用标准I/O。

(1)构造软盘映像文件。

# dd if=/dev/fd0 of=/tmp/fd_img bs=36b   #设I/O块为36b,映像文件为/tmp/fd_img

(2)介质复制。

复制软盘或U盘等,可以使用临时文件,按以下方法进行:

# dd if=/dev/fd0 of=/tmp/mytmpf  bs=36k  #构造映像文件,交换磁盘

# dd if=/tmp/mytmpf of=/dev/fd0 bs=36k   #输出映像文件

# rm -f /tmp/mytmpf    #删除临时文件

d. ln的功能是链接管理,可用于创建文件的硬链接和符号链接。

##在当前目录内建立/tmp/myf的符号链接my_link

# ln -s /tmp/myf  my_link

##在目录/usr/bin内为/bin/ls创建一个硬链接l

# ln /bin/ls  /usr/bin/l

    

e.用于设备文件创建的命令是mknod,专用于命名管道创建的命令是mkfifo.

f. df功能是按指定格式显示系统中已安装文件系统的使用情况, du的功能是按指定单位统计文件或目录的大小。

# df -v   #显示文件系统的使用情况

# df -i   #显示系统i节点的使用情况

# du -h /home/zhangsan    #列出每个子目录的大小

# du -hs /home/zhangsan    #列出整个目录的大小

  


🌍4. 实验心得

  1. 磁盘管理概念理解: 通过本次实验,我深刻理解了磁盘分区、挂载、卸载的核心概念。磁盘分区的灵活运用使得文件系统得以有序组织,而挂载和卸载的操作则决定了文件系统的可访问性,为数据的有效管理提供了基础支持。

  2. 文件系统命令掌握: 在实验中,我熟悉了一系列与文件系统管理相关的命令,包括find、locate、dd、ln、mknod、mkfifo、df、du。通过find命令,我能够高效定位文件在指定文件系统中的位置,而locate命令则在文件名查找上发挥了巨大的便利。同时,了解和掌握dd、ln、mknod、mkfifo等命令的功能,进一步提升了我对文件系统管理的全面认知。

  3. 问题总结与细致注意: 尽管这次实验相对简单,但我也认真记录了实验过程中的一些细节,包括对问题的及时解决。这让我认识到,在实验过程中稍微注意细节,能够更加高效地完成任务,确保实验的顺利进行。


📝总结

Linux操作系统的领域就像一片未被勘探的信息大海,引领你勇敢踏入开源系统的神秘领域。这是一场独特的学习冒险,从基本概念到系统架构,逐步揭示更深层次的操作系统原理、命令行工具和高级系统管理的奥秘。

渴望挑战Linux操作系统的学习路径和掌握系统管理技术?不妨点击下方链接,一同探讨更多Linux操作系统的奇迹吧。我们推出了引领趋势的💻 Linux专栏:《探秘Linux | 操作系统解密》,旨在深度探索Linux的实际应用和创新。🌐🔍

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

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

相关文章

Vue(三):Vue 生命周期与工程化开发

2023 的最后一篇博客,祝大家元旦快乐,新的一年一起共勉! 06. Vue 生命周期 6.1 基本介绍 生命周期就是一个 Vue 示例从 创建 到 销毁 的整个过程,创建、挂载、更新、销毁 有一些请求是必须在某个阶段完成之后或者某个阶段之前执行…

C++ 递归函数 详细解析——C++日常学习随笔

1. 递归函数 1.1 递归函数的定义 递归函数:即在函数体中出现调用自身的函数,即函数Func(Type a,……)直接或间接调用函数本身; 递归函数:在数学上,关于递归函数的定义如下:对于某一函数f(x),其…

多维时序 | MATLAB实现SSA-CNN-GRU-SAM-Attention麻雀算法优化卷积网络结合门控循环单元网络融合空间注意力机制多变量时间序列预测

多维时序 | MATLAB实现SSA-CNN-GRU-SAM-Attention麻雀算法优化卷积网络结合门控循环单元网络融合空间注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实现SSA-CNN-GRU-SAM-Attention麻雀算法优化卷积网络结合门控循环单元网络融合空间注意力机制多变量时间序列预测预测效…

计算机网络:知识回顾

0 本节主要内容 问题描述 解决思路 1 问题描述 通过一个应用场景来回顾计算机网络涉及到的协议(所有层)。如下图所示场景: 学生Bob将笔记本电脑用一根以太网电缆连接到学校的以太网交换机;交换机又与学校的路由器相连&#xf…

Windows10系统的音频不可用,使用疑难解答后提示【 一个或多个音频服务未运行】

一、问题描述 打开电脑,发现电脑右下角的音频图标显示为X(即不可用,无法播放声音),使用音频自带的【声音问题疑难解答】(选中音频图标,点击鼠标右键,然后选择“声音问题疑难解答(T)”…

【Java进阶篇】 ClassNotFoundException和NoClassDefFoundError的区别是什么?

ClassNotFoundException和NoClassDefFoundError的区别 ✔️典型解析✔️扩展知识仓✔️NoSuchMethodError ✔️典型解析 ClassNotFoundException是一个受检异常 (checked exception) 。他通常在运行时,在类加载段尝试加载类的过程中,找不到类的定义时触发…

每个AI/ML工程师必须了解的人工智能框架和工具

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

数据结构与算法教程,数据结构C语言版教程!(第二部分、线性表详解:数据结构线性表10分钟入门)三

第二部分、线性表详解:数据结构线性表10分钟入门 线性表,数据结构中最简单的一种存储结构,专门用于存储逻辑关系为"一对一"的数据。 线性表,基于数据在实际物理空间中的存储状态,又可细分为顺序表&#xff…

PyTorch的Tensor(张量)

一、Tensor概念 什么是张量? 张量是一个多维数组,它是标量、向量、矩阵的高维拓展 Tensor与Variable Variable是torch.autograd中的数据类型,主要用于封装Tensor,进行自动求导。 data: 被包装的Tensorgrad: data的梯度&…

windows进行udp端口转发,解决项目中服务器收不到组播数据的问题

说明 windows7的netsh interface portproxy命令只支持tcp端口转发 如果要进行udp端口转发可以使用sokit 运行sokit 端口转发(以为tcp作为讲解,udp类似) 选择转发器 输入监听地址(SRC地址)和端口 输入转发地址&am…

【Linux】Linux 下基本指令 -- 详解

无论是什么命令,用于什么用途,在 Linux 中,命令有其通用的格式: command [-options] [parameter] command:命令本身。-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的…

MySQL存储过程、创建、调用、查看、删除、存储过程与函数的额区别、缺陷等、存储过程写分页等

MySQL存储过程 1、存储过程的定义2、存储过程使用的意义3、存储过程的创建4、存储过程的调用5、存储过程的查看6、存储过程的删除7、存储及过程与函数的区别8、存储过程的缺陷9、存储过程写分页 1、存储过程的定义 存储过程:存储过程(Stored Procedure&…

【Java EE初阶三 】线程的状态与安全(下)

3. 线程安全 线程安全:某个代码,不管它是单个线程执行,还是多个线程执行,都不会产生bug,这个情况就成为“线程安全”。 线程不安全:某个代码,它单个线程执行,不会产生bug&#xff0c…

【第5期】前端Vue使用Proxy+Vuex(store、mutations、actions)跨域调通本地后端接口

本期简介 本期要点 本地开发前后端如何跨域调用全局请求、响应处理拦截器处理封装HTTP请求模块编写API请求映射到后端API数据的状态管理 一、 本地开发前后端如何跨域调用 众所周知,只要前端和后端的域名或端口不一样,就存在跨域访问,例如&…

QString设置小数点精度位数

QString设置小数点精度位数 Chapter1 QString设置小数点精度位数Chapter2 Qt中QString.toDouble有效位数6位问题以及数据小数点有效位数的处理问题一:QString.toDouble有效位只有6位问题二:小数点有效位数的问题 Chapter3 qt QString转Double只显示6位数字的问题(精…

FTP的基本介绍

FTP ftp的介绍: ftp是一个可以提供共享文件的服务器,他可以通过iis.msc也就是windows 的服务器管理器来打开,或者通过cmd命令行打开 如何使用iis.msc打开ftp,如何使用cmd打开ftp ,如何匿名登录ftp,ftp和…

设计模式-调停者模式

设计模式专栏 模式介绍模式特点应用场景调停者模式与命令模式的比较代码示例Java实现调停者模式Python实现调停者模式 调停者模式在spring中的应用 模式介绍 调停者模式是一种软件设计模式,主要用于模块间的解耦,通过避免对象之间显式的互相指向&#x…

YOLOv8改进 | 2023注意力篇 | iRMB倒置残差块注意力机制(轻量化注意力机制)

一、本文介绍 本文给家大家带来的改进机制是iRMB,其是在论文Rethinking Mobile Block for Efficient Attention-based Models种提出,论文提出了一个新的主干网络EMO(后面我也会教大家如何使用该主干,本文先教大家使用该文中提出的注意力机制…

Java超高精度无线定位技术--UWB (超宽带)人员定位系统源码

UWB室内定位技术是一种全新的、与传统通信技术有极大差异的通信新技术。它不需要使用传统通信体制中的载波,而是通过发送和接收具有纳秒或纳秒级以下的极窄脉冲来传输数据,从而具有GHz量级的带宽。 UWB(超宽带)高精度定位系统是一…

08.哲说建造者模式(Builder Pattern)

“The odds that we’re in ‘base reality’ is one in billions.” —— Elon Musk 这段话出自马斯克在2016年的一次演讲,“人类活在真实世界的几率,可能不到十亿分之一”。此言一出,可谓一石激起千层浪。有人嘲讽马斯克是“语不惊人死不休…