02-操作系统
一 Linux系统
1. Linux系统
💡开源的免费企业服务常用的操作系统。
企业服务器操作系统:
Linux(最多 99%)
Unix
windows-server -- 微软
-
开源 免费
开源:开放Linux操作系统源代码,任何人可以免费使用,且对Linux代码定制升级。
-
最安全
-
最稳定
-
性能效率对比较高
2. 系统版本
3. 虚拟机安装操作系统
(1)windows设置(仅限win11)
防止:防止启动蓝屏
开启:windows虚拟机监控程序
、虚拟机平台
(2)安装虚拟机
💡通过软件技术,虚拟出一套计算机硬件设备:CPU、内存、硬盘、网卡、显示器。
-
版本
VMware
收费virtrubox
免费 Oracle公司企业虚拟机
云服务器
-
安装步骤
(3)虚拟创建一个计算机设备
(4)安装CentOS
-
系统盘
保存了操作系统文件的光盘
虚拟镜像光盘:
CentOS-7-x86_64-Minimal-2009.iso
-
安装过程
(5)命令行界面
-
CentoS安装好以后,命令行界面,没有图形化操作界面。
① 原因节省服务器CPU和内存资源。
② 命令行操作效率,速度,远超过图形化界面。
(6)vmware使用
- 开关机
- 虚拟机路径
- 快照
- 克隆
4. 云服务器
💡通常企业项目初期孵化(研发、初上线、试运营),用户体量比较小,服务器配置要求低。为了降低前期成本投入,选择租用云服务器。
特点
- ① 服务器不在本地,省电费其他维护成本。
- ② 初期服务器硬件维护成本降低,稳定性比较高。
- ③
前期
成本低,后期成本会比较高。 - ④ 如果服务器配置不够,可以快速扩展。
云服务器厂商
- 阿里云
- 腾讯云
- 华为坤鹏云
购买云服务器
腾讯和阿里云都提供了新用户免费试用的云服务器可供学习和试用。
-
阿里云服务器试用
-
腾讯云服务器试用
(1)0元购买
(2)初始化配置
linux服务器初始:提供超级管理员账户root。
(3)登录试用
-
获得Linux的ip
-
登录试用
点击 登录 选择 密码登录 输入 密码 点击 登录按钮 即可登录成功
命令: 查看ip:ip address 查看日期:date
二 Linux命令
1. Linux远程连接
(1)linux工作环境
实际工作中,不会直接触碰服务器,会通过Linux远程连接工具服务器。
(2)SSH工具
-
① 查看Linux的ip地址
ip addr
-
② mobaxterm连接linux
1. linux的ip 192.168.199.131 2. 用户名 root 3. 密码 admins
(3)win的ssh(了解)
1. 打开windows的cmd命令行
2. 输入命令
ssh root@linux的ip地址
2. 命令行介绍
(1)Linux终端
- 终端
terminal
(命令行客户端)
1. 概念:用来连接和操作linux系统的接口,存在于用户和计算机之间沟通的桥梁。
2. 终端快捷键
① tab :命令自动补全。
例如:
da+tab
② ctrl+c: 强行中断 停止退出当前程序命令。
③ ↑ ↓ :直接找到回显之前执行过历史命令。
- Linux命令
1. 命令是一种操作Linux系统的一种指令。
2. linux命令区分大小写。
3. linux命令结构
linux命令 参数
其中多个参数可以组合使用。
(2)命令行提示符
[root@baizhi-centos ~]#
root :当前登录系统的用户
@:无意义,仅分隔符
baizhi-centos:计算机名字
~ : 当前命令所在的 目录路径 ,home
#或者<span class="katex--inline"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>:</mo><mtext>表示当前用户超级管理员,</mtext></mrow><annotation encoding="application/x-tex">: 表示当前用户超级管理员,</annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.4306em;"><span class="mrel">:</span><span class="mspace" style="margin-right:0.2778em;"></span><span class="base"><span class="strut" style="height:0.6833em;"><span class="mord cjk_fallback">表示当前用户超级管理员,</span></span></span></span></span>表示普通用户。
</span></span></span>
(3)基本命令
- 查看ip
1. 完整命令
ip address
2. 简化命令
ip addr
- 网络ping
# 命令
ping ip地址
# 参数
-c 次数:设置ping发送数据包次数。
# 案例
本机内部网络是否联通。
ping 127.0.0.1
ping localhost
# 案例
ping -c 5 192.168.199.131
- 清屏
clear
- 关机
序号 | 命令 | 备注 |
---|---|---|
1 | init 0 | 立刻关机,只有管理员可以使用 |
2 | poweroff | 立刻关机 |
- 重启
序号 | 命令 | 备注 |
---|---|---|
1 | reboot | 立即重启 |
- 操作系统信息
# 场景:
同时拿到10个服务器,判断10个服务器操作系统版本环境是否一致。
# 命令
uname
# 参数
-s 输出 内核名称 (默认)
-n 输出网络节点上的主机名
-r 输出内核 发行日期
-v 输出 内核版本信息
-m 输出主机的硬件架构名称
-p 输出处理器类型或"unknown"
-i 输出硬件平台或"unknown"
-o 输出操作系统名称
-a 以如下次序输出所有信息。其中若-p和-i的结果不可知则省略
也可以 --all
# 注意
多个参数可以合并使用
例如:
uname -svr
- 磁盘信息
1. 查看物理磁盘空间
df -h
- 配置硬件信息
1. 查看CPU信息
lscpu
2. 查看内存
free -h
- 系统程序的资源占用情况
1. 实时查看
#命令:
top
#快捷键:
↑ : 上翻
↓ :下翻
q :退出
2. 场景
① 服务器卡顿
DDOS攻击
中毒
查看原因:top
- 主机名
1. 查看主机名
hostname
2. 修改主机名
hostnamectl set-hostname 新主机名
- 系统时间
# 命令
date '+参数'
说明:
一个日期包含信息:年 月 日 星期 时 分秒 毫秒 纳秒 时区
# 参数
1. 日期格式
%c : 直接显示日期与时间 (2023年10月08日 星期日 15时57分35秒)
%x : 直接显示日期 (YYYY-mm-dd)
%D : 直接显示日期 (mm/dd/yy)
%X : 相当于 %H:%M:%S
%T : 直接显示时间 (24 小时制)
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
2. 提取详细日期属性
%Y : 完整年份 (0000..9999)
%y : 年份的最后两位数字 (00.99)
%m : 月份 (01..12)
%d : 日 (01..31)
%H : 小时(00..23)
%M : 分钟(00..59)
%S : 秒
%n : 下一行
%t : 跳格 tab
%p : 显示本地 AM 或 PM
3. 其他日期属性(了解)
%Z : 显示时区
%w : 一周中的第几天 (0..6)。说明每星期第0天是周日。
%a : 星期几 (Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
计算机对于日期信息统计方式:时钟从1970年开始计算过去了多少秒,内部底层存储日期(数字秒)
%n : 下一行
%t : 跳格 tab
# 案例: 获取日期格式显示:xxxx-xx-xx xx:xx:xx
date '+%Y-%m-%d %H:%M:%S'
3. 文件管理
(1)Linux文件系统(了解)
- ① Linux文件系统没有
C
D
E
盘,顶级目录是/
- ② Linux文件类型:
目录、文件、符号链接文件
(2)Inode元数据
1. Linux文件管理
数据 空间:
存放 数据 本身,100MB 10GB 文件本身所在位置。
元空间:
文件 描述信息(元数据) (文件名 大小 日期 用户 类型 文件所在地址)---Inode。
2.场景: Linux文件查找
① 先在元空间中,找到文件描述信息。速度快。(元空间小),得到文件地址。
② 如果需要得到文件内容,通过地址直接定位到对应位置即可。--- 寻道过程。
| 元数据 Inode | 数据 data |
---|---|---|
概念 | 文件的描述信息(文件名 大小 类型 权限 日期等等) | 文件内真正存储的数据内容 |
容量 | 非常小,且不同大小的文件的元数据信息大小相同 256B字节 | 大小不等:KB MB GB TB等 |
位置 | 元空间**(内存+硬盘) ** | 数据空间**(硬盘) ** |
类比 | 公安局档案信息、学生档案信息、生死簿 | 人、学生、鬼 |
(3)路径命令
命令 | 作用 | 常用选项 | 用法 | 示例 |
---|---|---|---|---|
pwd | 查看当前命令所在目录 | — | ||
cd | 切换目录 | — | cd [目录] | cd /home |
ls | 查看目录中的文件和目录 | -a 显示所有文件含隐藏 -l 显示文件完整描述元数据 -R 显示指定目录分支内各子目录中的文件清单 | ls [选项] [目录] | `ls -al /root |
ls -alR /root | ||||
ls -al > a.txt` |
# 路径特殊字符
1 / : 顶级目录
2 . : 当前路径位置
通常使用相对路径使用
例如:切换到当前目录下的class目录
cd ./class
3 .. : 上一级路径
常用在相对路径。
4 ~ :当前用户所在的home目录,
例如baizhi用户的目录对应 /home/baizhi
例如root用户所在目录,特殊 /root
- ls文件元数据详解1
# 文件类型
d: 目录
-:普通文件
(4)文件操作命令
命令 | 作用 | 常用选项 | 用法 | 示例 |
---|---|---|---|---|
touch | 创建一个空文件 | — | touch [文件名.后缀名] | touch a.txt |
mkdir | 创建目录 | -p 如果父目录不存在则创建 | mkdir [选项] [目录名] | `mkdir test |
mkdir -p test/user` | ||||
rm | 删除文件或目录 | -f 删除文件,不需要确认。 -r 删除目录 -fr 强制删除目录,不需要确认 | rm ``[选项]`` [目录] | cd /home |
cp | 复制文件或目录 | -r 复制目录(含文件) | cp [选项] [源文件] [拷贝后文件] | `cp a/abc.txt b/bcd.txt |
cp a/abc.text b | ||||
cp -r a b | ||||
cp -r a/* b` | ||||
mv | 移动文件 | — | mv [源文件] [目标目录] | 参考cp |
find | 查找某个文件所在位置 | -name 指定搜索的关键词 说明:关键词可以使用*进行通配符匹配 | find [搜索范围目录] [选项] [关键字] | `find . |
find / -name "a" | ||||
find / -name "a.txt" | ||||
find /root -name "a.txt" | ||||
find /root -name " *.txt"` |
1. 课堂案例命令
2. 作业题目
3. 整理笔记(面试题+命令)
4(尝试). 没讲过的命令 试试。
(5)文件读取命令
命令 | 作用 | 常用选项 | 用法 | 示例 |
---|---|---|---|---|
cat | 一次性读取整个文件,适合查看小文件 | — | cat [文件路径] | cat a.txt |
less | 文件阅读器,可控制翻页,适合查看大文件 | — | less [文件路径] ↑ :上翻1行 ↓:下翻1行 空格 :向下翻页, b:向上翻页 q退出 | less a.txt |
head | 查看文件前几行 | -n 行数 | head [文件路径] [选项] 行数 | head a.txt -n 2 |
tail | 查看文件后几行,实时跟踪查看 常用在服务日志文件 | -n 行数 -f 不断刷新实时更新 | tail [文件路径] [选项] 行数 | tail -f a.txt -n 5 |
grep | 在文件中搜索关键字,结果获得关键词所在一行文本提取。 | -n 显示行号 | grep [选项] 关键字 文件路径 | grep -n local a.txt |
(6)压缩解压
💡将多个文件打包成一个文件。
作用:
- ① 方便管理和移动。把一些备份数据压缩。
- ② 将文件空间占用变小,节约磁盘空间。
- ③ 将大量小文件,合并成单个压缩文件,将文件在磁盘存放由随机存放转为顺序存放,访问(移动还是拷贝)文件对文件读取由随机读取变成顺序读取。效率快。
- linux系统下常用的压缩文件格式有
tar.gz
windows系统:rar,zip。 linux压缩格式: 1. tar 2. tar.gz
- 压缩/解压tar.gz文件
1. 压缩文件操作命令: # 命令 tar -cf 压缩文件名 被压缩文件或者目录路径 # 参数 -c 创建压缩文件 -x 解压压缩文件 -f 执行压缩文件名 -v 显示压缩过程的信息。 -z 主要针对tar.gz压缩格式操作需要 # 第二参数 -C 指定文件解压后所在目录。 2. 案例 # 压缩 tar -zcvf 压缩后文件名.tar.gz 被压缩文件路径 # 解压缩 默认解压到当前目录下 tar -zxvf 被解压文件名.tar.gz tar -zxvf 被解压文件名.tar.gz -C 解压后文件存放位置路径
4. 进程管理
-
进程
💡处于运行状态的任务(程序),叫做计算机的一个进程。
-
常见进程
- SSHD进程:远程连接程序
- chronyd进程: 负责管理系统日期时间
- network: 管理操作系统网络ip地址,网卡,网关,网络连接状态。
- firewalld:防火墙,定制有选择性拦截非法的网络连接。(默认 22端口 放开),其他所有端口都是不被本机以外计算机访问。
- 其他程序:MySQL、Tomcat、Nginx、自开发程序。
-
查看进程
# 命令 ps [-参数] # 参数 -a:显示 当前窗口 下的进程 -u:显示 当前用户 下的进程 -x:显示 当前主机 下的所有进程
- 命令结果含义
PID(进程号) TTY TIME CMD(该程序进程对应那个命令) 2405 pts/0 00:00:00 bash 2427 pts/0 00:00:00 ps
-
关闭进程
# 命令 kill [-参数] 进程id 说明:默认情况kill,只能关闭闲置的进程,没有人正在使用。 # 参数 -9 :强制退出(小心使用:强制杀死程序,不管有没有人正在使用。) -18 :继续 -19 :暂停
5. vi编辑器
💡编辑文本文件的软件程序,例如:txt文件、xx.ini、xxx.py、xxx.xml、xxx.conf。
-
所有的类Unix系统中都会内置vi文本编辑器
-
启动命令:
vi 文件名
-
vi命令的工作模式:
1. 命令模式(Command mode):启动vi编辑器时进入的模式,该模式下可以进行复制、粘贴、删除等操作。 2. 输入模式(Insert mode):在命令模式下按"i"键进入输入模式,该模式下可以修改文本内容。 3. 底线模式(Last line mode):在命令模式下按下“:”键进入底线命令模式,该模式下可以对文件内容进行替换、保存、或退出编辑。
三种模式的切换
-
各模式下的操作:
模式名称 快捷键/命令 支持的操作 命令模式 i
进入输入模式,在光标前插入insert o
进入输入模式,在光标位置下新建一行输入 :
进入底线模式 gg 定位到第一行 G 定位到最后一行 nyy n为整数, 复制
n行,从光标位置向下复制n行。p 粘贴到光标的下一行。 ndd n为整数,删除n行,从光标向下数n行。 底线模式 set nu 显示行号 set nonu 取消行号 q
退出不保存 q!
强制退出不保存 w
保存内容 wq
保存退出 wq!
强制保存退出
注意事项:
-
vi编辑模式,最好不要编写中文。
-
如果可以,大量内容编写,可以使用外部文本编辑器
mobaxterm外部工具。
6. Linux软件安装
(1)RPM软件
💡linux中软件包的一种格式,类似windows(exe msi)。
-
作用:用于在Linux系统中管理(
安装
、卸载
、查看
).rpm程序包。 -
常用命令参数:
- 命令的格式
rpm [-参数] rpm软件的文件名。
命令参数 作用 pql
显示rpm软件包内部文件 i [软件全名]
安装应用程序 e [软件名]
卸载应用程序 v
显示安装过程信息 h
线程进度条 qa 显示所有已安装的程序包 -
案例:安装tree命令
# 安装 rpm -ivh tree文件名.rpm # 卸载 rpm -evh tree关键名
(2)Yum软件包管理器
Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管 理器。
基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,
无须繁琐地一次次下载、安装。
## 列出所有可以安装的软件包
yum list
## 安装软件
yum install -y 软件名
# 安装tree
yum install -y tree
yum install -y vim
## 卸载软件
yum remove 软件名
## 更新软件(了解)
yum update 软件名
## 查找软件包
yum search all 软件名
# 例如安装vim
[root@one ~]# yum install -y vim
- 常用的工具
# VIM 编辑器
功能类似vi,比vi增加了关键词高亮效果,便于阅读和编写。
安装:yum install -y vim
# wget 下载器
安装:
yum install -y wget
命令: wget url地址 [参数]
参数:
-P 下载文件的保存路径:指定下载文件所存放的路径。
7 管道命令
-
概念:
管道 就是可以将两个或者多个 命令 (程序或者进程)连接到一起,把一个命令的 输出作为 下一个 命令的输入 ,以这种方式连接的两个或者多个命令就形成了管道(pipe)
-
管道符:|
语法command1 | command2 ....
- ① 连接多个命令
- ② 执行顺序,从左至右,会将前一个命令得输出结果,作为后一个命令输入内容。
-
例:
# 查询名字包含ssh的进程 ps -aux | grep ssh # 获取ls -al 输出的前5行 ls -al | head -n 5 # 获取ls -al 输出的前5行,查找是否含有关键字a ls -al | head -n 5 | grep a
8. 服务管理器
💡服务可以理解成
软件程序
,特点是运行和系统可以绑定
。
# 常见服务
sshd 远程连接
NetworkManager 网络管理器
chronyd 时钟
firewalld 防火墙
mysqld 数据库
1. 查看服务状态
systemctl status 服务名
说明:
inactive 不可用
active 正在运行
2. 启动服务
systemctl start 服务名
3. 重启服务
systemctl restart 服务名
4. 关闭服务
systemctl stop 服务名
例子:
关闭防火墙
systemctl stop firewalld
5. 设置开启自启动
systemctl enable 服务名
例子:
关闭防火墙
6. 关闭开机自启动
systemctl disabled 服务名