个人主页:Sarapines Programmer
系列专栏:《操作系统实验室》
诗赋清音:柳垂轻絮拂人衣,心随风舞梦飞。 山川湖海皆可涉,勇者征途逐星辉。
目录
1 初识Linux OS
2 文件系统的管理与使用
1. 实验目的
2. 实验准备
3. 实验内容
4. 实验心得
总结
Linux是一种开源的Unix-like操作系统内核,它是基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。Linux内核最初是由芬兰程序员Linus Torvalds在1991年创建的,之后成为自由软件和开源社区的一个主要项目。
以下是Linux操作系统的一些主要特点和组成部分:
内核(Kernel): Linux内核是操作系统的核心,它管理系统资源,如处理器、内存、设备驱动程序等。Linus Torvalds最初编写了Linux内核,它是Linux操作系统的基础。
Shell(命令解释器): Linux操作系统使用命令行界面(CLI),用户与系统交互通过Shell。用户可以通过输入命令执行各种任务,管理文件、进程、权限等。常见的Shell包括Bash(Bourne Again SHell)和Zsh。
文件系统: Linux支持多种文件系统,包括Ext4、XFS、Btrfs等。文件系统负责管理存储设备上的文件和目录,以及文件的权限、所有权等信息。
用户界面: 虽然Linux以CLI为主,但也支持图形用户界面(GUI)。常见的Linux桌面环境有GNOME、KDE、XFCE等,它们提供了直观的用户体验。
软件包管理系统: 大多数Linux发行版都有自己的软件包管理系统,用于安装、更新和删除软件。常见的包管理工具有APT(Debian/Ubuntu)、YUM(Red Hat/CentOS)、Pacman(Arch Linux)等。
网络功能: Linux具有强大的网络功能,支持各种网络协议和服务。它可以作为服务器运行各种网络服务,如Web服务器(Apache、Nginx)、邮件服务器(Postfix、Sendmail)、文件服务器(Samba)等。
多用户和多任务: Linux是一个多用户系统,多个用户可以同时访问同一台机器。它也是一个多任务系统,可以同时运行多个进程。
安全性: Linux以安全性而闻名,系统管理员可以设置用户权限、访问控制列表(ACLs)等来确保系统的安全性。
开源和自由: Linux是开源软件,其源代码可以被任何人查看、修改和分发。大多数Linux发行版是免费提供的,用户可以自由选择、使用和分发。
发行版(Distribution): 由于Linux内核是开源的,不同的组织和社区创建了各种Linux发行版,例如Ubuntu、Debian、Fedora、CentOS、Arch Linux等。每个发行版都有自己的特点和包管理系统。
总体而言,Linux操作系统是一个强大、灵活且可定制的操作系统,广泛应用于服务器、嵌入式系统、超级计算机等各种领域。
理解磁盘分区、挂载、卸载的基本概念。
掌握与文件系统管理相关的命令操作。
提高对操作系统存储管理原理的实际应用能力。
获取 Linux 镜像文 件:下载适用于虚拟机的 Linux 镜像文件,比如 Ubuntu 21.04,从 Ubuntu 官方网站 获取。
安装虚拟化软件:安装 VMware Workstation 或 Virtualbox,两者提供简便的虚拟机管理和配置。
创建 Linux 虚拟机:打开虚拟化软件,按照指引创建新虚拟机。设置内存为 2GB 或更多,其余选项选择默认 值。加载下载好的 Linux 系统 ISO 镜像文件,启动虚拟机完成 Linux 系统安装。
(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 #列出整个目录的大小
磁盘管理概念理解: 通过本次实验,我深刻理解了磁盘分区、挂载、卸载的核心概念。磁盘分区的灵活运用使得文件系统得以有序组织,而挂载和卸载的操作则决定了文件系统的可访问性,为数据的有效管理提供了基础支持。
文件系统命令掌握: 在实验中,我熟悉了一系列与文件系统管理相关的命令,包括find、locate、dd、ln、mknod、mkfifo、df、du。通过find命令,我能够高效定位文件在指定文件系统中的位置,而locate命令则在文件名查找上发挥了巨大的便利。同时,了解和掌握dd、ln、mknod、mkfifo等命令的功能,进一步提升了我对文件系统管理的全面认知。
问题总结与细致注意: 尽管这次实验相对简单,但我也认真记录了实验过程中的一些细节,包括对问题的及时解决。这让我认识到,在实验过程中稍微注意细节,能够更加高效地完成任务,确保实验的顺利进行。
Linux操作系统的领域就像一片未被勘探的信息大海,引领你勇敢踏入开源系统的神秘领域。这是一场独特的学习冒险,从基本概念到系统架构,逐步揭示更深层次的操作系统原理、命令行工具和高级系统管理的奥秘。
渴望挑战Linux操作系统的学习路径和掌握系统管理技术?不妨点击下方链接,一同探讨更多Linux操作系统的奇迹吧。我们推出了引领趋势的 Linux专栏:《探秘Linux | 操作系统解密》,旨在深度探索Linux的实际应用和创新。