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

🔖诗赋清音:柳垂轻絮拂人衣,心随风舞梦飞。 山川湖海皆可涉,勇者征途逐星辉。

目录

🪐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的实际应用和创新。🌐🔍

  • 64
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 73
    评论
操作系统文件管理实验的代码和效果因不同的实验要求和语言而异,下面为您提供一个示例: 文件管理实验要求: 使用 C 语言实现一个简单的文件管理系统,具有以下功能: 1. 创建文件 2. 删除文件 3. 打开文件 4. 关闭文件 5. 读取文件内容 6. 写入文件内容 文件管理实验代码: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_FILE_NUM 100 // 最大文件数 // 文件结构体 typedef struct { char filename[20]; // 文件名 int flag; // 文件状态:0-未使用,1-已使用 char content[100]; // 文件内容 } File; int file_num = 0; // 文件数量 File files[MAX_FILE_NUM]; // 文件数组 // 创建文件 void create_file(char *filename) { if (file_num >= MAX_FILE_NUM) { printf("文件数量已达到最大值\n"); return; } for (int i = 0; i < file_num; i++) { if (strcmp(files[i].filename, filename) == 0) { printf("文件名已存在\n"); return; } } strcpy(files[file_num].filename, filename); files[file_num].flag = 1; file_num++; printf("文件创建成功\n"); } // 删除文件 void delete_file(char *filename) { for (int i = 0; i < file_num; i++) { if (strcmp(files[i].filename, filename) == 0) { files[i].flag = 0; printf("文件删除成功\n"); return; } } printf("文件不存在\n"); } // 打开文件 int open_file(char *filename) { for (int i = 0; i < file_num; i++) { if (strcmp(files[i].filename, filename) == 0) { if (files[i].flag == 1) { printf("文件打开成功\n"); return i; } else { printf("文件已被占用\n"); return -1; } } } printf("文件不存在\n"); return -1; } // 关闭文件 void close_file(int index) { if (index >= 0 && index < file_num) { files[index].flag = 1; printf("文件关闭成功\n"); } else { printf("文件不存在\n"); } } // 读取文件内容 void read_file(int index) { if (index >= 0 && index < file_num) { printf("文件内容:%s\n", files[index].content); } else { printf("文件不存在\n"); } } // 写入文件内容 void write_file(int index, char *content) { if (index >= 0 && index < file_num) { strcpy(files[index].content, content); printf("文件写入成功\n"); } else { printf("文件不存在\n"); } } int main() { create_file("test.txt"); int index = open_file("test.txt"); write_file(index, "Hello, world!"); read_file(index); close_file(index); delete_file("test.txt"); return 0; } ``` 文件管理实验效果: ``` 文件创建成功 文件打开成功 文件写入成功 文件内容:Hello, world! 文件关闭成功 文件删除成功 ``` 以上代码为一个简单的文件管理系统,实现了创建、删除、打开、关闭、读取和写入文件的功能。您可以根据具体的实验要求和语言进行修改和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 73
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SarPro

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值