运维课程第一周小结
第一天:计算机基础与Linux安装
第一天的内容大部分为了解性的内容,在课程的最后进行了Rocky主机的安装
1.1 计算机系统
- 硬件+软件
1.2 计算机理论
-
1.2.1 冯诺依曼体系:
- 硬件:运算器、存储器、控制器、输入设备、输出设备
- 计算机按照程序员给的程序来决定先干什么后干什么
- 二进制 字节和比特的关系 1B (Byte) = 8 bit
-
1.2.2 二进制 八进制 十进制 十六进制之间的转换:
-
十进制转化为二进制方法:拆数字,凑数字
-
二进制转化为十进制方法:从后向前全部加起来
-
2n 2n-1 … … 25 24 23 22 21 20
1.3 Linux安装逻辑
-
利用VMware Workstation为主机搭建虚拟环境
-
在Workstation中安装多个OS 如Rocky Ubuntu等
-
Windows主机上远程连接OS, 远程连接工具就是MobaXterm
-
Rocky: 10.0.0.12 、10.0.0.15 、10.0.0.18
Ubuntu: 10.0.0.13 、 10.0.0.16 、 10.0.0.19
openeuler: 10.0.0.14 、 10.0.0.17 、 10.0.0.20
1.4 VMware安装好之后的步骤
- 定制网络环境:
- 更改NAT的网关为10.0.0.2
1.5 Rocky主机的安装
-
选择rocky9的光盘
-
磁盘大小改为200G(实际上不会真的占用你200G的内存),并且将虚拟机种类存储为单个文件
-
软件选择最小安装,网络更改地址,子网掩码,网关,DNS服务器,更改主机名为rocky9-xx,更改root密码
- 允许用户使用密码进行SSH登录
-
创建用户
- 将此用户设为管理员
第二天:Linux安装与Linux基础
2.1 虚拟机安装逻辑

-
VM虚拟机在nat网络里,nat网络在和主机对接时形成虚拟网卡ens160 (用ip -a命令可以查看)
-
为了方便windows管理虚拟机,nat网络生成vmnet8的虚拟网卡,并提供默认ip地址 10.0.0.1
-
mobaxterm中借用vmnet8来管理虚拟机,前提是部署好openssh服务
查看服务的命令:systemctl status sshd -
在mobaxterm里建立永久登录
- SSH中输入主机ip, Specify username为(没有就创建)name:rocky-root
- 在Terminal中更改font大小为16
- 在设置中开启右键复制
-
拍摄快照
安装图形软件组: dnf group install "Server with GUI"
2.2 Ubuntu主机安装
-
选择Ubuntu光盘
-
改磁盘大小等操作与rocky一致
-
手动安装Ubuntu,删除自动安装的ISO
-
安装过程中一定要禁用互联网!!!(右上角Wired点成灰色的)
-
设置您的账户:直接用自己的名字就可以
-
进入图形界面后,在设置中更改ipv4网络
最高级别执行的命令:sudo 获取基本软件信息的命令(安装完新的Ubuntu后一定要执行):apt update -
部署openssh服务以开启22端口
sudo apt install openssh-server -y -
在mobaxterm中建立ssh连接,步骤同rocky
更改root密码:sudo passwd root -
默认状态下,Ubuntu会拦截root用户,因此必须采取措施
-
/etc/ssh/目录下的sshd_config文件中添加PermitRootLogin yes, 并保存
重启ssh服务:sudo systemctl restart ssh 安装虚拟机与windows桌面交互工具:sudo apt install open-vm-tools open-vm-tools-desktop -y 重启以开启服务:reboot -
拍摄快照
-
推荐下载的包:
apt install bash-completion -- 命令补全 apt install net-tools -- 方便后期ifconfig
2.3 OS空间

- 程序代码 -> 应用环境 -> bash(把应用环境的命令解释给操作系统听) -> 操作系统 -> 硬件
- API–应用 ABI–OS POSIX 我们主要关心的是API

- 用户空间发起【系统调用】、 内核空间权限大
2.4 命令集合
linux远程连接: ssh 登录用户名@远端地址ip
用户:
id -- 当前登录账号的身份
id rxliang -- 查看指定账号的身份
su -- 切换用户,但还有前世记忆(还在/root里)
su - -- 切换用户,但没有前世记忆(在rxliang的家目录里/home/rxliang)
whoami -- 查看自己的名字
信息查看:
ls -- 目录查看
cat -- 文件查看
cat $SHELL -- 我的操作系统支持的SHELL
pwd -- 我在哪儿?
tree -- 以树形列出,前提是要yum/apt install tree
环境变量:
PS1
PS1='\[\033[36m\]\n\n当前位置: \[\033[31m\]\w \[\033[0m\]\n[\[\033[32m\]\u@\[\033[33m\]\h \[\033[36m\]\W \[\033[0m\]]\$ ' -- 建议的值,加入.bashrc
安装:
对于Rocky所在公司的产品:yum install
对于Ubuntu所在公司的产品:apt install
位置移动:
cd -- 回到当前用户家目录
cd /path -- 进入指定目录
cd - -- 回到刚才的位置
cd ~ -- 回到家目录
文件:
mkdir [-p] -- 创建目录,如果目录本身不存在,则-p
touch -- 创建文件
cp 源文件 目标文件 -- 复制文件 同目录不能同名,若在不同目录,则无所谓
cp -r -- 复制目录
diff 文件1 文件2 -- 找到两个文件的区别
mv 源文件或目录 目标文件或目录 -- 如果源文件和目标文件在同一目录, 表明该操作是 改名
如果源文件和目标文件不在同一目录, 表明该操作是 转移
rm -f -- 删除普通文件
rm -rf -- 删除目录文件
系统信息:
uname- r -- 查看内核版本,显示x86_64
lscpu -- 查看cpu信息
free -- 查看内存信息
ps aux 、pstree -p -- 查看进程
cat /etc/os-release -- 查看系统版本
帮助:
- h
--help
help cmd
日期时间:
date
timedatectl
命令补全:
yum/apt install bash-completion -- 下载完成后exit,重新连接后就可以使用命令补全服务
历史命令:
history
-
#表示root身份
$表示普通用户的身份 -
root超级用户的值为0
普通用户的值默认起始值为1000 -
Linux下一切皆文件
-
文件地址路径
-
绝对路径 – 以/(根)开头 e.g. /path/to/word.txt
-
相对路径 – 第一个位置不是/ e.g. ./word.txt
./ : 当前目录
…/ : 上一级目录
-
-
2.5 Linux快捷键
Ctrl + L -- 清屏
Ctrl + R -- 历史命令快捷键
2.6 Windows快捷键
Win + R cmd -- 打开终端
第三天:Linux基础和网络基础
3.1 Ubuntu Server部署
- 选用minimized版本
- 手动配置ipv4网络
3.2 Linux基础
- 代码
信息输出:
echo "" -- 输出内容到终端
变量名=值
echo $变量名 -- 查看变量名
echo -n -- 普通输出,默认不换行
echo -e -- 支持特殊符号输出
echo -e "\033[31m 文字\033[0m" -- 改变输出内容的颜色,并在最后恢复默认颜色 红色31 绿色32 黄色33 紫色35
printf "" -- 和echo类似,但用的很少
文件管理:
普通查看:
cat -A -- 显示所有内容 e.g. $ 行尾结束符
cat -n -- 对所有内容进行编号
tac -- 逆向输出内容
grep 目标 /path -- 从/path中找出目标
grep -v 目标 /path -- 从/path中剔除目标并显示其他内容
分页查看:
more /path -- 分屏看,space换屏,enter换行,q退出
less /path -- 分屏看,别的技巧基本用不到
部分查看:
head -nk -- 查看文件的前k行,不加-n默认前十行
tail -n -- 查看文件的后k行,不加-n默认后十行
head na /path/to/file | tail -nb -- 查看文件前a行中的后b行,| 相当于水管,把左边的结果传递到右边
文件编辑:
nano /path -> Ctrl + X -> Y -> ENTER -- nano编辑器的操作过程
vim /path -> 按a进入编辑状态 -> ESC退出编辑状态 -> :wq保存并推出;:q!不保存并强制退出
3.3 网络基础
-
3.3.1 计算机网络的组成
-
节点 + 链路
- 节点分为边缘节点(服务器、客户端)和中间节点(交换机、路由器)
-

-
OSI七层模型
-
TCP/IP 四层模型
-
由内而外:应用层 传输层 网络层 链路层
数据出:封装
数据入:解封装 -
应用层头部:数据能在哪些环境中运行
表示层头部:数据是什么类型的
会话:数据要互相传输,至少要建立友好会话 要求知道家庭地址
传输层:对方的地址
网络层:通过网络可以找到对方(主机内部的地址)
数据链路层头部: 进入主机后具体到哪个应用内,其中有mac层
物理层:网卡、网线 -
传输层协议:TCP/IP协议
应用层协议:http、dns -

- 交换机:一个房间内部机器互相通信
路由器:不同房间的电脑之间互相同通信
- 交换机:一个房间内部机器互相通信
-
-
-
ip地址-服务器在互联网上通信时唯一的身份标识
-
ipv4地址
-
网络位(网段,不可变)+主机位(可变)
-

-
ipv4有4个字节,32位
-
网络位和主机位的边界由掩码来决定
-
同一网段的主机可以互相通信
-
A-E五个类型的网段
-
-
-
socket
- 应用层暴露端口port,主机暴露ip
- ip:port = socket
-
传输层端口的协议
- TCP:可靠
- UDP:不可靠
-
-
3.3.2 Ubuntu网络配置
- 去哪里修改网络信息:
/etc/netplan 50-cloud-init.yaml- 三个文件只要留一个,演示中留的是50
- 我们需要做的
- 移除render:NetworkManager接管服务
match
render之后的所有行 - 为ens33添加路由:

- 修改后如何生效:
netplan apply - 为主机添加新网卡
-
VMware - 虚拟机 - 设置 - 添加 - 网络适配器 - 完成 - 确定
-
vim 50 文件
-

-
netplan apply
-
- 去哪里修改网络信息:
-
3.3.3 vim操作技巧
yy -- 复制一行
p -- 在光标的下一行粘贴
dd -- 删除光标所在行
3.4 网站搭建
-

-
- 域名解析 网站 -> ip
- 和服务器建立连接 对于web站点,默认端口80 先找ip,再找port
- 发起请求:请求头 可以通过
curl -v www.baidu.com查看 - 响应请求
-
通过安装web软件。建立服务器中的web程序
-
web程序中有静态资源文件(不管谁请求,返回的内容都一样)和动态资源文件(比如“欢迎你!xxx”)
-
web软件:Apache、Nginx、Tomcat
-
Ubuntu环境部署Nginx:
apt install Nginx -y- 关于软件安装(rocky上需要手动打开 ubuntu上自动打开)
-
默认情况下有防火线控制主机的数据传输, 在rocky族的操作系统上安装完Nginx需要关闭防火墙,即
systemctl stop firewalld.service
3.5 Linux网络信息获取命令
主机名:
hostname -- 查看主机名
hostnamectl set-hostname 新名字 -- 更改主机名
ip地址:
ip -a
ifconfig
路由:
route -n -- 显示网关(类比小区的唯一出口)和路由(一条指向目标ip的出口路线)
ip route list
服务端口:
ss -tnulp -- t:tcp n:用数字表示 u:udp l:listen监听服务的socket p:显示进程的id和名字
netstat -tnulp
untu上自动打开)
- 默认情况下有防火线控制主机的数据传输, 在rocky族的操作系统上安装完Nginx需要关闭防火墙,即
systemctl stop firewalld.service
3.5 Linux网络信息获取命令
主机名:
hostname -- 查看主机名
hostnamectl set-hostname 新名字 -- 更改主机名
ip地址:
ip -a
ifconfig
路由:
route -n -- 显示网关(类比小区的唯一出口)和路由(一条指向目标ip的出口路线)
ip route list
服务端口:
ss -tnulp -- t:tcp n:用数字表示 u:udp l:listen监听服务的socket p:显示进程的id和名字
netstat -tnulp

996

被折叠的 条评论
为什么被折叠?



