第1周 作业
目录
1.VMware Workstation下载与安装
1.1 VMware Workstation下载
1.2 VMware Workstation安装
2. Rocky、Ubuntu安装
2.1 安装前置网络配置
打开VMware Workstation,编辑——》虚拟网络编辑器

仅主机设置子网网段:192.168.10.0,如下图:

NAT设置子网网段为10.0.0.0,DHCP设置起始地址为10.0.0.150,结束地址为10.0.0.254,如下图:

2.2 新建虚拟机
1.点击左上角“文件”,在下拉中选择第一项“新建虚拟机”



注意:这里不同系统安装版本会有所不同。如果是安装rocky9推荐直接选 Red Hat Enterprise Linux 9 64 位,若是安装的是欧拉(openEuler)就选 其他Linux 6.x 内核 64位 。










在左侧菜单栏中,定位到刚新建的虚拟机双击找到 CD/DVD,再双击打开设置选上对应系统ISO文件。
2.3 Rocky安装过程







最后点击beginInstall即可。
2.4 Ubuntu安装过程







官方默认地址:http://cn.archive.ubuntu.com/ubuntu/
国内阿里云、清华镜像地址:
https://mirrors.aliyun.com/ubuntu 、 https://mirrors.tuna.tsinghua.edu.cn/ubuntu
3. 什么是shell
Shell 本质是用户与操作系统内核之间的命令解释器和交互界面。
它接收用户输入的命令,翻译成内核能理解的指令,再将执行结果反馈给用户。
3.1 shell的核心作用
1. 命令解释:直接执行用户在终端输入的单条命令,比如ls查看目录、cd切换路径。
2. 控制流程:支持条件判断(if-else)、循环(for/while)等逻辑,让命令执行更灵活。
3. 脚本编程:将一系列命令写成.sh后缀的脚本文件,实现批量自动化操作,比如定时备份、批量处理文件。
3.2 常见的各类shell及特点
| shell名称 | 核心特点 | 应用场景 |
|---|---|---|
| Bash(Bourne Again Shell) | 1. 最主流,是大多数 Linux 发行版(如 Ubuntu、CentOS)的默认 Shell 2. 兼容早期的 Sh,支持脚本编程和丰富的命令扩展 | 日常终端操作、编写跨 Linux 系统的通用脚本,新手入门首选 |
| Zsh(Z Shell) | 1. 功能比 Bash 更强大,支持自动补全(命令、路径、参数)、语法高亮 2. 可通过插件(如 Oh My Zsh)扩展,自定义程度极高 | 追求高效终端体验的用户,适合开发、运维人员提升操作效率 |
| Fish(Friendly Interactive Shell) | 1. 开箱即用,默认自带语法高亮、自动建议,无需复杂配置 2. 语法更简洁,对新手更友好 | 终端新手,或不想花时间配置 Shell、追求 “零门槛” 体验的用户 |
| Sh(Bourne Shell) | 1. 最早的 Unix Shell 之一,语法简洁但功能基础 2. 兼容性极强,所有 Unix/Linux 系统都支持 | 编写需要兼容最早期 Unix 系统的脚本,日常使用较少 |
| Csh/Tcsh(C Shell) | 1. 语法类似 C 语言,适合习惯 C 语言编程的用户2. 支持命令历史、别名等功能,但脚本兼容性不如 Bash | 老 Unix 用户或习惯 C 语言语法的开发者,目前使用比例较低 |
3.3 Shell高频基础命令速查手册
| 命令 | 核心功能 | 示例 |
|---|---|---|
| ls | 查看当前目录下的文件/文件夹 | ls -l(展示详细信息,含权限、大小);ls -a(显示隐藏文件) |
| cd | 切换目录 | cd /home(切换到 /home 目录);cd ~(回到当前用户的家目录);cd ..(返回上一级目录) |
| pwd | 查看当前所在目录的完整路径 | 直接输入pwd,终端会输出如/home/user/doc的路径 |
| mkdir | 创建新文件夹 | mkdir test(在当前目录建 “test” 文件夹);mkdir -p a/b/c(创建嵌套文件夹 a/b/c) |
| touch | 创建空文件 | touch note.txt(在当前目录创建 “note.txt” 文件) |
| cp | 复制文件/文件夹 | cp note.txt test/(把 note.txt 复制到 test 文件夹);cp -r test/ new_test/(复制整个 test 文件夹到 new_test) |
| mv | 移动/重命名文件/文件夹 | mv note.txt test/(把 note.txt 移到 test 文件夹);mv old.txt new.txt(把 old.txt 重命名为 new.txt) |
| rm | 删除文件/文件夹 | rm note.txt(删除 note.txt 文件);rm -r test/(删除整个 test 文件夹,需谨慎) |
| cat | 查看文件内容(适合短文件) | cat note.txt(直接在终端显示 note.txt 的全部内容 |
4.man命令
4.1 man命令(核心帮助工具)
man [章节号] 目标(章节号可选,默认优先查最低章节)
| 章节号 | 内容类型 | 示例 |
|---|---|---|
| 1 | 用户可执行命令(最常用) | man 1 ls(查 ls 命令用法) |
| 5 | 配置文件格式 |
|
| 8 | 系统管理员命令 | man 8 systemctl |
注意:
- 忘记命令用法时,优先用
命令 --help快速回忆核心选项,复杂场景再查man。 man手册章节号可通过whatis 命令查看(如whatis passwd会显示其在哪些章节有文档)
man 页面操作技巧:
- 翻页:
PageUp上翻,PageDown下翻 - 搜索:
/关键词(向下搜)、?关键词(向上搜),n跳至下一个结果 - 退出:按
q键
4.2 其他帮助方式
| 方法 | 特点 | 示例 |
|---|---|---|
| 命令 --help | 快速查看核心用法(简洁常用) | ls --help、cp --help |
| info 命令 | 比 man 更详细,支持跨章节链接 | info grep |
| /usr/share/doc | 软件官方文档目录(含说明 / 变更) | cd /usr/share/doc/bash |
4.3 常用命令分类
4.3.1 文件操作类
| 命令 | 功能 | 基本用法(关键选项) | 示例 |
|---|---|---|---|
| ls | 列出目录内容 |
| ls -la /home(列 /home 下所有文件详情) |
| cp | 复制文件 / 目录 |
| cp -r /data /backup(复制目录) |
| mv | 移动 / 重命名文件 |
| mv file.txt docs/(移到 docs 目录) |
| rm | 删除文件 / 目录 |
| rm -rf old_dir(强制删目录) |
| touch | 创建空文件 / 改时间 | touch 文件名 | touch newfile.txt |
| cat | 查看文件内容 |
| cat -n test.log |
| grep | 文本搜索 |
| grep -in "error" app.log |
4.3.2 目录操作类
| 命令 | 功能 | 基本用法 | 示例 |
|---|---|---|---|
| cd | 切换工作目录 |
| cd /usr/local |
| pwd | 显示当前目录路径 | pwd | pwd(输出如:/home/user) |
| mkdir | 创建目录 |
| mkdir -p dir1/dir2(创建嵌套目录) |
| rmdir | 删除空目录 | rmdir 目录(仅删空目录,非空用rm -r) | rmdir empty_dir |
4.3.3 系统管理类
| 命令 | 功能 | 基本用法 | 示例 |
|---|---|---|---|
| ps | 查看进程状态 | ps [选项]aux:显示所有进程(用户 / CPU / 内存) | `ps aux |
| top | 实时监控系统资源 | top(默认按 CPU 排序,P键切换 CPU 排序,M键切换内存排序,q退出) | top |
| df | 查看磁盘空间 | df [选项]-h:人类可读单位(GB/MB) | df -h(显示各分区使用率) |
| free | 查看内存使用 | free [选项]-h:人类可读单位 | free -h |
| systemctl | 管理系统服务 | systemctl [动作] 服务名动作:start(启动)/stop(停止)/status(状态) | systemctl restart nginx |
4.3.4 权限管理类
| 命令 | 功能 | 基本用法 | 示例 |
|---|---|---|---|
| chmod | 修改文件权限 | 数字法:chmod 权限值 目标(r=4/w=2/x=1)符号法:chmod u/g/o +/- 权限 目标 | chmod 755 script.sh(所有者可读可写可执行, others 只读可执行) |
| chown | 修改文件所有者 | chown 用户名:组名 目标 | chown root:root file.txt |
4.3.5 压缩/解压类
| 命令 | 功能 | 基本用法(关键选项) | 示例 |
|---|---|---|---|
| tar | 打包 / 压缩 / 解压 | 压缩:tar -zcvf 包名.tar.gz 源(z=gzip,c = 创建,v = 显示过程,f = 包名)解压:tar -zxvf 包名.tar.gz | tar -zcvf docs.tar.gz ./docs |
| zip | 压缩为 zip 格式 | zip 包名.zip 源 | zip files.zip *.txt |
| unzip | 解压 zip 格式 | unzip 包名.zip-d 目录:指定解压目录 | unzip files.zip -d ./output |
4.3.6 网络相关类
| 命令 | 功能 | 基本用法 | 示例 |
|---|---|---|---|
| ping | 测试网络连通性 |
| ping -c 4 baidu.com |
| ifconfig | 查看网络接口信息 | ifconfig(或ip addr,现代系统推荐) | ifconfig eth0(查看 eth0 网卡信息) |
| netstat | 查看网络连接 / 端口 | netstat [选项]-tuln:显示监听的 TCP/UDP 端口(t=TCP,u=UDP,l = 监听,n = 数字显示) | netstat -tuln(查开放端口) |
5. Linux文件系统结构及功能
| 目录路径 | 核心功能 | 权限要求 | 使用场景 |
|---|---|---|---|
| / | 整个文件系统的根节点,所有目录和文件均挂载于此 | 仅 root 用户可修改目录结构,所有用户可读 | 系统所有目录的 “起点”,如 /home、/etc 均为其直接子目录 |
| /bin | 存放所有用户可执行的基础命令,保障系统基础操作 | 普通用户:可读、可执行;root:可修改 | 执行 ls(查看目录)、cp(复制文件)、cat(查看文件内容)等命令 |
| /sbin | 存放仅管理员可用的系统管理命令,用于系统维护 | 仅 root 用户:可读、可执行;普通用户无权限 | 执行 shutdown -h now(关机)、ifconfig(配置网卡)、mount(挂载设备) |
| /etc | 存放所有系统级配置文件,涵盖系统、软件的核心设置 | 仅 root 用户:可读、可修改;普通用户:仅可读 | 编辑 passwd(管理用户账号)、fstab(设置开机自动挂载)、network/interfaces(配置网络) |
| /home | 普通用户的专属家目录集合,每个用户对应一个同名子目录 | 仅对应用户:可读、可写、可修改;其他用户无权限 | 用户存储个人文档(如 ~/document)、下载文件(如 ~/download)、个人配置 |
| /root | 管理员(root 用户)的专属家目录,独立于 /home | 仅 root 用户:可读、可写、可修改;所有普通用户无权限 | 管理员存放个人管理脚本、临时配置文件,避免与普通用户文件混淆 |
| /tmp | 存放系统 / 程序的临时文件,属于公共临时空间 | 所有用户:可读、可写、可执行;系统定期清理 | 程序运行时生成的临时缓存(如压缩解压临时文件)、用户临时存放文件(重启后清空) |
| /dev | 以文件形式映射所有硬件设备(硬盘、鼠标、打印机等) | 仅 root 用户:可修改设备权限;普通用户:部分设备可读 | 访问第一块硬盘(/dev/sda)、读取随机数据(/dev/random)、操作光驱(/dev/cdrom) |
| /media | 系统自动挂载可移动设备的默认目录(无需手动创建挂载点) | 普通用户:对已挂载设备可读、可写(视设备权限) | 插入 U 盘后自动生成 media/usb0、插入光盘后生成 media/cdrom |
| /mnt | 用户手动挂载临时设备的自定义目录(需手动创建挂载点) | 仅 root 用户:可创建挂载点、执行挂载;普通用户:挂载后可访问 | 手动挂载额外硬盘分区(mount /dev/sdb1 /mnt/data)、挂载远程共享目录 |
| /usr | 存放非系统基础的用户共享程序 / 资源,类似 Windows 的 Program Files | 仅 root 用户:可修改(如安装软件);普通用户:可读、可执行 | 运行 usr/bin/git(版本控制工具)、查看 usr/share/doc(软件文档)、调用 usr/lib/python3(Python 库) |
| /opt | 存放独立软件包(如商业软件、手动编译的大型软件),目录隔离性强 | 仅 root 用户:可安装 / 卸载软件;普通用户:软件运行时可访问 | 安装 Chrome 浏览器(opt/google-chrome)、部署 Oracle 数据库(opt/oracle) |
| /lib | 存放核心库文件,是 /bin、/sbin 目录命令的依赖库(类似 Windows 的 .dll) | 普通用户:可读;root 用户:可读、可修改(禁止随意删除,否则命令失效) | 修复 ls 命令依赖(libc.so.6 是 ls 的核心依赖库)、运行 32 位程序时加载基础库 |
| /boot | 存放系统启动必需的文件,包括 Linux 内核、启动加载器(GRUB)配置、启动镜像 | 普通用户:仅可读;root 用户:可读、可修改(修改需谨慎,否则无法启动) | 查看已安装内核版本(ls /boot/vmlinuz-*)、修复 GRUB 启动故障(编辑 /boot/grub/grub.cfg) |
| /var | 存放系统动态变化的文件,如日志、缓存、邮件、数据库数据,内容会随系统运行增长 | 普通用户:部分目录可读(如 /var/log);root 用户:可读、可修改 | 查看系统日志(cat /var/log/syslog)、查看 Apache 访问日志(/var/log/apache2/access.log)、存放 MySQL 数据(/var/lib/mysql) |
6.什么是OSI模型
| 层级 | 层名 | 核心作用 | 核心协议/设备 |
|---|---|---|---|
| 7 | 应用层 | 为应用程序提供网络服务 | HTTP、HTTPS、FTP、DNS、SMTP |
| 6 | 表示层 | 数据格式转换、加密解密 | JPEG、MPEG、SSL/TLS(加密) |
| 5 | 会话层 | 管理会话连接(建立 / 终止) | SMPP、RPC |
| 4 | 传输层 | 端到端可靠传输、流量控制 | TCP、UDP |
| 3 | 网络层 | 跨网络路由、IP 地址定位 | IP、ICMP、ARP;路由器 |
| 2 | 数据链路层 | 帧封装、MAC 地址识别 | Ethernet、PPP;交换机 |
| 1 | 物理层 | 比特流传输、物理信号转换 | RS-232、RJ45;集线器、网线 |
7. 文件元数据
核心定义:文件元数据(File Metadata)是用于描述文件特征、属性和上下文的数据,不包含文件本身的实际内容。它主要用于操作系统识别、管理和访问文件。
7.1 元数据主要分类
1.基本属性:描述文件的基础标识信息。
- 文件(Filename):用户识别文件的名称。
- 文件类型(File Type):如文本文件、图片文件、可执行文件等
- 创建时间(Creation Time):文件首次生成的时间
- 修改时间(Modification Time):文件内容最后更新的时间
- 访问时间(Access Time):文件最后被读取的时间
2.存储属性:描述文件在存储设备上的位置和占用空间。
- 文件大小(File Size):文件实际内容占用的字节数
- 存储位置(Storage Location):文件在磁盘上的物理地址或逻辑路径
- 索引节点号(Inode Number):Linux/Unix 系统中唯一标识文件的编号,元数据主要存储在索引节点中
3.权限属性:描述文件的访问控制规则。
- 所有者(Owner):拥有文件的用户账号
- 所属组(Group):文件所属的用户组
- 访问权限(Permissions):如读(r)、写(w)、执行(x)权限,分别对应所有者、所属组和其他用户
7.2 元数据的主要作用
- 文件管理:操作系统通过元数据快速定位文件、区分文件类型,比如通过文件名和路径找到文件,通过文件类型决定用什么程序打开。
- 数据恢复:当文件目录损坏时,可通过磁盘中的元数据(如索引节点)重建文件系统,恢复丢失的文件。
- 权限控制:基于元数据中的所有者、所属组和权限属性,限制不同用户对文件的访问操作,保障文件安全。
- 系统优化:通过元数据中的访问时间、修改时间,系统可实现缓存策略、磁盘整理等优化操作,提升文件读写效率。
7.3 硬链接与软链接的核心区别
| 对比维度 | 硬链接(Hard Link) | 软链接(Symbolic Link) |
|---|---|---|
| 本质 | 同一文件的多个 “入口”,共享同一个索引节点(Inode) | 一个独立的特殊文件,内容是源文件的路径(指向源文件的索引节点) |
| 与源文件关系 | 无 “源” 与 “链接” 的主次之分,删除任意一个不影响其他 | 依赖源文件,源文件删除后,软链接会变成 “无效链接”(红框或闪烁提示) |
| 跨文件系统 | 不支持,只能在同一文件系统内创建 | 支持,可链接不同文件系统(如 C 盘链接到 D 盘)的文件 |
| 文件大小 | 与源文件大小相同(实际是共享存储,并非重复占用) | 仅占用少量空间,大小等于存储源文件路径所需的字节数 |
| 创建命令(Linux) | ln 源文件 硬链接文件 | ln -s 源文件 软链接文件 |
| 指向对象 | 只能指向文件,不能指向目录 | 可指向文件或目录 |
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)