文章目录
第1周作业
1. 简单总结计算机发展相关历史,详细总结服务器硬件和计算机分类相关知识。
2. 制作一个教程,说明vmware软件如何下载安装。安装rocky 系统, ubuntu 系统,并结合xshell演示如何通过虚拟IP登入系统。
3. 结合man命令总结linux常用基本命令用法,以及查看帮助文档的方法。
4. 总结linux文件系统相关知识,并结合操作演示文件操作常见的命令
5. 总结操作系统概念相关视频的知识点
6. 总结常用命令部分的命令使用和演示,最好带有注释信息
7. 总结通配符,管道,重定向,inode知识点,并且结合示例,添加注释信息
一、简单总结计算机发展相关历史,详细总结服务器硬件和计算机分类相关知识。
1、计算机发展相关历史
1. 电子管时代:第一代计算机(1945-1957)
2. 晶体管时代:第二代计算机(1958-1964)
3. 集成电路时代:第三代计算机(1965-1970)
4. 大规模集成电路时代:第四代计算机(1972-至今)
5. 量子计算机/生物计算机:第五代计算机
2、服务器硬件和计算机分类相关知识
**服务器硬件组成:**
1.CPU:
CPU指令集分类: CISC 复杂指令集和 RISC 精简指令集
架构:X86/x86_64 架构 、ARM 架构、POWER架构、RISC-V架构
服务器CPU公司:inter、AMD、IBM
主频和高速缓存(L1,L2,L3)
2.主板
3.内存
特点:断电后数据丢失
内存带宽:指内在与北桥芯片之间的数据传输率,B byte 字节 b bit 位
内存带宽=内存总线频率 x 数据总线位数 / 8
4.硬盘
接口分类:IDE、SCSI、SATA、SAS、光纤通道、M.2
结构分类:机械硬盘 和 固态硬盘
5.网卡
传输速率:1Gbps 千兆网卡、10Gbps、20Gbps 万兆网卡
6.其它硬件(远程管理卡、阵列卡、电源、显卡、机柜)
**计算机分类:**
按规模分
1.超级计算机
2.大型计算机
3.小型计算机
4.微型计算机
按功能和角色分
1.服务器 Server
2.客户机 Client
服务器按外形分类
1.塔式服务器
2.刀片式服务器
3.机架式服务器
二、制作一个教程,说明vmware软件如何下载安装。安装rocky 系统, ubuntu 系统,并结合xshell演示如何通过虚拟IP登入系统。
1.VMware 下载及安装
第一步:下载软件
登录VMware官网下载VMware,目前17版本可免费供个人使用无需购买。
(注:需要注册账号才能下载。)
https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion
第二步:安装软件
17版本适用win10、win11下一步到自定义安装,可更改安装路径,默认即可
继续下一步,用户体验设置都不勾选
下一步开始安装
完成安装,许可证可不输入,点完成。
打开虚拟机开始安装系统
2.安装rocky 系统
分为新建Rocky虚拟机和安装Rocky两部分
新建Rocky虚拟机
打开VMware Workstation,在主页选择“创建新的虚拟机”
使用新建虚拟机向导,选择自定义安装,下一步
硬件兼容性默认是17.5.x,下一步
选择稍后安装操作系统,下一步
操作系统选择 Linux,版本选择 Rocky Linux 64 位。
其他VMware版本没有rocky选项的可以选 CentOS 8。
可以修改虚拟机名称和安装位置,建议名称和位置都不要包含中文。下一步
处理器数量选择2,内核数量1,下一步
虚拟机内存设置为2GB,可以拖动左边滑杆调整,或直接在右侧输入2048。下一步
网络类型选择使用 “NAT”网络,下一步
I/O控制器类型选择 LSI Logic,如果默认不是需要更改到该选项上。下一步
磁盘类型默认是 NVMe, 更改为 SCSI,下一步
创建新的虚拟磁盘,下一步
磁盘容量指定为 200GB,选择“将虚拟磁盘存储为单个文件,不要勾选“立即分配”!!!下一步
选择虚拟磁盘文件的存储位置,可修改位置和文件名,默认即可。下一步
选中刚刚新建的虚拟机,点击右侧“编辑虚拟机设置”选项
在硬件页选择“CD/DVD(IDE)项,右侧选中启动时连接,选中使用ISO镜像文件,
浏览已经下载的Rocky8.6 ISO镜像,确定
#镜像下载地址:
https://mirrors.nju.edu.cn/rocky-vault/8.6/isos/x86_64/Rocky-x86_64-dvd.iso
https://dl.rockylinux.org/vault/rocky/8.6/isos/x86_64/Rocky-x86_64-dvd.iso
光驱设置完成,开始编辑虚拟网络,规划IP地址。
设置NAT网络:
选择VMnet8 这块网卡,选中NAT模式,子网IP输入10.0.0.0,子网掩码 255.255.255.0 ,NAT设置
DHCP设置起始 IP 地址:10.0.0.150 结束 IP 地址:10.0.0.254
开启虚拟机,开始第二部分
安装Rocky8.6
默认光驱启动,加载镜像,开始安装
选择英语
选择磁盘分区
时区选择 shanghai
开启网络,设置主机名 rocky86
设置root用户密码 123456
创建一个普通用户,用户名 mage 密码 123456
等到安装结束,重启系统
选择许可
安装完成,显示登录界面
3.安装ubuntu 系统
分为新建ubuntu虚拟机和安装ubuntu两部分
新建ubuntu虚拟机
可参考
新建Rocky虚拟机
安装ubuntu 系统
开始安装
选择英语
选择不更新,继续安装
选择ubuntu server
配置网络,打开DHCP获取到IP地址
不填写代理
选择国内源加速安装
分区设置默认
创建用户mage,设置 主机名 ubuntu22, 设置一个密码
选中 安装OpenSSH server
开始安装
安装完成重启
登录界面
4. xshell 登录
打开xshell 新建连接
自定义一个名称,协议选SSH,主机填写安装时得到的IP地址
设置用户名和密码
SSH-隧道:把右侧X11转移下 “转发X11连接到(X)的勾去掉
连接到rocky
三、结合man命令总结linux常用基本命令用法,以及查看帮助文档的方法。
1、linux常用基本命令用法
- 查看硬件信息
lscpu #查看cpu信息
free #查看内存大小
free -hs 1 #1秒刷新一次数据
free -hc 2 #刷新2次数据后退出
lsblk #查看硬盘和分区情况
- 查看系统版本信息
arch #查看系统架构
uname -r #查看内核版本
- 时间和日期
date #显示系统时间
date -R #显示时区信息
date +%s #时间戳
clock -s #对钟
hwclock #显示硬件时钟
timedatectl set-timezone Asia/Shanghai #设置时区
cal 31 12 2023 #显示日历 2023年12月31日
- 关机和重启
halt #关机
poweroff #关机
init 0 #关机
shutdown -h now #立即关机
shutdown -r now #立即重启
shutdown -c #取消重启
- 查看用户登录信息
whoami #显示当前用户的用户名
who am i #显示当前用户的用户名、终端、登录时间、来源 IP
who #显示当前已登录的用户信息
w #显示当前所有登录用户的具体信息(用户、终端、来源IP、登录时间、空闲时间、cpu使用时间
- 会话管理
#先安装screen: yum -y install screen | apt install screen
screen -s #创建新 screen 会话
screen -x #加入 screen 会话
screen -r #恢复某 screen 会话
screen -ls #显示所有已经打开的 screen 会话
ctl+a,d #剥离当前 screen 会话
exit #退出并关闭 screen 会话
- 输出信息 echo
echo
echo -n #不换行
echo -e #转义
echo "$PATH" #弱引用,输出变量
echo '$PATH' #强引用,原样输出
echo \$PATH #\原样输出
2、如何查看帮助文档
- whatis & whereis
whatis #显示命令的简短描述,以及对应的 man 手册的章节
mandb #数据初始化,CentOS7 以后
makewhatis #数据初始化,CentOS6 之前
whereis #列出命令或系统文件路径,以及其对应的 man 手册中的文档路径
- 内部命令帮助
help COMMAND #查看内部命令帮助,如:help history
man bash #
- 外部命令帮助
COMMAND --help #
man COMMAND #
- man 命令
man passwd #默认打开第一章帮助
- info 命令
四、总结linux文件系统相关知识,并结合操作演示文件操作常见的命令
1、Linux文件系统相关知识:
- 文件系统目录结构
文件和目录被组织成一个单根倒置树结构
文件系统从根目录下开始,用“/”表示
根文件系统(rootfs):root filesystem
标准Linux文件系统(如:ext4),文件名称大小写敏感,例如:MAIL, Mail, mail, mAiL
以 . 开头的文件为隐藏文件
路径分隔的 / 文件名最长255个字节 包括路径在内文件名称最长4095个字节
蓝色–>目录 绿色–>可执行文件 红色–>压缩文件 浅蓝色–>链接文件 灰色–>其他文件
除了斜杠和NUL,所有字符都有效,但使用特殊字符的目录名和文件不推荐使用,有些字符需要用引号来引用
每个文件都有两类相关数据:元数据:metadata,即属性, 数据:data,即文件内容
- 常见的文件系统目录功能
/boot #引导文件存储目录,内核文件、引导加载器grub,bootloader
/bin #所有用户使用的基本命令
/sbin #管理类的基本命令
/lib #库文件,内核模块文件
/etc #配置文件目录
/home/USERNAME #普通用户的家目录
/root #管理员的家目录
/media #便携式移动设备挂载点
/mnt #临时文件系统挂载点
/dev #设备文件,特殊文件存储位置
/opt #第三方应用程序的安装位置
/srv #系统上运行的服务用到的数据
/tmp #临时文件存储位置
/usr #universal shared,read-only data
/var #可变数据目录
/var/log #日志目录及文件
/proc
- 应用程序的组成部分
1. 二进制文件
2. 库文件
3. 配置文件
4. 帮助文件
- Linux 下的文件类型
- #普通文件
d #目录文件
l #链接文件
b #块设备文件
c #字符设备文件
p #管道文件
s #套接字文件
2、文件操作常见的命令:
pwd #显示当前工作目录
basename #基名,只取文件名不要路径
dirname #目录名,只取路径不要文件名
cd #更改目录
ls #列出目录内容
stat #查看文件状态
file #确定文件内容
touch #创建空文件
cat #显示文件内容
cp #复制文件和目录,-R递归
mv #移动和重命名文件
rm #删除文件和目录,-r -f
tree #显示目录树
mkdir #创建文件夹
rmdir #删除文件夹
五、总结操作系统概念相关视频的知识点
接口
- 操作系统通过接口的方式,建立了用户与计算机硬件的沟通方式。用户通过调用操作系统的接口来使用计算机的各种计算服务
- 两个重要接口:
- 命令行:shell
- 窗口界面:图形窗口程序接收来自操作系统的消息
API
- 应用程序编程接口,定义了源代码和库之间的接口。API应用程序接口是一些预定义的接口(如函数、HTTP接口,或指软件系统不同组成部分衔接的约定。用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程
POSIX
- Protable Operating System Interface :可移植的操作系统接口
- IEEE在操作系统上定义的一系列API标准
- POSIX兼容的程序可在其它POSIX操作系统编译执行
系统调用和函数库
- system call(系统调用):由操作系统统一管理的硬件资源,只能通过调用操作系统提供的API来实现
- Library function(函数库):封闭一些特定功能的代码,只暴露出函数,JSON库、网络库等
用户和内核空间
- 用户空间(user space):用户程序运行的空间,为了安全隔离出来,不影响内核。只能执行简单的去处,不能直接调用系统资源,必须通过系统接口(system call),向内核发指令。
- 内核空间(Kernal space):是Linux内核的运行空间,可以执行任意命令,调用系统的一切资源
编程语言
- 低级语言:计算机能理解的语言,二进制
-
- 机器语言:0和1
-
- 汇编语言:和机器语言一一对应,与硬件相关的特有代码、驱动程序开发
- 高级语言:人类语言实现
-
- java, python, go, php, C#,易语言(中文),应用级程序开发
-
- C语言,系统级应用、驱动程序
六、总结常用命令部分的命令使用和演示,最好带有注释信息
lscpu #查看CPU信息;
free #查看内存信息
lsblk #查看硬盘信息
arch #查看系统架构
uname -r #查看内核版本
data -R #显示日期(-R 显示时区信息)
hwclock #显示硬件时钟
timedatectl set-timezone Asia/Shanghai #设置时区
whoami #显示当前登录的有效用户
who am i #显示登录用户名、终端、登录时间(IP)
who #显示所有登录的会话信息
w #系统当前所有的登录会话及所做的操作
七、总结通配符,管道,重定向,inode知识点,并且结合示例,添加注释信息
通配符
- 常见通配符
通配符 | 说明 |
---|---|
* | 匹配0个或多个字符,但不匹配 “.” 开头的文件,即隐藏文件 |
? | 匹配任何单个字符,一个汉字也算一个字符 |
~ | 当前用户家目录 |
. | 当前工作目录 |
~+ | 当前工作目录 |
~- | 前一个工作目录 |
~mage | 用户mage家目录 |
[0-9] | 匹配数字范围 |
[a-z] | 一个小写字母 |
[A-Z] | 一个大写字母 |
[test] | 匹配表中的任何一个字符 |
[^server ] | 匹配列表中的所有字符以外的字符,取反 |
[^a-z] | 匹配不是任意一个小写字母的字符 |
管道 |
- 将前一个命令的输出作为后一个命令的输入。
- 要求前一个命令必须支持标准输出,后一个命令必须支持标准输入
- STDERR 默认不能通过管道转发,可利用 2>&1 实现
- 多重管道:
ifconfig | head -n 2|tail -n 1 | tr -s ' '| cut -d"" -f3
- tee :将标准输入复制到每个指定文件,并显示到标准输出
echo hello | tee tee.log
重定向
- 标准输出和错误重新定向
cat fstab > /dev/pts/1 #标准输出到其它终端
cat null 2> /dev/pts/1 #标准错误输出至其它终端
- 覆盖操作符,文件存在会被覆盖
-
- “>” 1> #把标准输出重定向到文件
-
- 2> #把错误重定向到文件
-
- &> #把标准输出和错误都重定向
-
- “>>” #追加标准输出重定向至文件
-
- 1>> #
-
- 2>> #追加标准错误重定向至文件![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/9bd5883b330142f4aa35484971c32a89.png
- 标准输出和错误输出各自定向至不同位置
ls fstab null > out.log 2>err.log
cat /dev/null > /data/file.log #清除大文件
- 标准输入重定向
#标准输入重定向
bc < a.txt
#先标准输入重定向,得出结果再作为标准输出重定向
bc < a.txt > rs.txt
-
-
标准输入多行重定向
-
- 使用“<<终止词”命从键盘把多行重定向给STDIN,直到终止词之前的所有文本都发送给STDIN,终止词可以是任何一个或多个符号,常用EOF
- 使用“<<终止词”命从键盘把多行重定向给STDIN,直到终止词之前的所有文本都发送给STDIN,终止词可以是任何一个或多个符号,常用EOF
-
高级重定向写法
-
cmd<<<“string”:表示传给cmd的stdin的内容从这里开始是一个字符串。
-
执行命令作重定向输出。
-
cmd1 < <(cmd2) #把两个命令合起来, 把cmd2的输出传递给 cmd1作为输入,中间通过临时文件做传递。(注意:< < 之间有空格,第2个 <符号和(符号之间没有空格
-
inode
-
每个文件都有一个 inode,inode 存储文件元数据,数据块存储文件具体内容数据。
-
硬盘格式时,系统自动将磁盘分为两个区域,一个是inode 区用来存储文件的 inode,另一个是数据区,分成很多个block (块),用来存放文件的具体内容数据
-
inode 表记录对应的保存了以下信息:
- inode number (索引节点编号)
- 文件类型
- 权限
- 属主属组
- 链接数
- 文件大小
- 各时间戳
- 指向具体数据块的指针
- 有关文件的其他数据
-
cp 和i node #cp 命令分配一个空闲的 inode 号,在inode表中生成新条目
-
rm 和 inode #链接数递减,从而释放的 inode 号可以被重用
-
mv 和 inode # 如果源和目标在相同的文件系统,不影响 inode表,不在相同的文件系统,相当于cp和 rm
-
查看分区 inode
-
查看指定分区的inode ,查看文件 inode
-
inode 编号耗尽将无法再创建文件,磁盘空间耗尽也无法大大大大大大大大大大dddd