云计算运维
2026-01-14 22:38:35 0 举报
AI智能生成
知识点思维导图
作者其他创作
大纲/内容
Day1~4 Linux概述与系统部署
Linux快捷键
ctrl+c 取消或结束命令
ctrl+l 清屏
ctrl+a 光标移动到行首
ctrl+e 光标移动到行尾
ctrl+u 删除或剪切光标到行首的内容
ctrl+k 删除或剪切光标到行尾的内容
ctrl+y 粘贴
tab键 自动补全命令
man+命令
--help
ctrl+d 退出远程连接
Linux组成
内核
命令解释器·shell
命令服务软件
Linux发行版本
Debian系列
Debian系统
debian 11
debain 12
Ubuntu
16.04
18.04
20.02
22.04
红帽系列
红帽系统RHEL
Centos
centos 7.9 停止更新
centos stream
Rocky
国产
麒麟kylin
v10 sp3
欧拉华为
龙蜥阿里
创建虚拟机与安装Linux系统
连接
本地连接
直接通过vmware软件或物理服务<br>器直接操作Linux
远程连接
xshell实现连接
Linux运行环境
物理服务器
Linux系统
CPU,内存,磁盘
前期投入大 需要机房
公司企业数据量大,用户量大
虚拟化(私有云)
虚拟机
虚拟化工具
CPU,内存,磁盘
把一台或多台物理服务器的资源整合在一起使用 充分使用资源
可以较为充分使用服务器资源,方便快捷
云服务器 公有云
云服务器
虚拟化工具
CPU,内存,磁盘
前期投入低,后期成本较高,数据放在云场上的服务器上,安全要求
初创公司可以选择,安全要不高可以使用
远程连接基本知识
ip地址
服务器或网络的位置
公网ip
都可以访问
局域网ip(私网)
一般在局部使用,无法被外界直接访问
ipv4 ipv6
端口
区分不同服务
22
远程连接ssh
80
http
404
https
协议
双方共同准守的内容
远程连接排障四部曲
ping 检查两点之间是否通畅
selinux和防火墙
命令:systemtrl disable -- now firewall
selinux:关闭
telnet 检查服务是否可以访问启动 telnet ip 端口 ss -lntup 检查端口是否存在
检查远程连接服务状态
端口 ss -lntup | grep sshd
进程 ps -ef | grep sshd
状态 systemctl status sshd
Day5~6 linux核心信息和指令
Linux基本规则
linux命令行组成
用户名@主机名+所在目录+用户提示符
Linux命令结构
命令+选项+参数
Linux核心目录
/etc/
配置文件
/home/
普通用户家目录
/root/
root家目录
/bin/
普通命令
/sbin/
超级命令root
/tmp/
临时目录
路径
绝对路径
相对路径
核心信息
主机名
hostnamectl 查询主机名
hostnamectl set-hostname xxx 将主机名字修改为xxx
网卡
/etc/resolv.conf dns配置文件
网卡配置文件
/etc/sysconfig/network-scripts/ifcfg-ens33 (红帽)网卡配置文件
/etc/netplan/00-installer-config.yaml (Ubuntu)网卡配置文件
BOOTPROTO与ONBOOT
<span style="font-size: inherit;">BOOTPROTO=dhcp 自动获取</span>
BOOTPROTO=none 手动获取
ONBOOT=yes<br>这里是yes也就代表系统重启之后,网卡自动启动
修改网卡信息
vim /etc/sysconfig/network-scripts/ifcfg-ens33 (红帽)编辑网卡配置文件
vim /etc/netplan/00-installer-config.yaml (Ubuntu)编辑网卡配置文件
日志
存放目录
红帽
/var/log/secure 系统用户登录日志
/var/log/messages 系统日志
Ubuntu
/var/log/auth.log 系统用户登录日志
/var/log/syslog 系统日志
tail -5 查看文件最后五行,查看日志好帮手
分析
登录成功:Accpeted password
登录失败:failed password
查看登录成功的IP是不是常用的IP地址、登录失败的统计出来分析IP地址
/proc/目录
只有数字命名的目录
进程信息,数字是进程的pid
查看进程信息的命令
proc process 进程
ps -ef
/proc/cpuinfo文件
cpu硬件信息
lscpu
/proc/meminfo文件
内存信息
free
/proc/loadavg文件
负载信息
w
核心命令
文件目录的增删查改
增
mkdir 创建新目录
touch 创建新文件
批量创建 { }
批量创建序号命名的文件或目录
目录:mkdir -p /oldboynew/lidao{01..10}/lidaodir{01..03}
文件:touch /oldboynew/lidao{01..10}/lidaodir{01..03}/oldbiy-file{01..05}
删rm(remove)
rm /oldboy/111.txt
删除根目录下的oldboy目录下的111.txt文件<br>使用后会询问是否删除?输入“y”则删除<br>输入“n”不删或直接ctrl+c取消
rm -r /oldboy/
递归删除,会删除根目录下的oldboy目录和其中的一切
rm -f /oldboy/111.txt
强制删除根目录下的oldboy目录下的111.txt文件
rm -rf /oldboy/
强制删除根目录下的oldboy目录和其中的一切
查
查看文件
cat 查看文件所有内容
tail -? 查看文件最后x行的内容
去掉开头(通常用来去掉标题)(从第二行开始)
tail -n+2
head -? 查看文件前?行的内容
查看日志文件的末尾实施更新:tail -f
less 按页查看文件
快捷键
q 退出
G 最后一行
g 第一行
666g 某一行(666行)
空格或ctrl+f 下一页<br> ctrl+b 上一页
more按页查看,到文件最后一行自动退出
空格或ctrl+f 下一页
ctrl+b 上一页
查看目录
ls list(简写为ll)查看目录的详细信息
ll -a 查看所有隐藏信息
ll-r 逆序排序,一般与-t一起使用
ll -t 按修改时间排序,一般与-r一起使用
ll -d 看目录本身的属性
tree 以树型查看
tree -l 显示多少层目录
改
vim
可视行模式下的操作
i 进入编辑模式
:wq 保存与退出
:q! 强制退出不保存
:wq! 强制保存退出
快捷键
快速移动光标
gg或 :1 第一行
G(shift+g)或 :$ 最后一行
12306gg 文件的某一行(第12306行)
行号
:set nu 显示行号
:set nonu 不显示行号
搜索有某一内容的行
/12345 搜索所有含有12345内容的行,往下翻“n”,往上翻“N”
复制,粘贴,剪切
yy 复制当前行
p 粘贴
连按3次p 粘贴多次(3次)
dd 剪切当前行
撤销(一般用于删错、删多了的时候)
u 按一下就撤销一步,太多了直接不保存退出
批量操作的步骤
1.在可视行模式下,光标移动到你想要从此处开始的行
2.按大写的“V”,再选择范围 先按V,再按“↑和↓”来选择范围
4.进行复制或删除 y 复制/d 删除
重定向符号>
> 重定向符号 先清空文件内容,再把输入内容输入进去,适用于创建新文件
>> 追加重定向 把输入内容追加到文件末尾,不会删除原本内容
文件目录的复制与移动
cp /lidao/gxc.txt /oldboy/ 直接复制即可(把/lidao/中的gxc.txt 复制到/oldboy/中)
cp -r /oldboy/123/ /lidao/ 如果要复制目录,必须加上选项-r,递归复制
mv mv /oldboy/123/ /lidao/ move(移动),相当于Windows中的剪切,重命名也用该命令操作
grep 对内容的查找、过滤
grep -i 不区分大小写(书写命令时比较方便)
grep -n 显示所查看内容的所在行
grep -v 反向搜索
inv可组合使用,不分前后
wc和管道|
wc -l的核心在于和其他命令一起通过管道搭配使用,来统计数量。
管道:|
管道两边必须写命令,同时命令必须要有输出显示的东西
类似于接力,前一个命令执行,把命令的输出通过管道传输给后一个命令
egrep 'a|b'表示a或者b的意思
awk取列
awk'{print $1}' 取第一列
awk -F
-F''指令分隔符,''内是什么,就以什么作为分隔每一列的间隔
awk '$8~/Z/' 取出第八列中包含Z的列,~是包含的意思
awk中取行
awk 'NR==2':取第二行
awk 'NR==2{print $(NF-1)}' 取第二行中的倒数第二列
sort(排序)
sort -n:排序数字,按从小到大来排列
sort -rn:排序数字,逆序排列(按从大到小来排列)
sort -rn 文件 | head -5 :排序数字,按从大到小来排列取前五行
sort -rnk6:取第六列,按第六列的降序来排列
uniq(去重)
一般不太会单独用,先用sort排序之后再进行去重
uniq -c:显示去重数量
Day6~8 脚本与文件属性
脚本
什么是脚本?
可以理解为命令大礼包,把一堆命令写在一个文件里,然后运行这个文件
书写脚本时还要加入变量、判断、循环等内容。让脚本实现更复杂的内容/需求
脚本文件的要求
1.命名以.sh或.bash结尾
2.文件开头需要写上该脚本的作用
3.把所有脚本放在同一个目录下/server/scripts/
4.脚本中不能加入top之类的实时更新的交互型命令,它们不会自动结束,导致脚本卡在这里
开头必须先写#!/bin/bash
反引号
作用
反引号:优先执行,运行命令时先运行反引号中的命令(会把输出结果留下来)
反引号外面要紧挨着,不能有空格,反引号里面无所谓
变量
脚本中使用变量
将脚本中原本一个个命令的输出结果中我们需要的部分取出来,<br>使我们运行脚本输出的结果更加精确。
脚本中使用多个变量的问题
一个命令用到多个变量时,给每个变量加上${}
bak_dir=/backup/
time=`date +%F`
tar zcf ${bak_dir}etc_${time}.tar.gz /etc/
打包压缩/etc/到/backup/etc_当前时间.tar.gz
变量的使用
“制作”一个变量
a=123456
b=`命令`(此处为反引号)
输出一个变量
echo $a 输出结果为123456
echo $b 输出结果为反引号中的命令的输出结果
变量的要求
不能以数字开头
变量命名最好有些含义
user_name username 用户名字
sys_release_name系统发行版
使用_连接即可
文件属性
ll命令查看一个目录的时候,会看到目录每个内容的inode号码(第一列)和权限(第二列)
inode
inode:索引节点,inode号码相当于身份证号码
inode空间存放什么
各种属性信息(大小、权限、所有者、用户组、时间...)
block的位置
文件名不在inode中
block
block块,数据块
存放文件的数据内容
block默认大小是4kb,大文件会占用多个block
block可以理解为是一个单元
文件类型
分类
文件
命令,文本,压缩包 -/file
目录
存放文件,目录 d/directory
软连接
类似于Windows中的快捷方式 I/Link
其他类型
字符设备
有特别的、专用的功能<br>
/dev/zero(白洞):无限输出空白内容
/dev/nul(黑洞):用来删除,进入黑洞统统删除
/dev/urandom(随机内容):随机生成内容,比如用来随机生成密码
块设备
磁盘,磁盘分区 b/block
位置
ll查看时,每个内容前的第一个字符就是文件类型的缩写
紧挨着权限,权限前面的第一个字符
软连接
创建软连接 ln -s<br>先写要原本内容,再写软连接
ln -s /etc/sysconfig/network-scripts/ifcfg-ens33 /oldboy/ifcfg-ens33
给网卡配置文件创建软连接到/oldboy/ifcfg-ens33
硬链接
相当于一个商场不同的入口,inode空间和block位置都是一样的
ln
打包压缩
tar
选项
z:压缩,通过gzip工具进行压缩
c:创建包(打包)
v:显示过程(另外三个打包压缩都必须写,v可写可不写)
x:解压
f:指定压缩包,这一串四个字母,f必须放在最后
创建压缩包
tar zcf 压缩包路径 要压缩的东西
tar zcvf /backup/etc.tar.gz /etc/
创建一个/backup/etc.tar.gz这个压缩包,压缩内容为/etc/
解压
解压到当前目录
tar xf /backup/etc.tar.gz
解压到指定目录
tar xvf /backup/etc.tar.gz -C /gxc/ (C大写)
解压/backup/etc.tar.gz这个压缩包到/gxc/目录下
unzip/zip
压缩
zip -rq /backup/etc.zip /etc/
解压
解压到当前目录
unzip /backup/etc.zip
解压到指定目录
unzip /backup/etc.zip -d /gxc/
解压/backup/etc.zip这个压缩包到/gxc/目录下
gzip/gzip -d 原地压缩
压缩
gzip oldboy.txt
压缩完之后原来的文件直接变成了压缩文件
解压
gzip oldboy.txt.gz
把压缩文件变成解压后文件,依旧在原目录下
Day9~10 用户管理与权限管理
用户管理
用户的增删改查
增
普通用户
useradd -s /bin/bash -m 用户名
passwd 用户名 设置密码
su - 用户名 注意-两边加空格
su - 切换的时候会更换环境变量(env查看,其中的大写这部分内容)
su切换的时候,一些路径中还是保持原来的用户
退出 :快捷键:ctrl+d
虚拟用户
useradd -s /sbin/nologin -M 用户名
选项
-s 指定命令解释器
-m 创建家目录
-M 不创建家目录
Ubuntu系统的特殊
Ubuntu用useradd创建新用户时,命令解释器默认的是bin/dash、没有家目录
useradd -s /bin/bash -m 用户名
指定uid、gid
gid:groupadd -g 2000 wed_new
添加一个用户组wed_new,这个用户组id是2000
删
先锁定用户或注释用户
passwd -l 用户名
锁定指定账户的密码
删除流程
删除用户:userdel 用户名
删除用户时发现用户正在某个进程中被使用,要先结束进程
kill 进程号
删除用户家目录:userdel -r 用户名
非必要不用,确认里面没有有用的东西再删
改
改密码
echo '密码' | passwd --stdin 用户名
批量更改密码
vim 文件名
在文件中书写内容 用户名:新密码
cat 该文件 | chpasswd
生成随机密码
麒麟:mkpasswd
Ubuntu:mkpasswd.pl
rocky:mkpasswd-expect
命令选项(通用)
-l n 密码长度n
-d n 最少n个数字
-c n 最少个小写字母
-C n 最少n个大写字母
-s n 最少n个特殊字符
查
检查用户是否存在
id 用户名:查看用户的信息,不加用户名默认看当前用户
查看当前用户是否存在
whoami
查看类命令补充
w
看此时此刻当前正在登录的用户的信息
who
实时登录信息,补充w的内容
last
所有的登录信息(当前、历史),一般是配合着出现异常来查看
lastlog
所有用户最近一次登录的情况
在目录中查看
目录名:/etc/passwd
用户分类
root用户
uid,gid是0
应用场景:管理操作
虚拟用户
看命令解释器(不是/bin/bash,/bin/sh的用户)
常见的命令解释器:/sbin/nologin
应用场景:服务运行需要
普通用户
看命令解释器,看家目录
uid,gid从1000开始(不是唯一条件)
应用场景:简单维护,禁止root登录后用普通用户登录(救急)
0 条评论
下一页