20231210-机械键盘轴的区别

  1. 青轴 段落式的键入感

一般青轴适合新入门小白级别,声音清脆,有很大的连贯性,很有段落感,且声音比较大,很有段落感!比较适合用语办公打字等等文职!青轴具有较强的段落感的特性玩游戏打字办公,节奏感强,声音爽快清脆,敲击起来更加轻松,手感更加舒适!

  1. 黑轴 直上直下的键入感

而黑轴就是属于体验感很强的键盘了,适合玩游戏的时候用,声音酥脆,反应灵敏,恢复很快,直上直下,被认为最适合游戏而成机械键盘!黑轴具有直上直下的线性特征,游戏时无段落感,输入更加行云流水,触发更是快捷迅速,游戏体验感贼强!

,不太适用于办公,但是如果是需要安静的环境办公的话,黑轴也是可以的!

  1. 红轴 声音清脆,有段落感

然后就是红轴了,红轴敲击时比较轻松,没有段落感,直上直下的,很轻松,比较适用于打字和玩游戏

  1. 茶轴:小白的福音,集优势于一身
    然后就茶轴了,茶轴被称为小白的福音,他不像青轴那样张扬,声音极大,也不像黑轴那样急速恢复,而是处于比较适中的位置,有着他们的共同优势,既能适用于打字文职类得工作,又能适用于玩游戏的体验,感觉也是非常好的,不过没有用过机械键盘的,或者习惯用纯段落较强的人,还是先试体验一下比较好!

黑轴:一般情况下适合玩游戏,打字(指力太弱则不推荐)

青轴:大多数人认为是最适合打字的轴

茶轴: 茶轴兼顾打字和游戏需求,所以有被称作万用轴。

红轴:价格比较贵的一种轴,游戏,除青轴外最适合长时间打字

白轴:现在用的已经不多,它比较适合大量进行文字输入工作的人

黄轴:国产的一种轴,相对来说适合玩游戏

———-其他轴

果冻黑轴

海绵轴

银轴

水晶蓝轴

茶轴

酒红轴

酒白轴

魅力紫轴

抹茶绿轴

Air轴

海星轴

樱花轴

水晶轴

https://www.bilibili.com/video/BV1LC4y1V74r

https://www.bilibili.com/video/BV1Ue411C7KF

20231201-利用Filezilla在局域网内搭建自己的FTP服务器

filezilla server
filezilla client

在general setting 里面
更改最大用户树,这个数指的是允许的同时登录到服务器的用户数量

链接:https://pan.baidu.com/s/1Ou4bQXyGn8OpfndGE-O5sg
提取码:rb31

安装ftp 服务器

yum install -y vsftpd

添加用户名,用作ftp 匿名访问用户

useradd ftpuser

passwd ftpuser

配置文件

init.d linux 系统启动的初始化文件

winscp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void* func;
const char* name;

(void *) 强制类型转换
void*p = (void*)p;
void* vp1 = void*(p);


static_cast<>
const_cast<>
dynamic_cast<>
reinterpret_cast<>

void (*init)(uint16_t tclk)

void (*exe)(void)


动态绑定

id

sptype 参数显示类型
parmtype

runtimeflag

extern struct _m_usmart_dev_usmart_dev;

结构体的初始化

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>

myprint

print_hex

port

sptype = 1;

usmart_init

usmart_cmd_rec

const_char

(char *)

尽量少做转型工作

paramtype

参数是字符串

参数是数字

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
int arr[3] = {0,1,2};

for (int i = 0; i< std::size(arr);i++)
std::cout << arr[i] << " \n"[i == std::size(arr) -1];

(*(uint32_t(*)()))usmart_dev.funs[id].func(temp[0],temp[1],temp[2]);

break;

解引用

uint32_t

usmart_get_input_string

III

comp 对比字符串

strtemp

const

print_hex(int i)

把函数存起来

1
2
3
4
5
6
7
8
9
std::function

print_add(int 1)

std::bind

auto factorial

cppreference.com

20231201-LVGL模块入门

GUI简介

GUI 库:图形用户界面库,只要调用gui库的函数即可快速绘制出所需要的用户界面

开发难度低
可移植性高

风格统一、协调

嵌入式系统中常用的gui库

emwin

LVGL

TouchGFX

QT

LVGL简介

Light and versatile graphics library 是一个轻量、多功能的开源图形库。

LVGL移植要求

LVGL资料获取

LVGL库软件介绍

课堂总结

支持多种输入设备

部件、功能丰富

具备高级图形特征

支持多种样式属性

C语言编写

css 样式设计理念

LVGL 移植要求 熟悉

16 32 64 为¥微控制器或处理器

主控频率 > 16Mhz

Flash/ROM >64kb 建议180kb以上

RAM > 8kb 建议 24kb以上

图形缓冲区 > 水平分辨率像素,建议大于1/10 屏幕总像素

C99 或更新的版本的编译器

此要求仅针对v8版本的LVGL


优化LVGL 运行效果的方法

提高芯片主频

增大 SRAM 容量,提高读写速度

增大图形缓冲区,使用双缓冲

减小需要刷新的总像素


1
2
3
4
5
6
7
8
9
10
11
12
std::vector<std::thread>
jthread

uart

public:
template <typename Fn, typename ... >

std::any

private:
void* m_fun;

模板函数

ranges

类型

beep

后备区域BKP

RCC_BDCR
LSE

扭力扳手

RTC_PRER PREDIV_A 异步预分频器

ck_apre
ck_spre

0xff 即256分频

时间和日期相关寄存器

BCD码

可编程闹钟

周期性自动唤醒

16位可编程自动重载递减计数器

ck_spre

软件清零WUTF标志

TR 寄存器

0

写保护

WUTIE

位14

ALRAE

FMT 为小时格式选择位

ss[15:0]

亚秒值=(PREDIV_S-SS)/(PREDIV_S+1)

ALRBF

ALRAF

init 为初始化模式控制位

RTC唤醒寄存器

闹钟 秒的

备份寄存器

BKP 存储重要的数据

EEPROM

LSE
RTC

usmart 设置时间

hal 库

HAL_RTC_Init()

PutPut 使能A输出

HAL_RTC_SetTime() 设置rtc的时间函数

SetDate 是设置RTC 的日期函数

GetTime 函数

取消备份区域写保护

LSE RTC

唤醒中断,闹钟

g_rtc_handle

句柄

声明与使用靠近

LSE 外部低速时钟

1
2
3
4
5
6
7
8
9
10
11
12
13
retry--

LSI

rtc_read_bkr();

sprintf(tbuf,'Time:%02d',hour,min,sec)

rtc_read_bkr

rtc_get_week(uint16_t year,uint16_t month,uint16_t day)

AlarmAEventCallback

LVGL 资料获取

demos LVGL 官方演示代码

docs LVGL 文献,解析部件的使用方法

env_support 环境支持 MDK ESP RTThread

examples 示例、输入输出设备接口文件

scripts LVGL 手稿

src LVGL 源文件

tests 官方人员的测试代码

lv_conf_template.h LVGL 的剪裁文件

lvgl.h LVGL 包含的头文件

20231130-如何批量安装操作系统

要想为对于500台的计算机同时安装操作系统,首先需要满足如下安装条件

必须有一台带网卡的计算机A 作为服务器,其他的计算机作为客户端

必须将这些计算机都设置在一个局域网内

将这些电脑的ip 地址设置在一个网段之中

需要安装系统的电脑B 支持网络启动,如启动到PE ,内存最好大于256M

准备好活动硬盘或者u盘,其中包含操作系统和驱动程序相关文件

准备好网络启动软件包,两个软件包均可以启动到dos 或winpe ,启动会均支持usb 设备

window server

要想为对于500台的计算机批量安装操作系统,首页必须将其中的一台安装好可以做服务的操作系统,如window server 2003 2008 等,在安装好操作系统后,下面就可以创建服务器了

在安装好服务器端之后,下面就可以安装客户端程序了,这里以maxdos8为例,在客户机中安装客户端程序的具体操作步骤如下。

20231129-Xshell工具的使用

Xshell 是一个强大的安全终端模拟软件,它支持ssh1 ssh2 以及Microsoft windows 的telnet 协议

xshell 通过互联网到远程主机的安全连接以及他创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作

xshell 可以在windows 界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的,除此之外,其还有丰富的外观配色方案以及样式选择

xshell 是通过命令来操作服务器

其实他的大家庭里还有 xftp securecrt securecrtFX putty 等

让xshell开始工作

安装好之后,我们开始第一次的正式使用,首先打开xshell 的工作界面

点击文件 新建

或者是点击这个新建按钮

xftp

如何修改xftp 显示服务器中隐藏的文件

可以直接通过关设置xftp 的属性就可以了

xshell 与 xftp 互联

我们可以通过xshell 连接xftp 吗

我们可以通过xftp 连接xshell 吗

好处,不需要额外建立连接或者是打开软件或者是再次输入密码

xftp 如何导出已有的登录信息

integritydl 「阿里云盘」链接:https://www.aliyundrive.com/s/hao5yBVF9SF 提取码: 2y5e


常用命令的使用 cd ls cp rm tar

文本的编辑 vi gedit

用户及权限系统 chmod

shell 脚本入门 .sh

常见的服务器 vsftpd

java tomcat 运行环境的搭建等

其他软件的编译与安装 redis

X window gui 支持

文件系统

对于linux 来说,使用统一的目录树结构

/home/shaofa
/root
/bin
/mnt
/usr
/etc

String filePath=”c:/example?abc.txt”

/home/shaofa/abc.txt

opt 目录

cd 即current directory

1
2
cd ~/example  其中~特指用户的主目录
cd 回到用户目录 主目录位置

pwd print working directory

ls 即list 列出文件和目录

1
ls -l ~example 其中 -l 参数表示详细模式

FastCopy

绝对路径

相对路径

目录操作

mkdir 即make directory 创建目录

mkdir abc

mkdir -p abc/123/test

使用-p 参数,可以将路径的层次目录全部创建

rmdir 即 remove directory 删除空目录

rmdir abc

如果目录非空,则删除失败

rm -rf abc
删除abc 目录,和子项一并删除

其中r 表示 recursive 递归的 f 表示force

cp 复制 copy 复制文件或者目录

cp -rf example example2

归档压缩

tar 即tape 磁带设备 archive 档案打包

创建档案包

tar -cvf example.tar example

其中 c 表示create 创建档案
v 表示verbose 显示详情
f 表示file

也可以多个目录打包 tar -cvf xxx.tar file1 file2 file3

还原档案包

tar -xvf example.tar

tar -xvf example.tar -C outdir

其中-C 参数指定目标目录,默认解压到当前目录下

先前的tar 格式并没有压缩,体积较大

归档并压缩

tar -czvf example.tar.gz example

解压缩

tar -xzvf example.tar.gz -C outdir

通常我们所见的,都是 *.tar.gz 这种格式的

tab键可以自动补全

上下键可以回顾历史记录,左右键可以修改插入

一般地 在终端窗口里按鼠标右键支持复制粘贴

useradd 添加用户

chmod change file mode 改变文件权限

vi cat ps kill ping ifconfig

后续的章节中,会按照分类介绍更多命令行

软链接

即windows 下的快捷方式

使用ln 命令来创建软链接

ln -s source link

其中-s 表示soft 软链接 默认为硬

比如

ln -s example example2

Hirender P1 播放器 Qlab

软链接的特点,对源文件没有影响
删除源文件,则软链接失效

除了软链接之外,还有一个为硬链接,不在本课程讲解

用户管理需要以管理员身份执行

所以,要先切换到root 账户

su 即switch user 可以切换用户

注意,是当前终端会话变成了root 账户,不是整个登录

用户管理

添加用户

useradd test1

观察 home 目录下的变化

修改用户密码

passwd test1

删除用户

userdel test1

以root 身份执行命令,有三种方法

以root 账户登录

以普通用户来登录,临时切换到su

以普通用户来登录,临时执行sudo

用户和组

groupadd boys

useradd -g boys gang

useradd -g boys ming

usermod 表示修改用户信息

usermod -g boys

如何查看用户和组

cat /etc/group

每一行表示一个用户信息

cat /etc/passwd

用户不多时,管理的时候并不使用组的概念

一个root 两个普通用户 a1 b1

文件的权限

本章讨论文件的权限问题

考虑以下几个方面

-owner 文件的属主 owner
-r 文件是否可读 read
-w 文件是否可写 write
-x 文件是否可执行 excute

chmod -x

rw-r–r– 表示该文件的访问权限

使用ls 命令查看一个文件

权限分为三部分,自己 同组 别人

例如
rwx rwx rwx
rwx rwx r–
r– — —

在文件夹窗口里,文件 属性,权限 查看

escape :wq

chmod o+w simple.txt

其中
o 表示other 别人
+w 表示增写write权限

chmod a+w simple.txt
所有人all 添加w 权限

chmod a-w simple.txt
所有人减去w 权限

chmod u+w simple.txt
仅用户user 自己的权限+w

chmod o-w simple.txt
修改别人other 的权限-w

只有文件的属主 或者root 可以修改文件权限

省略写法

chmod +w simple.txt
chmod -w simple.txt

默认是修改自己和本组的权限

chown 即change owner 修改文件的属主

一般来说,每个用户只操作自己的用户目录

所以chown 命令并不常用

修改文件属主

在/opt 目录下建立一个文件夹source

将source 目录分配给用户shaofa

chown -R 表示递归

只有文件的owner和root 才有权更改属主

可执行脚本

脚本script 一种解释执行的程序

linux 下常见的三种脚本程序

1
2
3
shell 脚本 *.sh
perl 脚本, *.pl
python 脚本 *.py

脚本程序,本质是一个文本文件

它是一个文本文件
它具有可执行权限

ls -l /bin/python3

本质上,脚本都是由解释器来执行的

shell 脚本解释器
perl 脚本解释器
python 脚本解释器

执行一个脚本时,以下两种方式等效

1
2
3
4
5
./hellp.py
./usr/bin/python3 hello.py
#!/bin/sh

echo "hello world"

环境变量,就是放在当前环境中的变量

无论linux 还是windows 都有环境变量

比如,最常用的环境变量 path,java_home

export

用户环境变量

用户环境变量 定义在 ~/.bash_profile

在主目录下

ls -la

其中,a 表示all ,显示所有文件

注,在linux 下,以. 开头的文件为隐藏文件

gedit .bash_profile

要点与细节

以点号 . 开头的文件为隐藏文件

ls -a 查看所有文件

此配置只对当前用户有效

因为每个用户都有自己的配置文件.bash_profile


系统环境变量

定义在/etc/profile 中

此中的环境变量对所有用户有效

以root 登录或执行

gedit /etc/ptofile

在centos 下,一般不直接修改 etc/profile 而是在etc/profile.d/ 创建一个自定义的脚本

系统环境变量
用gedit 创建一个脚本

定义环境变量

注销并重新登录

重新登录后,环境变量生效

PATH 环境变量

先来看一个问题,创建一个可执行脚本

默认地,系统从以下目录中搜索可执行程序

~/bin
/usr/bin
/usr/sbin
/usr/local/bin
/usr/local/sbin

其中,sbin 为超级用户root 才能执行的程序

/usr/ 下系统自带的程序, /usr/local/ 是用户安装的程序

如果要对所有用户生效,需要加到

/etc/profile.d/myprofile.sh

export PATH=$PATH:/opt/jdk1.8/bin

VMware 下虚拟机上网的问题

在centos 内用浏览器上网

以管理员运行VMware 编辑 虚拟网络编辑器

三种联网方式

VMnet0 桥接Bridge
VMnet1 仅主机
VMnet8 NAT共享主机

一般地,使用NAT 方式或者Bridge 方式

虚拟机网络编辑器

打开windows 控制面板,大图标,网络与共享中心 更改适配器设置

默认地,在WMware 安装的时候会自动添加2个虚拟网卡

ifconfig

虚拟机与宿主机的互相连通的

与宿主机的网络互联

虚拟机与宿主机

VMware 虚拟出来的这个路由器不支持ping操作

tracert 自动连接网络

设置网络,在系统启动时自动连接网络

两种方式,
图形界面,直接设置
命令行界面,修改配置文件

ens33 

ls /etc/sysconfig/network-scripts

FTP 文件传输

用U盘拷贝过去

网络传输

FTP
SSH/SFTP
SAMBA/CIFS
NFS

FileZilla 客户端

SSH远程登录

本章介绍以ssh 方式进行远程登录

Telnet

Putty SecureCRT XShell

sshd 默认是启动的

systemctl status sshd

如果有防火墙,注意打开ssh 协议的22端口

运行SecureFX 文件上传 下载

FX 即 file Transmission

协议SFTP Secret File Transfer Protocol 端口22

gedit 一个基于gui的文本编辑器

vi 一个基于命令行的文本编辑器

需要掌握vi 的简单操作,因为一般的centos 可能不带gui 窗口环境


vi 的更多用法

vi 下其实还有非常复杂的命令和用法,除了i 和ESC 之外,几乎键盘上的每一个键都是快捷键

dd 表示删除一行

但是,这些都是不需要掌握的,不建议学习

如果只有少量修改,用vi

如果需要大量复杂的修改,现在windows 上编辑好
再上传到服务器上


文本文件的上传

比如,修改 /etc/vsftpd/vsftpd.conf

备份

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.2

下载
本地编辑

用notepad++编辑

上传
换行符问题

当编辑linux 下的脚本文件或配置文件的时候,需要注意,换行符的问题

windows 下的文本文件的换行符 \r\n
linux 下的文本文件的换行符 \n

编辑,文档格式转换,转换为unix 格式

一般地,只有linux 脚本文件或者配置文件需要转换

其他的普通文件 java xml html 等则没有影响

在notepad++ 下,开启特殊符号显示,以方便检查换行符

java 运行环境

JRE,用于运行java 程序的环境

openjdk centos 配套的jdk 软件包,java 的开源版本,目前被更多人使用


查看已经安装的软件包
yum list installed

查看已经安装的软件包,并搜索java 记录
yum list installed | grep java

yum search java

grep : global regular expression 命令用于查找文件里符合条件的字符串或正则表达式

grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep 指令会吧含有范本样式的那一列显示出来。

在linux 命令行进行算数运算的几种方法

openjdk 软件包



JRE 运行环境 [推荐]
java-1.8.0-openjdk.x86_64

开发环境
java-1.8.0-openjdk-devel.x86_64

精简的jre 运行环境,headless 版本
java-1.8.0-openjdk-headless.x86_64

运行java 程序

java -jqr your_program.jar

上传到centos

运行程序

java -jar simple.jar

权限因素,自行检查

程序里需要访问系统文件

程序里需要开启tcp 端口,需要用root运行

创建运行脚本

一般来说,需要创建一个脚本,以便能快捷地启动程序

参考run_app.sh

设置工作目录

设置必要地环境变量

设置JVM 运行参数

运行程序

Tomcat 服务器地运行

本身是一个java 程序,必须要有java 地运行环境

检查tomacat 进程是否在运行

ps -ef | grep java

netstat -anp | grep 8080

访问网站

关闭服务器

ps -ef|grep java

要点与细节

需要有java 运行环境才能运行

tomcat 作为网络服务器,应该以root 执行

tomcat 是以后台服务方式运行的

要点与细节

不一定要部署在/opt/ 也可以放在 /root 下

注意网站的根目录,ROOT 区分大小写

/opt/www_your_own/ROOT


tomcat

创建启动脚本

tomcat 自带的脚本

startup

shutdown

catalina

创建一个脚本 run_tomcat.sh

以后台方式运行服务

停止服务

在当前窗口运行 方便打印调试

run_tomcat.sh run

其中,参数 start stop run 会间接地传给catalina.sh

------- 程序与进程

程序 program 指一个程序文件,

ps -ef 查看所有的进程信息

要点与细节

重点注意 进程的pid 字段,pid 由系统动态赋予,不是固定的。


中断进程

强行结束 当前进程 ctrl+c

演示
运行top 按 ctrl+c 强行结束

gedit 按 ctrl+c 强行结束

杀死进程

已知一个进程 的pid ,可以强行杀死该进程

kill -9 NNN

或者pkill name_of_process

显然,只有root 才能杀死一切进程,普通用户就只能杀死自己的进程

redis 服务器

redis,一款基于内存的key value 型数据库

本章内容

redis 服务器的安装
redis 源码的编译
redis 服务器的配置



20231129-SSH加密和安全笔记

软件的实现

openssh ssh 协议的开源实现,centos 默认安装

dropbear 另一个开源项目的实现

ssh 协议版本

v1基于crc32做mac 不安全 man-in-middle

v2 双方主机协议选择安全的mac 方式,基于DH 算法做密钥交换,基于RSA 或DSA 实现身份认证

3.1.1 公钥交换原理

客户端发起链接请求

服务端返回自己的公钥,以及一个会话id

客户端生成密钥对


命令行工具

base64

md5sum

cat

当用户远程连接ssh 服务器时,会复制ssh 服务器 .pub 文件中的公钥到客户机的 know_hosts 中,下次连接时,会自动匹配相应私钥,不能匹配,将拒绝连接

范例

禁用自动连接的过程

安全机制

对称和非对称加密

散列算法

gpg

PKI和CA

openssl

证书管理

ssh 服务和dropbear

轻量级自动化运维工具

aide

sudo
tcp wrappers

pam 模块

centos

openssh 是ssh 协议的免费开源实现,一般在各种linux 版本中会默认安装,基于cs 结构

rdm

systemctl status sshd 查看服务器的状态

ss -ntl

scp

sftp

远程执行命令

ssh 10.0.0.8 “sed -i.bak

在远程主机运行本地shell脚本

ssh 选项

-p port 远程服务器监听的端口
-b 指定连接的源ip
-v 调试模式
-c 压缩方式
-x 支持x11转发

lastb

btmp

wc -l

1
2
3
lastb -f btmp-34 | wc -l

lastb -f btmp-34 | awk '{print $3}' | sort |uniq -c |sort -nr|head

联发科 专用刷机工具 mtkclient

手机获取root 权限基本步骤

解锁 bootloader 提取 boot 修补 boot 刷入 boot

fastboot 环境 bootrom 环境 系统环境 fastboot 环境

xmanager

1 CA实现和证书管理,用脚本实现

2 ssh 服务常见操作

openssl

base64 编码

加密和安全

跳跃

ssh -t 10.0.0.8 ssh -t 10.0.0.7 ssh 10.0.0.6

-o 指定 ssh 的配置

输入重定向

ssh 10.0.0.6 bash < /root/test2.sh

ssh 服务登录的常用验证方式

用户 口令

基于密钥

scp 拷贝文件

win10 创建访客账户

实现基于密钥的登录方式

ll .sh/

防火墙

cat hosts.txt

while read ip; do ssh $ip bash < /root/test2.sh; done < hosts.txt

for i in cat hosts.txt; do echo $i; done

ls -a .sh

RSC 协议

-n 模拟复制过程
显示详细过程
递归复制目录树
保留权限
保留修改时间戳
保留组信息
保留所有者信息
将软链接文件指向的文件复制

如果接收者的文件比发送者的文件较新,将忽略同步

压缩,节约带宽

rsync -av /data/test 10.0.0.7:/data # 复制目录和目录下的文件

rsync -av /data/test/ 10.0.0.7:/data # 只目录下的文件

ssh 高级应用

本地端口转发

ssh 会自动加密和解密所有ssh 客户端与服务端之间的网络数据

telnet SMTP LDAP 这些TCP 应用均能够从中得益,避免了用户名,密码以及隐私信息的明文传输

SSH 端口转发能够提供两大功能

加密ssh client 端至ssh server 端之间的通讯数据

突破防火墙的限制完成一些之前无法建立连接的TCP 连接

sam 文件 密码

iptable

tail

ssh 服务器配置

服务器端 sshd

服务器端的配置文件 sshd-config

常用参数

魂斗罗 contra

ssh 服务的最佳实践

建议使用非默认端口

禁止使用

限制可登录用户

设定空闲会话超时时长

禁止使用空密码

禁止root 用户直接登录

限制ssh 的访问频度和并发在线数

经常分析日志

ssh 其它相关工具

挂在远程ssh 目录sshfs

由EPEL源提供,目前centos 还没有提供,可以利用ssh 协议高在远程目录

自动登录ssh 工具sshpass

由EPEL源提供,ssh 登录不能在命令行中指定密码,sshpass 的出现,解决了这一问题

它支持密码从命令行 文件 环境变量中读取

格式 sshpass [option] command parameters

常见选项

-p password 后跟密码它允许你用 -p 参数指定明文密码,然后直接登录远程服务器

-f filename 后跟保存密码的文件名,密码是文件内容的第一行

-e 将环境变量SSHPASS 作为密码

sshpass –help

sshpass -p magedu ssh -o StrictHostKeyChecking=no 10.0.0.7

本机known_hosts文件中有的主机才能生效

chmod

vim change_pass_dd.sh

ssh 10.0.0.28

批量修改多台主机的root 密码为随机密码

批量部署多台主机基于key 验证 1

遗传算法

轻量级自动化运维工具pssh

EPEL 源中提供了多个自动化运维工具

pssh 基于 python 编写,可在多台服务器上执行命令的工具,也可实现文件复制,提供了基于ssh 和scp 的多个并行工具

pdsh 是一个多线程远程shell 客户端,可以并行执行多个远程主机上的命令

mussh 是一个shell 脚本,允许使用命令在多个主机上通过ssh 执行命令。

pssh 命令选项如下

pssh -h hosts.txt -i echo $UID

pssh -h hosts.txt -i echo $HOSTNAME

pslurp 命令

功能是将远程主机的文件批量复制到本地

-L 指定从远程主机下载到本机的存储的目录,local 是下载到本地好的名称

-r 递归复制目录

dropbear

是特别有用的嵌入式linux 系统,如无线路由器,期望在存储器与运算能力有限的情况下取代openssh,尤其是嵌入式系统

rpm -qf /usr/sbin/sshd

wget

文件完整性检查 AIDE

编译安装 dropbear

dropbear -p :2222 -FE

linux=grub2+kernel+busybox+dropbear

动态端口转发

depmod

windows

bios
windows
C
app

linux
bootloader 常用u-boot
linux内核 内核本身,驱动程序
根文件系统 系统必备app 我们的app
APP


vim
编辑器

删除x 删除光标之后的内容

dd 删除整行

ndd // 删除当前行及其后的n-1行 n 是数字

o 在当前行下面新增加一行

u 撤销上一步操作

4 复制/粘贴

yy 复制当前行 yank 复制
nyy 复制当前行及其后的n-1行 n是数字

p 粘贴 paste

替换/查找

/pattern 从光标开始处向文件尾 pattern 后按下n 向下查找,或N 向上查找

:%s/p1/p2/g 将文件中所有的pi 均用p2 替换
:%s/p1/p2/gc 替换时需要确认

s 全称 substitute 替换

g global 全局
c 全称confirm 确认

嵌入式linux 开发

在windows 编辑

在服务器编译

在开发板运行

USB 网卡

windows 软件

vmware 虚拟机软件
source insight 阅读、编写源码的工具,
mobaxterm 串口工具,远程登录工具
filezilla 文件传输工具,在windows 和ubuntu 之间传输文件

notepad

reboot

下载BSP及配置工具链

100ask_imx6ull 开发板的BSP都保存在git 站点上,通过repo 命令统一管理

配置repo

NFS 实现了一个跨越网络的文件访问功能,

NFS 最大的特点是将服务端的文件系统目录树映射到客户端,而在客户端访问该目录树与访问本地文件系统没有任何差别,客户端并不知道这个文件系统目录树是本地的还是远在另外一台服务器

SMP 负载均衡

gcc
-E 预处理,开发过程中想快速确定某个宏可以使用 -E -dM

-c 把预处理、编译、汇编都做了,但是不链接
-o 指定输出文件
-I 指定头文件目录
-L 指定链接时库文件目录
-l 指定链接哪一个库文件

awk 命令实现数组切分提取

1
2
3
4
5
6
7
8
awk -F ' ' '{print $1}'
v2 | awk -F ' ' '{print $1}' | xargs -i kubectl logs -n 20 -n weather {} -c istio-proxy

内容太多 正则表达式继续筛选,找到需要的内容

数据统计


  • Copyrights © 2015-2024 TeX_baitu
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~