Linux
文章平均质量分 71
Linux学习笔记
高山有多高
山高路远 看世界 也找自己
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Linux笔记】Linux基本指令
本文系统介绍了Linux常用命令与权限管理,全面阐述了Linux命令行核心知识,适用于初学者快速掌握基础操作与系统管理逻辑。原创 2026-09-30 14:04:08 · 259 阅读 · 0 评论 -
【Linux笔记】网络基础
OS内核用C/C++实现协议栈,双方使用相同结构体定义(如。原创 2026-10-02 19:43:15 · 187 阅读 · 0 评论 -
【Linux笔记】UpdSocket
本文介绍了基于UDP协议的Socket编程实现,涵盖EchoServer、DictServer和ChatServer三种典型应用。服务端采用socket()、bind()、recvfrom()接收数据,通过sendto()回传响应,客户端则通过sendto()发送请求并recvfrom()接收回复。代码结构清晰,使用C++封装类与函数式回调解耦网络逻辑与业务处理,支持日志记录、异常处理及多线程并发,具备良好的可扩展性与健壮性。原创 2026-10-02 19:43:02 · 168 阅读 · 0 评论 -
【Linux笔记】线程概念与控制
线程拥有独立的:1. 寄存器2. 程序计数器 PC3. 线程栈 Stack4. 线程局部存储 TLS5. 调度状态线程共享进程的:1. 代码段2. 全局变量3. 静态变量4. 堆 Heap5. 文件描述符6. Socket7. 进程资源。原创 2026-10-02 19:37:11 · 361 阅读 · 0 评论 -
【Linux笔记】Linux库的制作与原理
在 Linux 下以.a为文件后缀,在windows下以.lib为文件后缀。在程序编译链接阶段,库中的目标代码会被完整拷贝到最终的可执行文件中,程序运行时不再需要该库文件。静态库使用的本质就是将 .o 打包的文件原封不动的进行拷贝到需要链接的可执行文件中。静态库遵循固定的命名格式:lib<库名>.a- 开头为: lib- 中间为: 自定义的库名- 末尾为: .a例如:libcalc.a、libmyutil.a假设你的系统上有 100 个程序都调用了printf。原创 2026-10-02 19:36:48 · 260 阅读 · 0 评论 -
【Linux笔记】Linux虚拟文件系统
1."一切皆文件" 不是设备或数据的存储形式,而是 Linux 用 `open/read/write/close` + 文件描述符 + 树形路径命名空间把磁盘、设备、内核对象、进程信息、IPC通道、网络套接字统一抽象成"可寻址的字节流对象"的架构原则。2. 内核层面的落地方式是 VFS + file_operations 多态表——所有不同的资源都注册 file_operations,被同一套系统调用调度。原创 2026-10-02 19:35:58 · 234 阅读 · 0 评论 -
【Linux笔记】IO 多路转接
select、poll与epoll是Linux下三种IO多路复用机制。select通过位图监控文件描述符,但存在扫描效率低、拷贝开销大等缺陷;poll改进了描述符数量限制,仍需线性遍历。epoll采用红黑树和就绪队列,实现O(1)事件检测,支持边缘触发(ET)与水平触发(LT),显著提升高并发性能。其中,ET模式要求非阻塞I/O并循环读写以避免数据遗漏,而LT模式则更易编程但可能频繁通知。epoll在大规模连接场景中优势明显,是现代高性能网络服务的核心技术。原创 2026-10-07 00:30:48 · 280 阅读 · 0 评论 -
【Linux笔记】IO模型
在 Linux 中 "一切皆文件",网络套接字、磁盘文件、管道、终端设备等,都对应一个fd内核通过fd来统一管理所有 IO 资源。原创 2026-10-07 00:29:09 · 87 阅读 · 0 评论 -
【Linux笔记】NAT与内网穿透
NAT与内网穿透原创 2026-10-06 23:48:37 · 90 阅读 · 0 评论 -
【Linux笔记】数据链路层
数据链路层负责局域网内相邻节点间的可靠帧传输与MAC寻址。以太网帧包含目的/源MAC、类型字段及数据,通过FCS校验完整性。ARP协议实现IP地址到MAC地址的解析,通过广播请求、单播应答完成映射,并更新本地缓存。通信流程中,设备先判断目标是否同网段,若为同一网段则执行ARP解析获取目标MAC,封装以太网帧后由交换机根据MAC地址表转发,最终实现数据在局域网内的准确传输。原创 2026-10-06 23:47:39 · 183 阅读 · 0 评论 -
【Linux笔记】网络层IP
本文系统介绍IP报文结构、子网划分原理与方法、公网与内网IP地址区别及NAT工作机制。原创 2026-10-06 23:46:13 · 232 阅读 · 0 评论 -
【Linux笔记】TCP协议
TCP 序号:Sequence Number是一个32位的字段,可以理解为一个周长为2^32的环形跑道上的刻度标记。0 / 2^32 (回绕点)(2^31 附近)整个圆环 = 32位序号空间弧段 [rcv_nxt, rcv_nxt + window) = 当前有效窗口窗口之外的序号 = 无效/过期/未来解决的子问题:在无序、重复的数据流中唯一标识每一个字节。原创 2026-10-06 23:43:46 · 195 阅读 · 0 评论 -
【Linux笔记】Linux环境变量
环境变量与命令行参数:进程启动的两把钥匙环境变量是操作系统给进程的键值对配置,决定运行时上下文。常用命令:env 查看,echo $VAR 展开,export 设置,readonly 锁定,unset 删除;写入 ~/.bashrc 等配置文件即可持久化。在 C/C++ 中,main(int argc, char *argv[]) 接收命令行参数,argv[argc] 必为 NULL;envp[] 则提供环境变量数组,格式为 KEY=VALUE,同样以 NULL 结尾。一句话:argv 管输入,原创 2026-09-30 14:06:40 · 101 阅读 · 0 评论 -
【Linux笔记】Linux磁盘文件系统
磁盘怎么变成文件?一文看懂 ext2 与文件系统底层磁盘分 HDD、SSD、SSHD;物理上是盘片、磁头、主轴,存储单位是扇区,逻辑寻址靠 LBA。文件系统在其上建立秩序:用块管理数据,用分区隔离空间,用 inode 分离元数据与内容。以 ext2 为例,分区被划成多个块组,每组包含超级块、组描述符、位图、inode 表和数据块,实现高效分配与回收。文件读写依赖路径逐级解析,dentry 缓存加速查找;挂载让多分区融入统一目录树,存储管理更灵活。原创 2026-09-30 14:08:40 · 31 阅读 · 0 评论 -
【Linux笔记】Linux基础IO
为什么 fwrite 了,文件却没立刻写进磁盘?文件不只是磁盘上的数据,它连接着应用层与内核层。fopen / fwrite / fread:C 标准 I/O,自带用户缓冲区。open / write / read:系统调用,直接和内核打交道。文件描述符:进程访问文件的通行证。缓冲区:弥合 CPU 与磁盘速度差,减少系统调用开销。刷新机制:自动刷新与手动刷新,决定数据何时真正落盘。通过模拟 glibc 实现,看清用户缓冲区与内核缓冲区如何协作,并揭示重定向、fork 与缓冲刷新之原创 2026-09-30 14:08:10 · 74 阅读 · 0 评论 -
【Linux笔记】Linux自定义Shell
从零写一个 mini Shell:fork + exec,把命令行跑通原创 2026-09-30 14:07:35 · 16 阅读 · 0 评论 -
【Linux笔记】Linux进程控制
Linux 进程管理四重奏:fork、exit、wait、exec原创 2026-09-30 14:06:13 · 176 阅读 · 0 评论 -
【Linux笔记】Linux进程与守护进程
谁在掌控你的终端?一文看懂进程组、会话与守护进程原创 2026-09-30 14:05:53 · 270 阅读 · 0 评论 -
【Linux笔记】Linux开发工具
Linux 开发六件套:从装包到调试,一篇打通原创 2026-09-30 14:05:25 · 185 阅读 · 0 评论 -
【Linux笔记】冯诺依曼体系结构
计算机的底层骨架,叫冯·诺依曼体系:输入、输出、存储、运算器、控制器五大组件协同。它有一条铁律——CPU只直接访问内存。原创 2026-09-30 14:04:58 · 94 阅读 · 0 评论 -
【Linux笔记】Linux进程概念
本文系统阐述了进程的概念、管理机制与核心特性。进程是程序的动态执行实体,由内核控制块(PCB)和程序代码数据构成原创 2026-09-30 14:03:01 · 789 阅读 · 0 评论
分享