嵌软知识点自存
·
socket基础
概念
Socket是操作系统提供的通信端点、API接口。Linux下本质是文件描述符fd。
Socket和TCP/HTTP/MQTT关系
http/mqtt:应用层协议,在socket之上,由应用代码组装报文;
Socket:工具,用来收发字节,裸socket可以自己实现协议;
tcp/udp:传输层协议,内核实现。
IP、端口、Socket区别
ip:定位哪台机器
端口:定位机器上哪个进程
socket:ip+端口+对端ip+端口
两种Socket类型
SOCK_STREAM:TCP流式socket,面向连接,字节流,无消息边界
SOCK_DGRAM:UDP数据报socket,无连接,有数据包边界
socket流程


该图取自https://blog.csdn.net/fightsyj/article/details/86251421。
需要注意的是,udp没有accept和listen
Linux系统常用命令
目录操作

pwd # pwd print working directory,看当前在哪
mkdir practice # make directory 创建practice文件夹
cd practice # change directory,进入practice文件夹
pwd
ls
mkdir a b c # 一次性创建a、b、c三个文件夹
ls
ls -R # recursive递归,把子目录全部列出来
ls -a # all,显示隐藏文件(以.开头)
rmdir c # remove directory 删除空文件夹c
ls
文件操作

touch 1.txt 2.txt # touch 创建空文件
ls -l
cat 1.txt # 查看文件,空文件什么都没有
cp 1.txt bak.txt # copy复制1.txt为bak.txt
ls -l
mv bak.txt b.txt # move重命名:bak.txt改名为b.txt
ls
cp -r a a_copy # 复制文件夹必须加‑r recursive递归
ls
rm 2.txt # remove删除普通文件
ls
rm -r a_copy # 删除文件夹需要‑r递归
ls
文件权限

对照输出拆解权限:
- 644:
‑rw‑r‑‑r‑‑ - 755:
‑rwxr‑xr‑x
对比理解:
+x只增加执行位;755 强制重写整套权限模式。
二进制记忆:r=4 w=2 x=1。
文本查看命令

# 生成1‑20行测试文本
seq 1 20 > demo.txt
cat demo.txt
cat -s demo.txt # squeeze压缩多个空行
head -5 demo.txt # 显示前5行 head
tail -3 demo.txt # 显示最后3行 tail
管道

# 列出当前目录文件详细权限信息
ls -l
# 管道:把ls‑l输出传给wc‑l,统计输出一共有多少行
ls -l | wc -l
# -e 启用转义\n换行,生成乱序数字写入num.txt(>覆盖文件)
echo -e "5\n2\n9\n1" > num.txt
# 查看num.txt全部内容
cat num.txt
# 管道:读取num.txt输出交给sort,按升序排序
cat num.txt | sort
# sort -r:reverse反向,降序从大到小排序
cat num.txt | sort -r
# grep txt:过滤,只保留包含txt的行
ls -l | grep txt
# 多级管道:先过滤txt文件,再只取前2行
ls -l | grep txt | head -2
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)