近期改动时间:2021-01-29 21:19:35
不定期更新帖,因为帖主还在努力学习当中!
我将通过对网络上的一些关于 物联网 / 工控 安全等相关方面的思维导图、文章、漏洞进行学习后,根据自身的理解予以整理修改,因此难免会出现差错之处,请各位师傅们予以指正。对于文中引用的一些相关资料和资源均版权归原作者所有!本文将不定期更新!催更新请加我QQ:2200475850 ~
开发基础(具有一定的编码能力是不必不可少的)
C语言
- ### 必备Linux命令和C语言基础
这里我们列出一些 Linux 主流发行版的操作!
关机命令
halt 【立刻关机】
poweroff 【立刻关机】
重启命令
- reboot 【立即重启】
其他命令
|命令|操作说明|
|-|-|
|ls|显示文件或目录|
|ls -l|列出文件详细信息|
|ls -a|列出当前目录下所有文件及目录,包括隐藏文件|
|mkdir|创建目录|
|cd|切换目录|
|cat|查看文件内容|
|cp|拷贝|
|mv|移动或重命名|
|rm|删除文件|
|rm -r|递归删除,可删除子目录及文件|
|rm -f|强制删除|
|find|在文件系统中搜索某文件|
|grep|在文本文件中查找某个字符串|
|rmdir|删除空目录|
|pwd|显示当前目录|
|ln|创建链接文件|
|who|显示在线登陆用户|
|whoami|显示当前操作用户|
|hostname|显示主机名|
|uname|显示系统信息|
|top|动态显示当前耗费资源最多进程信息|
|ps|显示瞬间进程状态|
|ifconfig|查看网络情况|
|ping|测试网络连通|
|netstat|显示网络状态信息|
|kill|杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。|
- ### 输入输出专题
输出(你向这个世界宣告你的诞生):
#include "stdio.h"
int main() {
/* 我的第 1 个 C 程序 */
printf("你好,世界!\n");
return 0;
}
输入(它多少岁了):
#include "stdio.h"
int main() {
/* 我的 2 个 C 程序 */
int age;
printf("你觉得它多少岁了?\n\n->");
scanf_s("%d", &age);
printf("\n\n原来我%d岁了啊!", age);
return 0;
}
- ### 控制语句
if 判断
#include "stdio.h"
int main() {
/* 我的 3 个 C 程序 */
int a = 20;
int b = 10;
if (a > b) {
printf("\n a > b 这是真的\n");
}
if (a < b) {
printf("\n a < b 这是真的\n");
}
if (a == b) {
printf("\n a == b 这是真的\n");
}
if (a >= b) {
printf("\n a >= b 这是真的\n");
}
if (a <= b) {
printf("\n a <= b 这是真的\n");
}
if (a != b) {
printf("\n a != b 这是真的\n");
}
return 0;
}
switch 选择
#include "stdio.h"
int main() {
/* 我的 4 个 C 程序 */
int who_am_i = 0;
switch (who_am_i) {
case 0:
printf("原来我是 A\n");
case 1:
printf("原来我是 B\n");
case 2:
printf("原来我是 C\n");
case 3:
printf("原来我是 D\n");
default:
printf("我,谁也不是!\n");
}
return 0;
}
while循环
方式一:
#include "stdio.h"
int main() {
/* 我的 5 个 C 程序 */
int i = 0;
int sum = 0;
while (i <= 100) {
sum += i;
i++;
}
printf("%d\n", sum);
return 0;
}
方式二:
#include "stdio.h"
int main() {
/* 我的 6 个 C 程序 */
int i = 0;
int sum = 0;
do {
sum += i;
i++;
} while (i <= 100);
printf("%d\n", sum);
return 0;
}
for循环
#include "stdio.h"
int main() {
/* 我的 7 个 C 程序 */
int i, sum = 0;
for (i = 0; i <= 100; i++) {
sum += i;
}
printf("%d\n", sum);
return 0;
}
函数
介于篇幅的原因,【函数】这部分,建议师傅们直接去看C语言中文网的教程,挺不错的!
数组和字符串
介于篇幅的原因,【数组】和【字符串】这部分,建议师傅们直接去看C语言中文网的教程,挺不错的!
数组溢出
在C语言中,数组的元素下标是从0开始计算的,所以,对于n个元素的数组a[n], 遍历它的时候是a[0],a[1],...,a[n-1],如果遍历到a[n],数组就溢出了。
指针
如果师傅们没有接触过,先异步【指针基础】(http://c.biancheng.net/c/80/)学习学习先!
C语言高级
- ### 软件包管理及shell命令
- ### shell命令
- ### shell脚本编程
- ### C语言高级编程
Makefile
数据结构全攻略
- ### 顺序表
- ### 单链表上
- ### 循环链表及线性表的应用
- ### 栈及其实现
- ### 队列实现及应用
- ### 树和二叉树
- ### 查找
- ### 排序
单片机基础知识
什么是单片机?
单片机是一种集成电路芯片,也叫微控制器,MCU,简单的来讲,单片机就是一个将微型计算机系统集成到里面的电路芯片。
其实现如今无论是哪一种微控制器,51也好,32也好,究其本质都是内核加外设,内核通过诸多寄存器来控制外设,而各种外设通过各种中断系统来通知内核。内核与外设之间通过总线传递数据,地址等信息。因此我们其实涉及到的这一部分的知识其实都是读写寄存器,处理中断源,控制访问内部总线。
入门单片机推荐
推荐学习51单片机的一定知识后直接过度到32或者其他系列的单片机,因为,一通百通。
应用层核心知识
- 嵌入式Linux下文件I/O精讲
- 标准I/O上
- Linux下文件I/O
- 库的制作及使用
- Linux并发程序设计你该这么学
- 进程编程及守护进程
- 线程专题
- Unix进程间通信方式上
- System V IPC对象上
- Linux网络编程必修篇
- 网络基础上
- TCP编程
- 并发服务器
- UDP编程
- IO多路复用
- TCP、IP协议原理
- 网络编程扩展
底层核心知识
- 精通ARM体系结构及接口技术
- ARM基础
- ARM指令
- ARM异常处理
- ARM裸机开发
- ARM通讯接口
- ARM中断机制
- ARM波形控制
- 全面掌握嵌入式系统移植
- 系统移植概述及环境搭建
- 系统移植概述及环境搭建
- Bootloader移植
- Linux内核分析
- Linux内核移植及网卡移植
- 第三方驱动移植
- 根文件系统制作
- 嵌入式内核及驱动开发初级
- 设备驱动环境搭建
- 驱动模块开发
- 字符设备驱动基础
- 中断编程
- 平台总线专题
- 嵌入式内核及驱动开发高级
- 高级驱动学习方法
- 输入子系统
- I2C子系统
- 设备树
物联网开发关键技术
- Android系统开发
- Android系统开发之系统概述及开发环境搭建
- Android系统开发之系统编译过程详解
- Android系统开发之模块编程及fastboot使用
- Android系统开发之系统启动流程分析
- Android系统开发之HAL硬件抽象层的开发
- stm32 嵌入式系统设计
- ARM体系结构概述
- 开发环境搭建及平台
- STM32 GPIO口操作平台
- STM32 USART串口的应用
- STM32时钟
- STM32中断系统
- STM32 I2C总线通信
- STM32 SPI总线通信2
- STM32模数转换器ADC
- STM32数据搬运工DMA
- STM32 实时时钟RTC
- STM32 PWM定时器
物联网高级开发
- Zigbee系统开发
- zigbee简介+开发环境搭建
- zigbee无线传感器网络
- zigbee无线传感器网络管理及实战
- ZigBee项目实战
- 蓝牙4.0 BLE开发从入门到精通
- 蓝牙介绍和开发环境的搭建
- 基础实验
- 蓝牙协议栈
- 蓝牙智能手环介绍
- RFID开发与应用
工控安全层次结构
物理层次
- 门禁系统
- 人脸验证
- 无线路由系统
- 终端机安全
- 智能家具(门锁、小爱音响、天猫精灵等)
网络层次
- 无线网环境(WiFi)
- vpn接入安全
- rdp威胁
- 端口安全
- 防火墙
- IPS/IDS
- 流量安全
应用层次
- 操作系统安全
- 邮件安全
- 协作管理平台安全
- 态势感知
- 配置安全
- 操作审计
- 流量分析
用户层次
- 身份校验
- 数字证书
- 日志管理
- 授权管理
- 特权管理
- 态势感知
- 数据备份
- 数据加密
- 数据交换