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

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



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


目录
相关文章
|
4天前
|
存储 Unix Linux
手写操作系统(4)——计算机是如何启动的?BIOS、GRUB、文件系统......
手写操作系统(4)——计算机是如何启动的?BIOS、GRUB、文件系统......
14 1
|
1天前
|
存储 算法 安全
深入理解操作系统的虚拟内存管理
【5月更文挑战第18天】在现代操作系统中,虚拟内存管理是一项核心功能,它允许系统使用有限的物理内存来模拟出看似无限的地址空间。本文将详细探讨虚拟内存的基本概念、工作原理及其在操作系统中的应用。我们将从虚拟内存的定义出发,解析其背后的关键技术如分页、分段和请求调页机制,并讨论其在提高系统性能和安全性方面的重要性。通过具体示例和案例分析,本文旨在为读者提供一个清晰的虚拟内存管理知识框架。
|
3天前
|
存储 缓存 安全
操作系统(14)----文件系统的结构
操作系统(14)----文件系统的结构
9 1
|
4天前
【操作系统】实验八 proc文件系统
【操作系统】实验八 proc文件系统
8 1
|
4天前
|
Linux 开发工具 C语言
【操作系统】实验四 增加Linux系统调用
【操作系统】实验四 增加Linux系统调用
14 1
|
4天前
|
NoSQL Ubuntu Linux
【操作系统】实验三 编译 Linux 内核
【操作系统】实验三 编译 Linux 内核
9 1
|
4天前
|
存储 Linux 网络安全
【操作系统】实验二 Proc文件系统
【操作系统】实验二 Proc文件系统
7 1
|
4天前
|
安全 Linux 网络安全
【操作系统】实验一 Linux操作系统安装
【操作系统】实验一 Linux操作系统安装
9 3
|
4天前
|
Ubuntu Unix Java
【操作系统原理】—— 文件系统编程
【操作系统原理】—— 文件系统编程
7 0
|
4天前
|
存储 Linux 程序员
【操作系统原理】—— Linux内存管理
【操作系统原理】—— Linux内存管理
9 0
http://www.vxiaotou.com