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

🌈个人主页: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.hqwc.cn/news/312639.html

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

相关文章

ARCGIS PRO SDK GeometryEngine处理独立几何图形

1、面积类:pol为Polygon 1).Area:获取几何图形的面积。这是使用二维笛卡尔数学来计算面积的平面测量 double d GeometryEngine.Instance.Area(pol) 2).GeodesicArea:获取几何图形的椭球面积 …

CSAPP: LinkBomb 重定位和链接题解(一)

前言 我看了一下,网上关于 LinkBomb 的题解不是很多,LinkBomb 不是 CSAPP 目前大纲的内容,大多数都是写的 LinkLab。如果你做的作业内容是要求每关输出学号,那么你就是跟我一样的 LinkBomb 的实验(需要注意的是&#…

分布式数据库事务故障恢复的原理与实践

关系数据库中的事务故障恢复并不是一个新问题,自70年代关系数据库诞生之后就一直伴随着数据库技术的发展,并且在分布式数据库的场景下又遇到了一些新的问题。本文将会就事务故障恢复这个问题,分别讲述单机数据库、分布式数据库中遇到的问题和…

探索工业智能检测,基于轻量级YOLOv8开发构建焊接缺陷检测识别系统

焊接缺陷相关的开发实践在前面的博文中已经有所涉及了,感兴趣的话可以自行移步阅读即可:《探索工业智能检测,基于轻量级YOLOv5s开发构建焊接缺陷检测识别系统》 将智能模型应用和工业等领域结合起来是有不错市场前景的,比如&…

【C++】STL 容器 - map 关联容器 ① ( std::map 容器简介 | std::map 容器排序规则 | std::map 容器底层实现 )

文章目录 一、std::map 容器1、std::map 容器简介2、std::map 容器排序规则3、std::map 容器底层实现 二、代码示例 - std::map 容器1、代码示例2、执行结果 一、std::map 容器 1、std::map 容器简介 std::map 容器 是 C 语言 标准模板库 ( STL , Standard Template Library ) …

在高并发场景下,缓存“雪崩”了怎么办

1. 缓存雪崩的常见原因 缓存“雪崩”是指,因为部分缓存节点不可用,而导致整个缓存系统(甚至是整个服务系统)不可用。缓存“雪崩”主要分为以下两种情况: 因缓存不支持 rehash 而导致的缓存“雪崩”缓存支持 rehash 时…

[BUG]Datax写入数据到psql报不能序列化特殊字符

1.问题描述 Datax从mongodb写入数据到psql报错如下 org.postgresql.util.PSQLException: ERROR: invalid bytesequence for encoding "UTF8": 0x002.原因分析 此为psql独有的错误,不能对特殊字符’/u0000’,进行序列化,需要将此特殊字符替…

WEB 3D技术 three.js通过 GLTFLoader 导入并应用 gltf/glb 3D资源

上文 WEB 3D技术 three.js 雾 基础使用讲解我们讲了雾的基本使用方法 但是 如果我们要做一个树林 一颗一颗树去加 那真的是要累死了 我们一定是在建模软件上 建模好这样的模型 然后将模型导入到场景中 官网中搜索 GLTFLoader 在我们日常WEB开发中 用的最多的3D格式 就是 GLTF…

【拆盲盒02】算法题

题目 : 假设顺序表L中的元素按从小到大的次序排列,编写算法删除顺序表中“多余”的数据元素,即操作之后的顺序表中所有元素的值都不相同,要求时间尽可能的少;并对顺序表A(1,1,2,2&am…

跳圈圈^^

欢迎来到程序小院 跳圈圈 玩法&#xff1a;女骑士点击左下按钮越过低处火圈&#xff0c;点击右下按钮越过高处火圈&#xff0c;越过火圈获得分数&#xff0c;快去挑战吧^^。开始游戏https://www.ormcc.com/play/gameStart/235 html <div id"loadicon"><im…

WeNet语音识别调用通义千问

WeNet语音识别调用通义千问 WeNet语音识别对通义千问&#xff08;Qwen-72B-Chat Bot&#xff09;调用&#xff0c;首先通过WeNet将用户的语音输入转录为文本&#xff0c;然后将此文本输入通用问答模型以获取答案。 本人原创作品&#xff0c;体验一下 连续对话 WeNet语音识别…

数据结构【线性表篇】(一)

数据结构【线性表篇】(一&#xff09; 文章目录 数据结构【线性表篇】(一&#xff09;前言为什么突然想学算法了&#xff1f;为什么选择码蹄集作为刷题软件&#xff1f; 目录一、顺序表(一)、顺序表的定义(二)、顺序表的插入删除(三)、顺序表的查找 二、完整代码(一)、顺序表的…