LINUX基础知识整理
1、Linux 基本知识
2、Linux 文件和目录管理 vim scp sftp 压缩和归档 文件访问权限 脚本
3、Linux 用户和群组管理 sudo ssh openssh
4、Linux 进程和作业管理
5、Linux 网络和rpm包管理 yum/dnf
6、Linux 磁盘和服务管理 逻辑卷 计划任务 NFS Apache SSL SELinux

命令:
1.Ctrl+l/clear 清屏
2.Ctrl+shift+t 快速开启两个终端
3.pwd 查看当前工作目录的完整路径
4.ls的选项
-l 文件或者目录的详细信息
组 包含多个用户
课程设计 小组成员的
-a 查看目录里面的所有内容,包括隐藏文件
-d 查看当前目录
-R 递归查看所有子目录的内容
-h 显示单位 跟l一 起使用
-t 按照时间排序 默认是倒序 跟l一起使用
5.ctrl+c 中止
6.ls 查看目录的内容
管理文件和目录
创建、删除、复制、移动
目录管理
区分文件类型

  • 表示文件
    d 表示目录
    l 链接文件
    c 字符文件
    b 块设备文件
    创建
    复制
    7.cp 源目录的路径 目的路径
    8.移动
    mv 源 目的
    管理文件
    创建
    查看
    9.cat
    删除
    复制
    10.链接文件
    硬链接
    软链接
    11.ln 源 链接文件

配置文件:
1.etc 存放配置文件的 网卡

其他:
1.红帽认证 初级CSA 中级CE 高级CA
2.ansible 自动化部署
3.redhat的三种版本
RHEL 订阅
CentOS 社区版
Fedora 测试版
4.Linux基本框架
硬件 CPU 内存 网卡
kernel内核 Linux内核 巨内核 加载到内存
内核使用模块化的方式设计 模块 USB模块
5.SHELL 安全壳 1 保护内核 2 提供人机交互
SH BASH
shell script shell的功能 结构化语句 循环判断
for i in
do
done
6.安装RHEL8.0
1 VMware 15
2 物理机的CPU虚拟化开启 进入BIOS 高级
3 红帽8的ISO文件
7.远程连接
ssh
8.[root@workstation ~]#
当前用户 root student
主机名
当前工作路径 不是完整的 当前工作路径的最后一个目录名
/tmp/redhat
redhat
~ 表示当前用户的家目录
student

超级管理员root

$ 当前用户的是普通用户
9.shell 内核交互 bash
bash shell 命令行是基于文本的界面,可以用于向计算机系统输入指令,Linux命令行是由shell程序提供
命令是啥
命令的本质是一个可执行文件 有执行权限的文件 exe
10.PATH
11.命令的组成部分
命令+选项+参数
选项可以控制命令的输出结果 短选项 -l -h 长选项–help
参数 命令的操作对象

命令 决定你要做的事情
选项 影响操作方式 可选的
参数 决定对谁操作 可以省略的
12.| 管道符
13.|| 只有当第一条命令执行失败才会执行第二条命令
14. && 只有第一条命令执行成功第二条命令才会执行
15.Tab
bash-com 最小化安装 GUI
16.Linux目录结构
树形
/ 根目录
etc 存放配置文件的 网卡
boot 1 内核文件 /boot/vmlinuz 2 伪根文件 3与引导程序有关的文件
dev 硬件设备有关的文件
home 存放普通用户的家目录
家目录 与用户同名的目录 student student
root 超级管理员root用户的家目录
var 1日志文件 2用户的邮箱 3计划任务
tmp 临时文件夹
proc 不占用磁盘空间 在内存里面的 系统运行的数据 进程 硬件
sys 不占用磁盘空间 对proc里面的内容做了整理
opt 第三方目录
usr 用户数据
lib 存放库文件
mnt 挂载点
17.定位文件的方法
绝对路径 从根目录开始
/usr/local/redhat
/
只有在路径的开头才表示根目录
如果在中间则表示上下级

相对路径
参照物:当前工作路径
…/ 上一级目录
./ 当前目录
…/…/home
18.文件的存储方式
数据块block 属性块inode
文件里面的内容 文件权限、创建时间
文件名 属于上一级目录的数据块
tmp
数据块 属性块

hard
file
test

hard
数据块 属性块
hard的文件内容 权限、创建时间

soft
数据块 属性块inode
/opt/passwd的inode编号 soft的权限、时间

硬链接 相当于复制
hard
数据块 属性块
hard的文件内容 权限、创建时间

软链接
复制的是一个inode

软链接可以对目录做,硬链接不行
软链接可以跨越分区,硬链接不行
源文件被删除,软链接不可用,硬链接可用

19.通配符 模糊匹配

  • 有零个或者任意多个任意字符,所有
    ? 有任意1个任意字符
    [a-z] 在括号里面一定有一个字符,并且这个字符是a-z之间的
    [^a-z] 取反 在括号里面一定有一个字符,并且这个字符不是a-z之间的
    20.重定向
    针对命令的执行结果
    标准输出stdout
    标准错误stderr
    正确的

错误的
2>
会覆盖
追加 不会覆盖
正确的>>
错误的2>>
混合重定向 &>
看日志的时候
错误日志 2>>
正确的输出 >>
&>>

命令:

  1. pwd 查看当前工作目录的完整路径
  2. whoami 查看当前用户
  3. date 查看时间
  4. ls l a t i
  5. ; || &&
  6. mkdir -p
  7. rmdir
  8. rm -rf
  9. cp -r
  10. mv
  11. touch >
  12. rm -fr
  13. cp
  14. 15.mv
  15. cat
  16. more
  17. 18.less 查找
  18. 19.head -n 2
  19. 20.tail -n
  20. 重定向 > 2> &>
  21. 追加
  22. Echo
  23. 创建用户
    useradd +用户名
  24. 创建组

配置文件:
1.保存用户和组的信息文件
/etc/passwd
7列
1 用户名
2 密码 迁移了
3 UID
4 初始组的GID devops组
5 描述
6 家目录
7 shell类型 sh bash 可以登录系统 不可以登录系统
2./etc/shadow
9列
1 用户名
2 密码 sha512 * 没有密码 !密码过期
3 最近一次更改密码的天数 1970-1-1 2020-10-17
4 更改密码的最小时间间隔 0表示无限制
5 密码过期时间 7 99999
6 告警时间 3
7 密码的宽限天数 3 无限期的宽限
8 账号失效时间 1970-1-1 无限期的
9 保留未开发
3./etc/group
4列
1 组名
2 密码
3 GID
4 以该组为附加组的用户 默认会省略初始组为该组的用户
4./etc/gshadow
4列
1组名
2密码
3组的管理员 以这个组为初始组的用户
4组成员

其他:

  1. 文件结构
    树形的结构 根目录/
    2.vim/vi 文本编辑器
    三个基础模式
    命令行模式 默认的模式
    复制、粘贴、字符替换、撤回
    复制一行 yy
    复制多行 数字+yy 数字+上下的方向键+y

粘贴 p

字符替换 r 替换的字母

撤回 u
剪切 删除
删除一个单词 dw
删除一个字符 x
删除一行 dd
删除多行 数字+dd 数字+上下+dd

光标快速移动到末尾行 G(shift+g)
光标快速移动到起始行 gg
到行尾End
到行首 Home

命令行模式进入输入模式的方法
A
a
I
i
O
o
S
s
退出 Esc

输入模式

编辑文件

末行模式
从命令行模式进入末行模式

1退出vim编辑器
保存 w
保存退出wq x
强制退出 q!

2显示行号
3.跳到特定的行
4搜索
5替换
s/A/B/ 把光标所在行的A替换成B

暂时离开vim编辑器的环境去执行系统命令

可视化模式
块选择 ctrl+ v
行选择 Shift+v

同时打开多个文件
vim -O

交换文件 隐藏文件
3.Linux 是多用户系统
用户分为3类
1超级管理员root 0
2普通用户 大于1000
自己创建的用户
3系统用户 大于等于1小于等于100
系统调用
服务的用户 Mysql mysql
4.用户名
UID
5.组
一个组可以包含多个用户,一个用户也可以属于多个附加组
GID root 0
普通用户的 大于1000
系统用1 100

初始组 用户创建的时候都会创建一个同名的组,默认用户的初始组就是跟用户同名的组
student student 初始组只能有一个
student创建了一个文件 test 所属用户student 所属组 student用户的初始组
附加组
附加组可以有很多个

命令(共20个知识点):
1.rht-vmctl start/status/reset all
2.poweroff/shutdown
3.tail 文件路径
4.id 用户名
5.useradd -u|uid -g|gid -G|groups -c|comment -d|directory -s|shell 用户名
6.userdel -r|recursion 用户名
7.groupadd 组名
8.gpasswd -a|add -d|delete 组名
9.usermod -u|uid -g|gid -G|groups -c|comment -d|directory -s|shell -e|expiredate -f|inactive 用户名
10.chage -m|min -M|max -W|warning -I|inactive -l|list 用户名
11.sudo 命令 提升权限/借权
12.visudo
13.which 命令
14.echo 密码 | passwd --stdin 用户名或passwd 用户名
15.grep 要查找的字符串 文件名
16.strings 命令
17.chown 用户名 文件名或目录
18.chgrp 用户组名 文件名或目录
19.source 脚本文件名 重新读取脚本文件内容
20.find查找
find 查找位置 查找条件
按名称 find / -name redhat
按权限 find / -perm 3755
按用户 find / -user lisi
按所属组 find / -group group1
按时间 find / -mtime 0/+1/-1
按文件 find / -size 800c
find ./ -type f -exec ls -l {} \

配置文件(共6个知识点):
1./etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
2./etc/sudoers
3.sudo配置文件
4./bin 存放普通用户可以使用的命令
5./sbin 存放仅有root用户才可以使用的命令
6.umask的配置文件是/etc/profile

其他(共10个知识点):
1.一个用户针对目录或文件可以执行怎样的操作
2.脚本 有执行权限的文件
3.命令 本质是有执行权限的二进制文件
4.身份问题 一个用户对于一个文件或目录来说属于什么样的身份
5.文件来说的最基本权限是r
6.目录来说的最基本权限是r,x
7.文件的最高权限是666
8.目录的最高权限是777
9.三个特殊权限
1)suid(u+s)
可执行的二进制文件搭配这个权限,运行用户便能获得文件拥有者的权限
2)guid(g+s)
对文件的含义:以文件所属组的身份执行文件
对目录的含义:在目录新创建的文件或目录的所属组改为该目录的所属组
3)stick bit(o+t)
自己创建的文件只有自己才能删除,这个东西的所有者是我,root除外
其中,可以通过大小写判断是否有x权限,大写代表没有,小写代表有x权限
10.;

命令:
1.ip addr show 查看IP地址和MAC地址
2.ifconfig 设备名 查看IP地址等网络信息
3.ip route 查看路由信息
4.route 查看路由表
5.ip -s link show 查看网卡发送了多少个数据包
6.ping IP地址 测试网络连通性
7.tracpath IP地址 追踪路由
8.lsof -i:端口号 查看是哪个进程在使用这个端口
9.ss -t 查看系统TCP协议使用情况
10.ss -u 查看系统UDP协议使用情况
11.ss -tulnp 查看系统上面正在使用的端口
12.netstate -tulnp 查看端口命令
13.ssh root@workstation -X
14.nm-connection-editor
15.nmcli device status 查看网卡状态
16.nmcli connection show 查看连接
17.快速开启一个终端 Ctrl+Shift+T
18.Alt+. 粘贴上一条命令的最后一个参数
19.!IP 调用最近一条以IP开头的命令
20.source + 脚本(结构化语句)
21.nmcli device reapply 网卡名称 重启网卡
22.nmcli connectoion reload 重启连接 要先重启连接后再重启网卡
23.nmcli connection down + 连接名 关闭连接
24.nmcli connection up + 连接名 启用连接
25.nmcli device modify enp1s0 ipv4.addresses 172.25.250.9/24 修改IP地址
26.history
27.hostname 查看主机名
28.hostnamectl set-hostname 主机名 修改主机名
29. systemctl restart sshd 重启ssh服务

配置文件(共1个知识点):
1./etc/hostname 保存主机名的配置文件

其他(共19个知识点):
1.network.service redhat7的网络管理工具
2.NetworkManager redhat8的网络管理工具
3.完全限定域名(fqdn)主机名+域
4.DNS 53
5.http 80
6.ssh 22 ssh用的是TCP协议
7.redhat修改网络信息的两种方式:
图形化和修改配置文件
8.连接状态(connected)才有配置文件,不连接状态(disconnected)没有连接文件
9.连接文件的参数
BOOTPRO=dhcp/static/none
ONBOOT=yes/no 下次开机是否还使用这个IP地址
IPADDR=IP地址
PREFIX=网络前缀
GATEWAY=网关的IP地址
DNS1=首选DNS的IP地址或者主机名
DOMAIN=搜索域 lab.example.com
10.修改网卡的配置
1)网卡处于连接状态(如果网卡是disconnected,我们要让网卡处于连接状态)
2)查看网卡对应的连接的是哪一个
3)连接的连接文件存不存在,一般是存在的
4)修改连接文件
5)让配置生效(重启/命令)
11.用图形化和修改配置文件都是永久的,用nmcli命令修改是暂时的
12.ssh 远程连接 密文传输 安全,慢
13.telnet 明文传输
14.秘钥 是指将明文转换为密文或将密文转换为明文的算法中用到的参数
15.对称加密 加密和解密的秘钥是一样的 安全度相对低
16.非对称加密 安全,慢
公钥
私钥
A B
A用B的公钥加密数据 B用自己的私钥解密
A用自己的私钥解密 B用A的公钥加密数据
17.数字签名 用自己的私钥做一个签名
生成一个随机数值作为加密解密的秘钥
数字签名的原理:
双方先验证身份:首先A用自己的私钥做一个签名发送给服务器,服务器再用A的公钥去验证A的身份,验证通过后(A取得服务器的信任),然后服务器用自己的私钥做一个签名发送给A,A再用服务器的公钥去验证服务器的身份,(服务取得A的信任)身份验证通过(双方都相互信任)后通过随机生成的数值加密信息开始传输数据
数字签名在ssh中应用的原理:
A通过ssh发送连接请求给服务器,服务器接受请求并将公钥发送给A,A在本地保存服务器发的公钥(服务器取得A的信任),后通过登录密码验证身份(A获得服务器的信任后),服务器再生成一个随机数来用于对称加密的秘钥(数字签名采用的是对称加密),之后A和服务器就用这个公钥来加密解密数据,确保信息安全
18.ansible 一款自动化部署工具
19.openssh 免密码ssh

命令(共12个知识点):
1.pstree 查看进程树
2.ps 静态查看进程
3.top -d 数字 -n 数字 动态查看进程
-d 指定刷新的时间间隔
-n 指定刷新的次数
PR(优先级) = 系统默认优先级20 +精值NI
< 向上翻页

向下翻页
P 根据CPU排序 默认按降序排列
T 根据运行时间排序
q退出
m 显示内存和切换显示内存的方式
t 控制cpu的显示方式
M 按照内存排序
N 根据进程排序
f 选择要显示和隐藏的内容
4.ps -aux 查看系统所有的进程,输出的结果中SATA的参数解释
运行 R
睡眠 S父进程是睡眠的 s休眠 D K I也均表示休眠
已停止 T被暂停了
僵停 Z 所有资源都释放了 X 进程已经全部释放了
< 优先级高
N 优先级低
L 多线程的进程
5.pstree -Aup 查看进程树中进程的PID
6.kill -9 -15 向进程发送信号
-9 立即结束进程
-15 释放资源后结束进程
7.bg %工作号 让后台停止的作业继续运行
8.压缩命令 只能压缩文件
1)gzip + 文件路径 压缩为.gz格式的压缩文件
gunzip + 压缩包名.gz 解压格式为.gz的压缩文件
gzip -c 文件路径 >压缩包名.gz 保留源文件生成.gz格式压缩包
gunzip -c 压缩包名.gz >文件名
注:gzip和gunzip默认是不会保留原文件或压缩包
2)bzip2 + 文件名
bzip2 -dk 压缩包 解压 保留压缩包解压
注:bzip2的压缩和解压缩默认是不会保留原文件
3)xz + 文件名
xz -dk 压缩包
注xz的压缩和解压缩默认是不会保留原文件
9.tar 打包 把目录打包成文件
-c 创建打包文件
-J xz格式压缩
-z gzip的方式压缩
-j bz2格式压缩
-v 显示打包过程
-f 打包之后是一个文件
-x 释放一个打包文件
10.xz格式针对大文件
bz2比gz压缩效果好,但是速度慢
gz 小文件 压缩效果不明显但是快
11.调优 根据系统的不同使用场景选定一些合适的配置
RHEL 配置了一些调优的集合 profile
调用这些集合
tuned-adm active 查看系统使用的配置
tuned-adm recommend 查看系统推荐的配置
tuned-adm profile virtual-guest 将配置修改为系统推荐的配置
12.FACL文件的访问控制
针对单个用户给权限
getfacl 文件名 查看文件的facl信息
setfacl -m u:用户名:权限 文件路径 设置文件的facl
setfacl -x u:用户名:权限 文件路径 删除文件的facl
setfacl -b 文件路径 删除文件所有的facl
setfacl -m g:组名:权限 文件路径 设置组的facl
setfacl -R -m u:用户名:权限 目录路径 递归设置目录的facl
setfacl -md:u:用户名:权限 目录路径 设置将来创建目录的facl

配置文件(共1个知识点):
1./deb/null 空洞文件

其他(共7个知识点):
1.进程管理
1)进程的来源
触发一个静态的可执行文件 脚本 命令对应的二进制文件
2)进程的拥有者是谁
3)查进程占用的资源
CPU 内存 网络
4)占用的资源是否合理
5)系统上的进程的数量
6)系统剩余的资源
2.作业控制 一个前端只能存在一个进程,把不需要交互的进程放在后端
3.两个系统传输文件
1)scp 基于ssh 安全 一定要知道对方的路径
W B
拉 W从B上面拿文件
推 W发文件给B
2)sftp 交互式的 只能下载文件
4.包管理
1)YUM/DNF 都是Linux的包管理工具
2)iso文件不能直接打开
挂载 拿到iso文件里面的东西
把块设备关联到一个目录上面(挂载点),我们就可以在这个目录(挂载点)上面查看到块设备里面的东西了
b 块设备文件
3)rpm软件包的统一命名规则
包名-版本-发行次数-RHEL8.架构.rpm
4)导入公钥
5)缺点:不能解决依赖关系
A 依赖 B
htppd Apache 网页
6)yum/dnf 可以自动解决依赖关系
关系
怎么读取
yum仓库 url地址 必须要能够同时Packages 和repodata
baseurl
通过网页获取软件包和依赖关系 hppt://
通过iso文件 本地目录 file:///mnt/redhat/AppStream
ftp服务器 ftp://
文件 仓库的配置文件
5.计划任务
指定一个时间做一个事情 临时的 一次性计划任务
at 时间
Ctrl+D 提交
/etc/at.deny 一次性任务的黑名单
/etc/at.allow 默认不存在,需要自己创建
注:白名单一旦存在,就只有在白名单里面的用户才可以创建计划任务
周而复始的 可定义时间条件
crontab -e编辑 -u指定用户

  •   *   *   * *   命令
    

分 时 日 月 周
/etc/cron.deny 周而复始任务的黑名单
/etc/cron.allow 周而复始任务的白名单

命令(共9个知识点):
1.export 变量名 可以定义一个全局变量
2.declare 命令
declare -i var5=1
declare -i var6=1
declare -I var7=var5+var6
3.let 取整或取余
4.grep 输出含有关键字的行
-i 忽略大小写
-A 数字 查看后面几行
-B 数字 查看前面几行
-v 取反
-e 指定选项
5.egrep 指定多个选项
6.cut 切割
-d 指定分隔符
-f 指定第几段
7.awk 一个非常强大的文本处理工具
-F 指定分隔符
NF 每一行的最后一个
NR 指定是第几行
8.test 命令
-e 判断路径是否存在
-d 判断是不是一个目录
-f 判断路径是不是一个文件
-n 判断一个字符串是不是非空的,0表示是,1表示否
-z 判断一个字符串是不是空的,0表示是,1表示否
9.lsblk 查看块设备信息

配置文件(共0个知识点):

其他(共11个知识点):
1.shell脚本 利用shell的功能结合结构化语句
2.变量的类型
局部变量 不能被子进程调用
全局变量 可以被子进程调用
3.变量的值类型
字符串类型
数字型
4.脚本执行的方式:
Source 脚本文件
给脚本文件加执行权限后直接用路径
sh 脚本文件
5.正则表达式
. 表示任意的一个字符

  • 表示任意多个任意字符,不能放在最前面
    ^ 表示以什么开头
    ^$ 表示空行
    6.位置参数
    $# 表示参数的个数
    $0 表示脚本的名字
    $1 表示输入的第一个参数
    $2 表示输入的第二个参数
    $@ 表示输入的参数列表
    $$ 表示进程的PID
    $? 上一条命令的结果
    7.布尔值
    0表示正确的输出 1表示命令执行失败
    8.判断数值
    -eq 等于
    -le 小于等于
    -ge 大于等于
    -lt 小于
    -gt 大于
    9.判断语句
    if
    else
    fi
    10.磁盘管理 块设备
    1)创建分区
    2)格式化
    3)挂载
    11.磁盘的格式
    MBR 最多四个主分区 可以引导系统开机
    GPT 主分区 最多128个主分区
    12.fdisk 对应的磁盘是MBR格式
    parted MBR和GPT的都可以
    GPT 对应的磁盘是GPT格式
    13.文件系统
    ext4,ext3,xfs,FAT,NTFS

1、 创建物理分区

  1. 添加磁盘
  2. 创建分区
  3. 格式化 文件系统
  4. 挂载
    2、 创建交换分区
    1.有一个分区
    2.格式化
    nkswap + swap分区路径 swap格式化命令
    swapon -s(查看是否被激活) + 分区路径 激活
    3.挂载
    3、 逻辑卷 调整大小
    LVM 逻辑卷
    PV 物理卷 物理磁盘
    VG 卷组 物理卷组合而成 逻辑盘
    LV 逻辑卷 在卷组上划分
    PE 物理拓展
    4、 动态调整大小
    磁盘
    逻辑分区
    物理卷
    卷组
    格式化
    调整大小 增加或减小PE的数量
    扩容文件系统
    5、 pvcreate 分区路径 创建物理卷
    6、 vgcreate -s 16M (指定PE大小) 卷组名称 /dev/vdb[5-7]
    7、 lvcreate 创建逻辑卷
    8、 扩容
    lvresize -L 1500M 逻辑卷路径
    xfs_growfs 挂载点 扩展文件系统
    resize2fs 逻辑卷路径
    9、 缩小
    umount 挂载点
    lvreduce -L 500M 逻辑卷路径
    10、 VDO存储
    压缩存储和删除重复数据
    kvdo 压缩数据
    uds 删除重复数据
    kernel 模块化方式工作
    lsmod 查看内核模块
    VDO在设备上面 磁盘、分区和逻辑卷
    先创建VDO再格式化
  5. 删除0块数据
  6. 去重
  7. 压缩
    11、 服务管理
    systemd管理工具
    systemctl
    启动文件
    读取服务的单元配置文件
    System
  8. 一般服务 .service
  9. 与系统开机有关的 .target
  10. 套接字单元 .socket
    active(running) 正在运行
    active(exited) 一次性的
    inactive 不在运行
    enabled 在系统开机时自动启动
    static 无法启动
    disabled 不开机自启动
    12、 NFS(Network File System)
    文件共享
    /etc/exports NFS服务的配置文件
    手动挂载
    mount /etc/fstab
    自动挂载
    Autofs
    主配置文件 /etc/auto.master
    映射文件
    13、 防火墙
    firewalld

命令(共2个知识点):

  1. curl + 域名 测试能不能访问网页
  2. 定义任务
    ad-Hoc 临时命令
    ansible -m ping server ping模块
    ansible-doc -l 查看系统上所有可用的模块
    ansible-doc -v 模块名 查看模块是用来干什么的

配置文件(共1个知识点):

  1. /usr/share/doc/httpd 存放http事例文件的目录

其他(共8个知识点):
1.Apache(网页服务)
2.http 80/TCP
3.https sll模块443/TCP
4.Selinux
1)强制启用 enforcing
2)permissive 不检查 selinux处于启用状态但不工作
3)disabled 禁用
5. ansible Linux自动化 自动化部署
1)配置管理
2)应用部署
3)调配
6.控制结点
1)管理受管结点 清单文件
2)定义任务 任务列表
3)发给受管结点
7.受管结点
执行控制节点下发的任务
8. 主配置文件3种配置文件
1)/etc/ansible 默认的
2)当前路径 优先于默认的配置文件
3)当前用户的主目录
当前路径的>用户主目录的>默认的配置文件
培训第八天看老师录屏_补遗
apache:
1、/etc/http/conf/http.conf 主配置文件
2、/var/share/doc/httpd/httpd-vhosts.conf 虚拟子目录配置文件模板
3、/etc/httpd/conf.d 存放apache配置文件的目录
SSL:
1、/etc/http/conf/conf.d/ssl.conf ssl的配置文件
2、/etc/pki/tls 存放ssl证书的目录
3、openssl genrsa -des3 -out ssl.key 生成ssl私钥
4、openssl req -new -key ssl.key -out ssl.csr 生成自签名证书的请求文件
5、openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.pem 生成自签名证书
6、openssl rsa -in ssl.key -out ssl.key 保存ssl密码访问网页时不用再输入密码
7、firewall-cmd –add-rich-rule=’rule family=ipv4 source address=172.25.250.0/24 service name=http accept’创建富规则
SELinux:
1、 强制启用enforcing
2、 permissive 不检查 selinux处于工作状态,但是不工作
3、 disabled 禁用
4、 ps -efZ 查看进程的SELinux属性
5、 ls -lZ 目录路径 查看目录的SELinux属性
6、 /etc/selinux/config selinux的主配置文件
7、 semanage fcontext -a -t “httpd_sys_content_t”文件路径 修改文件的selinux默认值
8、 restorecon -Rv 文件路径 还原文件的selinux默认值
9、 chcon -t mnt_t /mnt/httpd/index.html 修改文件的selinux类型
10、 chcon –-reference /tmp /mnt/httpd/index.html 参照/tmp的selinux属性将/mnt/httpd/index.html改为/tmp的selinux的属性
11、 布尔值 启用或者禁用规则
12、 getsebool -a 查看所有的布尔值
13、 Setsebool -P http_enabled_cgi off 禁用http_enabled_cgi规则
14、 Semanage port -l 查看端口的selinux属性
15、 httpd -t 检测httpd的配置文件是否出现错误
16、 semanage port -a -t http_port_t -p tcp 端口号 给端口添加selinux类型
17、 semanage port -m -t zope_port_-t -p tcp 8899 修改端口的selinux属性
ansible:
1、/etc/ansible/ansible.cfg ansible的配置文件
2、[defaults] 默认配置全局通用配置
inventory 指定清单文件
remote_user 借哪个用户的权限
ask_pass 借权的时候是否需要输入密码
[privilege_escalation] 借权的配置
become 是否要借权
become_method 使用什么方式借权
become_user 借权的用户
ask_pass_pass 是否需要借权的密码
3、清单文件
例子:
servera
serverb
serverc
serverd

172.25.250.10
172.25.250.11
172.25.250.12
172.25.250.13
server[a:b]
[webservers]
servera.lab.example.com
serverb.lab.example.com
[databases]
serverc.lab.example.com
serverb.lab.example.com
[servers:children]
webservers
databases
4、3种配置文件
1./etc/ansible
2.当前路径 例如:/opt/ansible
3.当前用户的主目录
5、ansible的基本配置
[defaults]
inventory=./inventory
remote_user=devops
ask_pass=no

[privilege_escalation]
become=yes
become_method=sudo
become=root
become_ask_pass=no
6、ansible servers –-list-hosts 查看清单文件servers组里面的主机
7、ansible -m ping serverb 使用ping模块ping主机serverb
8、ansible database -m yum -a ”name=mysql,x86_64 state=present”
9、ansible-doc -l 查看系统上所有可用的模块
10、ansible-doc -v yum 查看yum模块的详细用法
11、ansible serverc -m file -a “path=/mnt/redhat state=directory”

补充知识点:
11.命令的组成部分
命令+选项+参数
选项可以控制命令的输出结果 短选项 -l -h 长选项–help
参数 命令的操作对象

命令 决定你要做的事情
选项 影响操作方式 可选的
参数 决定对谁操作 可以省略的
17.定位文件的方法
绝对路径 从根目录开始
/usr/local/redhat
/
只有在路径的开头才表示根目录
如果在中间则表示上下级

相对路径
参照物:当前工作路径
…/ 上一级目录
./ 当前目录
…/…/home
18.文件的存储方式
数据块block 属性块inode
文件里面的内容 文件权限、创建时间
文件名 属于上一级目录的数据块
tmp
数据块 属性块

hard
file
test

hard
数据块 属性块
hard的文件内容 权限、创建时间

soft
数据块 属性块inode
/opt/passwd的inode编号 soft的权限、时间

硬链接 相当于复制
hard
数据块 属性块
hard的文件内容 权限、创建时间

软链接
复制的是一个inode

软链接可以对目录做,硬链接不行
软链接可以跨越分区,硬链接不行
源文件被删除,软链接不可用,硬链接可用

3.Linux 是多用户系统
用户分为3类
1超级管理员root 0
2普通用户 大于1000
自己创建的用户
3系统用户 大于等于1小于等于100
系统调用
服务的用户 Mysql mysql
4.用户名
UID
5.组
一个组可以包含多个用户,一个用户也可以属于多个附加组
GID root 0
普通用户的 大于1000
系统用1 100

初始组 用户创建的时候都会创建一个同名的组,默认用户的初始组就是跟用户同名的组
student student 初始组只能有一个
student创建了一个文件 test 所属用户student 所属组 student用户的初始组
附加组
附加组可以有很多个

1、 id 用户名 查看用户信息
2、 useradd -u -g -G -c -d -s 用户名 创建用户
-u 指定用户的UID,它必须是唯一的,并且大于499
-g 指定用户所属主组群的名称或者GID
-G 指定用户附属组群的名称
-c 用户的注释性信息
-d 指定用户的主目录
-s 指定用户登录的shell,默认为/bin/bash
3、 usermod -u|uid -g|gid -G|groups -e|expiredate -f|inactive user_name 修改用户信息命令
4、 chage -m -M -W -I -l 用户名 修改用户属性信息的命令
5、 /bin 存放普通用户可以使用的命令
6、 /sbin 存放仅有root用户才能使用的命令
7、 grep 要查找的字符串 文件名 过滤
例子:
grep group1 /etc/group
8、 权限 一个用户针对目录或文件能够执行怎样的操作
9、 脚本 有执行权限的文件
10、 命令 本质是有执行权限的二进制文件
11、 strings 命令路径 查看二进制文件的命令
12、 身份问题 一个用户对于一个文件或目录来说属于什么样的身份
所有者(u) 这个用户alex是file的拥有者
所属组(g) 一个文件或一个目录可以属于一个用户,也可以属于一个用户组
其他人(o) 既不是所有者也不在所属组里面
13、 umask的配置文件 /etc/profile
U I D 其 中 UID 其中 UID其中代表调用的含义
id -un 查看当前用户的用户名
id -gn 查看当前用户的初始组
14、 source 脚本文件名 重新读取脚本文件内容命令
例子:
source /etc/profile
15、 三个特殊权限
1) suid(u+s) 4
以文件拥有者的身份去执行文件,而不是运行用户的身份
条件:这个文件的其他人身份必须要有执行(x)权限
什么时候用:只能针对二进制文件命令对应的文件,对目录是没有影响的
2) sgid(g+s)2
对文件的含义:以文件所属组的身份执行文件
对目录的含义:将目录中新创建的目录或文件所属组改成该目录的所属组
3) stick bit(o+t)1
自己创建的东西只能自己删除,这个东西的所有者是我,root除外
其中,可以通过大小写判断是否有x权限,大写代表没有,小写代表有x权限
16、 find 查找(标注红色代表该知识点需重点记忆学习)
格式:
find 查找位置 查找条件
例子:
按名称 find / -name redhat
按权限 find / -perm 3755
按用户 find / -user lisi
按所属组 find / -group group1
按时间 find / -mtime 0/+1/-1 其中0代表0:00-23:59当天;+1代表1天前;-1代表10月23日(前一天)15:45(这个时刻)到10月24日(当天)15:45(这个时刻)
按类型 find / -type f/d/l f代表是文件,d代表是目录,l代表是链接文件
按文件大小 find / -size 800C 单位:B,C,KB,MB,GB
注:1块等于512字节,若不加单位默认按块计算;若在后面加上-exec 对匹配制定选项的文件就会执行command命令,例如:find ./ -type f -exec ls -l {} ;
17、 \ 转义字符
例子:
; 表示转”;”为结束标志
注:Linux中的分号(;)不是代表通常的结束含义,所以要加上转义字符(\)来转以为结束的含义

1、 network.service redhat7中的网络管理工具,在redhat8中被淘汰了
2、 NetworkManager redhat8的网络管理工具
3、 ip -s link show 查看网卡发送了多少个数据包
4、 tracepath 追踪路由
5、 DNS 53
6、 ssh 22 ssh用的是TCP协议
7、 lsof -i:80 查看端口命令
8、 ss -t 查看系统TCP协议使用情况
9、 ss -u 查看系统UDP协议使用情况
10、 ss -tulnp 查看端口使用情况命令
11、 netstate -tulnp 查看端口的命令
12、 ssh root@workstation -X
注:其中-X表示可以图形化修改IP地址
13、 nm-connection-editor 打开图形化修改IP地址界面命令
14、 redhat8修改网络信息的两种方式:
图形化和修改配置文件
15、 连接状态(connected)才有配置文件, 不连接状态(disconnected)没有连接文件
16、 连接文件的参数
17、 修改网卡的配置

  1. 网卡处于连接状态(如果网卡是disconnected,我们要让网卡处于连接状态)
  2. 查看网卡对应的连接是哪一个
  3. 连接的连接文件存不存在,一般是存在的
  4. 修改连接文件
  5. 让配置生效(重启/命令)
    18、 source + 脚本(结构化语句)只能重新读取脚本文件
    19、 nmcli connection down + 连接名 关闭连接
    20、 nmcli connection up + 连接名 启用连接

1、 进程管理
1. 进程的来源
触发一个静态的可执行文件 脚本 命令对应的二进制文件
2. 进程的拥有者是谁
3. 查进程占用的资源
CPU 内存 网络
4. 占用的资源是否合理
5. 系统上的进程的数量
6. 系统剩余的资源
2、 top -d 数字 -n 数字 动态查看进程
-d 指定刷新的时间间隔
-n 指定刷新的次数
PR = 系统默认优先级20 +精值NI
< 向上翻页

向下翻页
P 根据CPU排序 默认按降序排列
T 根据运行时间排序
q退出
m 显示内存和切换显示内存的方式
t 控制cpu的显示方式
M 按照内存排序
N 根据进程排序
f 选择要显示和隐藏的内容
3、 ps -aux输出的结果中SATA的参数解释
运行 R
睡眠 S父进程是睡眠的 s休眠 D K I也均表示休眠
已停止 T被暂停了
僵停 Z 所有资源都释放了 X 进程已经全部释放了
< 优先级高
N 优先级低
L 多线程的进程
4、 pstree -Aup 查看进程树中进程的PID
5、 kill -9 -15 向进程发送信号
-9 立即结束进程
-15 释放资源后结束进程
6、 作业控制 一个前端只能存在一个进程,把不需要交互的进程放在后端
7、 /deb/null 空洞文件
8、 bg %工作号 让后台停止的作业继续运行
9、 FACL文件的访问控制
针对单个用户给权限
getfacl 文件名 查看文件的facl信息
setfacl -m u:用户名:权限 文件路径 设置文件的facl
setfacl -x u:用户名:权限 文件路径 删除文件的facl
setfacl -b 文件路径 删除文件所有的facl
setfacl -m g:组名:权限 文件路径 设置组的facl
setfacl -R -m u:用户名:权限 目录路径 递归设置目录的facl
setfacl -md:u:用户名:权限 目录路径 设置将来创建目录的facl

1、 shell脚本 利用shell的功能结合结构化语句
2、 grep 输出含有关键字的行
-i 忽略大小写
-A 数字 查看后面几行
-B 数字 查看前面几行
-v 取反
-e 指定选项
3、 cut 切割
-d 指定分隔符
-f 指定第几段
4、 awk 一个非常强大的文本处理工具
-F 指定分隔符
NF 每一行的最后一个
NR 指定是第几行
5、 正则表达式
. 表示任意的一个字符

  • 表示任意多个任意字符,不能放在最前面
    ^ 表示以什么开头
    ^$ 表示空行
    6、 位置参数
    $# 表示参数的个数
    $0 表示脚本的名字
    $1 表示输入的第一个参数
    $2 表示输入的第二个参数
    $@ 表示输入的参数列表
    $$ 表示进程的PID
    $? 上一条命令的结果
    7、 布尔值
    0表示正确的输出 1表示命令执行失败
    8、 test 命令
    -e 判断路径是否存在
    -d 判断是不是一个目录
    -f 判断路径是不是一个文件
    -n 判断一个字符串是不是非空的,0表示是,1表示否
    -z 判断一个字符串是不是空的,0表示是,1表示否

1、 创建物理分区

  1. 添加磁盘
  2. 创建分区
  3. 格式化 文件系统
  4. 挂载
    2、 创建交换分区
    1.有一个分区
    2.格式化
    nkswap + swap分区路径 swap格式化命令
    swapon -s(查看是否被激活) + 分区路径 激活
    3.挂载
    3、 扩容
    lvresize -L 1500M 逻辑卷路径
    xfs_growfs 挂载点 扩展文件系统
    resize2fs 逻辑卷路径
    4、 缩小
    umount 挂载点
    lvreduce -L 500M 逻辑卷路径
    5、 服务管理
    systemd管理工具
    systemctl
    启动文件
    读取服务的单元配置文件
    System
  5. 一般服务 .service
  6. 与系统开机有关的 .target
  7. 套接字单元 .socket
    active(running) 正在运行
    active(exited) 一次性的
    inactive 不在运行
    enabled 在系统开机时自动启动
    static 无法启动
    disabled 不开机自启动
    1、 firewall-cmd - -list-all 查看防火墙所有的区域
    1.block区域 数据包进入该区域都会被丢弃
    2.drop区域 数据包进入该区域会被丢弃
    3.trusted区域 不管哪个数据包进入该区域都会被允许
    2、 firewall-cmd –-permanent(永久生效) --add-source=192.168.1.0/24 –zone=trusted
    注:加了- -permanent(永久生效)选项后要防火墙要重新加载一次
    3、 firewall-cmd reload 重新加载防火墙
    4、 firewall-cmd - -list-sources - -zone=trusted 查看一个区域关联的源
    5、 firewall-cmd - -query-source=192.168.1.0/24 - -zone=trusted 查看一个源是否关联了一个zone
    6、 firewall-cmd - -change-source=192.168.1.0/24 - -zone=home 修改一个源关联的zone
    7、 firewall-cmd - -remove-source=192.168.1.0/24 - -zone=home –per(permanent的缩写) 永久移除一个源关联的zone
    8、 firewall-cmd - -get-zone-of-source=192.168.1.0/24 查看这个源关联了哪个zone
    9、 firewall-cmd –-get-zone-of-interface=网卡名 查看该网卡关联哪个zone
    10、 Firewall-cmd –-list-interfaces –zone=public 查看这个zone关联了那些网卡
    11、 Firewall-cmd - -query-interface=网卡名 –-zone=zone名 查看该网卡是否关联了该zone
    12、 Firewall-cmd –-add-interface=网卡名 --zone=zone名 将网卡关联到哪个zone
    13、 firewall-cmd –-change-interface=网卡名 –-zone=zone名 修改一个网卡关联的zone
    14、 firewall-cmd –-remove-interface=网卡名 –-zone=zone名 移除一个网卡关联的zone
    15、 firewall-cmd –-add-service=http –zone=public 将httpd服务加入到public中来
    16、 firewall-cmd –-remove-service=http –-zone=public 将http服务从public中移除
    17、 firewall-cmd –-add-port=80/tcp –-zone=public 将80端口加入到public中来
    18、 firewall-cmd –-remove-port=80/tcp –zone=publc 将80端口从public中移除
    19、 firewall-cmd –-add-protocol=tcp –-zone=public 将tcp协议加入到public中来
    20、 firewall-cmd –-remove-protocol=tcp –-zone=public 将tcp协议从public中移除
    21、 firewall-cmd –-add-rich-rule=’rule family=ipv4 source address=192.168.1.0/24 service name=http reject’拒绝从这个网段来的http服务的数据包通过
    22、 firewall-cmd –-list-rich-rules –-zone=public 查看public对应的富规则
    23、 firewall-cmd –-add-rich-rule=’rule family=ipv4 source address=192.168.1.0/24 port=80 prot port=80 protocol=tcp reject’ 拒绝这个网段从80端口的数据包通过
    24、 firewall-cmd –-add-rich-rule=’rule family=ipv4 source address=192.168.1.0/24 protocol value=tcp reject’拒绝从这个网段的tcp协议的数据包通过
    25、 parted /dev/sdb mklabel msdos 指定/dev/sdb为MBR格式
    26、 parted /deb/sdb mkpart extended 512s 8G 创建扩展分区
    注:创建扩展分区时要将磁盘所有的空间都给它
    27、 parted /dev/sdb mkpart logical xfs 512B 1G 创建逻辑分区
    28、 parted /dev/sdb set 5 lvm on 激活逻辑分区5
    注:使用逻辑分区创建逻辑卷时要激活才行
    29、 parted /dev/sdb print 查看分区情况
    30、 pvcreate /dev/sdb[56] 将/dev/sdb5和/dev/sdb6创建为物理卷
    31、 pvs/pvscan/pvdisplay 查看物理卷
    32、 vgcreate -s(指定PE大小) 4M vg的名称 /dev/sdb[56] 创建卷组
    33、 vgs/vgscan/vgdisplay 查看卷组
    34、 lvcreate -L(指定lv大小) -l(指定PE的个数) -n(指定lv的名称) 卷组
    35、 lvs/lvscn/lvdisplay 查看逻辑卷
    36、 mk.xfs 逻辑卷的路径 创建该逻辑卷为xfs文件系统
    37、 mk.ext4 逻辑卷的路径 创建该逻辑卷为ext4的文件系统
    38、 vgextend 卷组 新创建的PV 将新创建的PV加入到卷组里
    39、 lvresize -L 2G 要扩容的逻辑卷路径 扩容逻辑卷
    40、 xfs_growfs 挂载点 扩容逻辑卷的xfs文件系统
    41、 resize2fs 逻辑卷的路径 扩容逻辑卷的文件系统
    42、 umount 挂载点 卸载
    43、 lvreduce -L(指定缩小后的大小) 400M 逻辑卷路径 缩小逻辑卷
    注:缩小要先卸载,而且xfs文件系统不能缩小
    44、 stratis pool create 存储池的名称 要添加的磁盘 创建一个存储池
    45、 stratis pool list 查看存储池
    46、 stratis filesystem create 存储池 文件系统 创建文件系统
    47、 stratis filesystem list 列举文件系统
    48、 stratis pool add-data 存储池 磁盘 将一个磁盘添加到存储池中
    49、 stratis filesystem snapshot 存储池 哪个文件系统 快照的名称 用stratis做快照
    注:回复快照时只需将它重新挂载就行
    50、 stratis filesystem destroy 存储池 文件系统 销毁文件系统
    51、 stratis pool destroy 存储池 销毁存储池
    52、 netsconf –set nfsd 协议名 y/n 启用或关闭哪个挂载使用集中协议
    53、 systemctl get-default 查看默认的target模式

1、 curl + 域名 测试能不能访问网页
2、 /var/share/doc/httpd/httpd-vhosts.conf 虚拟子目录配置文件模板
3、 3、/etc/httpd/conf.d 存放apache配置文件的目录
/etc/http/conf/conf.d/ssl.conf ssl的配置文件
2、/etc/pki/tls 存放ssl证书的目录
3、openssl genrsa -des3 -out ssl.key 生成ssl私钥
4、openssl req -new -key ssl.key -out ssl.csr 生成自签名证书的请求文件
5、openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.pem 生成自签名证书
6、openssl rsa -in ssl.key -out ssl.key 保存ssl密码访问网页时不用再输入密码
7、firewall-cmd –add-rich-rule=’rule family=ipv4 source address=172.25.250.0/24 service name=http accept’创建富规则
SELinux:
1、 强制启用enforcing
2、 permissive 不检查 selinux处于工作状态,但是不工作
3、 disabled 禁用
4、 ps -efZ 查看进程的SELinux属性
5、 ls -lZ 目录路径 查看目录的SELinux属性
6、 /etc/selinux/config selinux的主配置文件
7、 semanage fcontext -a -t “httpd_sys_content_t”文件路径 修改文件的selinux默认值
8、 restorecon -Rv 文件路径 还原文件的selinux默认值
9、 chcon –-reference /tmp /mnt/httpd/index.html 参照/tmp的selinux属性将/mnt/httpd/index.html改为/tmp的selinux的属性
10、 布尔值 启用或者禁用规则
11、 getsebool -a 查看所有的布尔值
12、 setsebool -P http_enabled_cgi off 禁用http_enabled_cgi规则
13、 httpd -t 检测httpd的配置文件是否出现错误

LINUX基础知识笔记全相关推荐

  1. Linux基础知识笔记

    1.Linux是一个免费使用和自由传播的类Unix操作系统,是一个多用户,多任务,支持多线程和多CPU的操作系统,它能运行主要的Unix工具软件,应用程序和网络协议,它支持32位和64位硬件.Linu ...

  2. Day 01嵌入式学习之Linux基础知识和命令操作

    学习嵌入式开发的随堂笔记 Day 01嵌入式学习之linux基础知识和命令操作 1.英文: read:读,r字母 write:写,w字母 execute:执行,运行,x字母 directory:目录, ...

  3. Linux基础知识梳理

    Linux基础知识梳理 Linux系统的学习的方法: 1. 做一个属于自己的笔记. 2. 学习方法:实验多敲几遍, 服务器硬件 一般的服务器 刀片服务器 Linux操作系统最初是在1991年10月份由 ...

  4. b站唐老师人工智能基础知识笔记

    b站唐老师人工智能基础知识笔记 0.机器学习(常用科学计算库的使用)基础定位.目标定位 1.机器学习概述 1.1.人工智能概述 1.2.人工智能发展历程 1.3.人工智能主要分支 1.4.机器学习工作 ...

  5. 总结Linux基础知识和常用渗透命令!!!

    作为Web渗透的初学者,Linux基础知识和常用命令是我们的必备技能,本文详细讲解了Linux相关知识点及Web渗透免了高龄.如果想玩好Kali或渗透,你需要学好Linux及相关命令,以及端口扫描.漏 ...

  6. linux基础知识复习

    @(tigerfive)[linux,基础知识,复习笔记] linux基础复习(一) 今天只整理框架,具体内容之后详细整理吧 文件管理 文件基本操作 创建文件和目录 拷贝文件和目录 剪切文件和目录 删 ...

  7. linux 基础知识及命令总结

    1.mkdir   创建目录 -p 创建多级目录  mkdir -p /data/test -m, --mode=模式 设置权限模式(类似chmod),而不是rwxrwxrwx 减umask -p, ...

  8. Linux基础知识--2.Linux的文件系统和bash的基础特性(1)

    Linux基础知识--linux的文件系统和bash的基础特性 一.Linux文件系统: Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux ...

  9. Linux基础知识整理

    Linux从字面上讲就感觉不是很简单,下面我就来告诉你们linux的一些入门及基础知识 linux的特点 - 免费的/开源 - 支持多线程/多用户 - 安全性好 - 对内存和文件管理优越 关机命令 s ...

最新文章

  1. C#调用存储过程简单完整例子
  2. ACM入门练习与递推小结
  3. docker WARNING: IPv4 forwarding is disabled. 解决方法
  4. [链表] --- 反转链表(leetcode 206)
  5. win下php的memcached的安装与使用
  6. C/S架构网络聊天软件——Java Chat Application 用java做一个聊天机器人
  7. 那些被一行代码蒸发1个亿的智能合约,形式化验证了解一下? | 人物志
  8. C语言超市商品管理系统代码(精)
  9. 半双工通信和全双工通信的区别
  10. 小程序实现正计时和倒计时
  11. 2017四月TOP100电商类App排行榜出炉
  12. Dialog 对话框
  13. 分数类中的运算符重载(续)
  14. 学习游戏建模的方式有哪些?次世代游戏建模学习路线以及要掌握的3D软件分别是?
  15. 手绘VS码绘——动态篇(视觉错觉)
  16. Qt 的未来(2011年的文章)
  17. iOS10 注册极光推送(干货)
  18. Zigbee协议入门
  19. 第11课 Altium Designer20(AD20)+VESC6.4实战教程:绘制原理图8(北冥有鱼)
  20. DP背包问题及优化详解(全)

热门文章

  1. Dichotomy poj River Hopscotch
  2. 更改谷歌浏览器的安装位置(此方法同样适用于把安在C盘的东西移到其它盘)
  3. Cython的原理:知其然,知其所以然
  4. 开关电源模块 遥控开/关电路
  5. 微信小程序最新获取头像以及昵称方法
  6. 【摸鱼吃瓜工作录】刚到公司,如何让项目经理对你刮目相看
  7. Java招聘要求摘要
  8. 关于SOTIF预期功能安全的理解
  9. 论文阅读笔记: (2022.05, icra) Traffic Context Aware Data Augmentation for Rare Object Detection in Autonom
  10. 如何分辨iphone 的冷屏与暖屏