# linux **Repository Path**: jinboom/linux ## Basic Information - **Project Name**: linux - **Description**: linux 编程环境学习笔记,含 linux 基本命令,linux 操作系统,linux 下 C++ 编程等 - **Primary Language**: C - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-03-19 - **Last Updated**: 2025-02-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LINUX [![Stargazers repo roster for @jinbooooom/linux](https://reporoster.com/stars/jinbooooom/linux)](https://github.com/jinbooooom/linux/stargazers) [![Forkers repo roster for @jinbooooom/linux](https://reporoster.com/forks/jinbooooom/linux)](https://github.com/jinbooooom/linux/network/members) ### 本仓库用于记录: - `linux` 操作系统的基本知识、`linux` 下的调试手段如`GDB`调试、`linux` 命令行与 `shell` 编程、`cmake` 使用等等 - 网络与通信相关的笔记,如 tcp/ip 协议的笔记 、`InfiniBand`协议、`RDMA` 以及 `mpi` 的学习笔记 - ``linux C/C++``环境下开发时,常用的一些三方库的使用总结 - 自己写的一些 common 库,文件操作、字符串操作、线程安全的 log 等 ### 文件夹说明 ```shell . ├── 3rd # 常用的一些三方库 ├── assets # 资源,如 pdf 书籍和源码 ├── awesome.md # 好用的学习网站、工具等 ├── build.sh # 一键编译的脚本,生成动态库保存在 ./build/libs,生成测试程序保存在 ./build/bin ├── document # 文档总结 │ ├── shell # shell 命令行和 shell 编程 │ ├── system # linux 操作系统的学习笔记 │ └── tcp_ip # 计算机网络的学习笔记 ├── src # 自己写的一些常用的工具,尽可能功能单一、简洁,方便使用 ├── tests # 测试程序、系统编程的一些例子等 ├── toc.py # README 目录生成工具 └── tools # 开发中常用工具的总结 ├── cmake # 总结 cmake 使用方法 ├── gdb # 总结 gdb 调试技巧 └── git # 总结 git 命令 ``` -------------------------------------------------- ## 操作系统总结 - [操作系统](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#操作系统) - [内存空间](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#内存空间) - [进程空间地址划分](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#进程空间地址划分) - [父子进程共享文件描述符](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#父子进程共享文件描述符) - [缓存与缓冲](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#缓存与缓冲) - [堆与栈的区别](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#堆与栈的区别) - [栈空间](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#栈空间) - [进程与线程](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#进程与线程) - [进程有哪几种状态?](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#进程有哪几种状态) - [进程之间的转换](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#进程之间的转换) - [进程与线程的区别与联系](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#进程与线程的区别与联系) - [为什么有了多进程还要多线程?](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#为什么有了多进程还要多线程) - [什么时候用进程?什么时候用线程?](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#什么时候用进程什么时候用线程) - [协程](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#协程) - [线程池的好处](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#线程池的好处) - [进程与程序的区别](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#进程与程序的区别) - [线程同步的方式](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#线程同步的方式) - [进程同步的方式](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#进程同步的方式) - [进程/线程之间的亲缘性](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#进程线程之间的亲缘性) - [进程线程协程上下文切换的性能比较](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#进程线程协程上下文切换的性能比较) - [进程间的通信方式](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#进程间的通信方式) - [什么是缓冲区溢出?有什么危害?其原因是什么?](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#什么是缓冲区溢出有什么危害其原因是什么) - [作业(进程)调度算法](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#作业进程调度算法) - [**进程与作业的联系和区别**](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#进程与作业的联系和区别) - [调度算法](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#调度算法) - [死锁](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#死锁) - [死锁产生的条件?](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#死锁产生的条件) - [怎么解决死锁](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#怎么解决死锁) - [死锁预防](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#死锁预防) - [死锁的避免](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#死锁的避免) - [死锁的检测](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#死锁的检测) - [死锁的解除](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#死锁的解除) - [**什么是活锁?与死锁的区别?**](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#什么是活锁与死锁的区别) - [虚拟内存](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#虚拟内存) - [虚拟地址、逻辑地址、线性地址、物理地址的区别。](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#虚拟地址逻辑地址线性地址物理地址的区别) - [分页和分段](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#分页和分段) - [磁盘调度算法:](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#磁盘调度算法) - [文件](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#文件) - [read](https://github.com/jinbooooom/linux/blob/master/document/system/system.md#read) ## shell 编程总结 - [Shell 编程](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#Shell-编程) - [调试](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#调试) - [变量](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#变量) - [\# !/bin/bash](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#-binbash) - [赋值](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#赋值) - [unset](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#unset) - [只读变量](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#只读变量) - [转义与引用](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#转义与引用) - [流程控制](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#流程控制) - [相等判断符=、== 和 -eq的区别和使用场景](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#相等判断符-和--eq的区别和使用场景) - [if](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#if) - [test命令返回值与 if 判断的一些区别](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#test命令返回值与-if-判断的一些区别) - [test 命令](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#test-命令) - [文件测试](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#文件测试) - [字符串测试](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#字符串测试) - [整数比较](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#整数比较) - [逻辑测试运算符](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#逻辑测试运算符) - [case](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#case) - [循环](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#循环) - [for](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#for) - [for in](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#for-in) - [类C的for循环](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#类C的for循环) - [while](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#while) - [until](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#until) - [select](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#select) - [函数](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#函数) - [数组](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#数组) - [赋值](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#赋值) - [数组长度](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#数组长度) - [截取与合并](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#截取与合并) - [取消数组元素](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#取消数组元素) - [编程示例](https://github.com/jinbooooom/linux/blob/master/document/shell/shell.md#编程示例) ## shell 命令行总结 - [Linux Source命令及脚本的执行方式解析](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#Linux-Source命令及脚本的执行方式解析) - [简单命令](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#简单命令) - [date](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#date) - [cal](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#cal) - [df](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#df) - [history](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#history) - [free](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#free) - [pwd](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#pwd) - [watch -n 5 nvidia-smi](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#watch--n-5-nvidia-smi) - [du](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#du) - [cd](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#cd) - [ls & wc](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#ls--wc) - [tree](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#tree) - [mkdir](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#mkdir) - [rmdir](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#rmdir) - [rm](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#rm) - [mv](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#mv) - [cp](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#cp) - [chmod](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#chmod) - [type](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#type) - [which](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#which) - [alias & unalias](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#alias--unalias) - [ln](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#ln) - [硬链接](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#硬链接) - [软链接](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#软链接) - [重定向](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#重定向) - [将标准输出和标准错误重定向到文件](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#将标准输出和标准错误重定向到文件) - [处理不想要的输出](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#处理不想要的输出) - [tee](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#tee) - [管道](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#管道) - [打包](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#打包) - [tar](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#tar) - [zip](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#zip) - [文件](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#文件) - [touch](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#touch) - [stat](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#stat) - [xxd](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#xxd) - [nm](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#nm) - [文本处理](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#文本处理) - [less](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#less) - [cat](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#cat) - [head/tail](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#headtail) - [diff](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#diff) - [uniq](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#uniq) - [tr](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#tr) - [cut](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#cut) - [sed](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#sed) - [awk](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#awk) - [查找](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#查找) - [正则表达式](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#正则表达式) - [grep](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#grep) - [查找规则](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#查找规则) - [实例](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#实例) - [find](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#find) - [查找目录](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#查找目录) - [查找规则](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#查找规则) - [根据文件名(name)](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#根据文件名name) - [根据文件类型(type)](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#根据文件类型type) - [根据目录深度(depth)](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#根据目录深度depth) - [根据文件大小(size)](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#根据文件大小size) - [根据文件权限(perm)](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#根据文件权限perm) - [根据文件所属用户和组](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#根据文件所属用户和组) - [根据uid和gid](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#根据uid和gid) - [根据时间](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#根据时间) - [多条件连接](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#多条件连接) - [执行操作](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#执行操作) - [file 用于确定文件的种类](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#file-用于确定文件的种类) - [file用于查看动态库是debug还是release](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#file用于查看动态库是debug还是release) - [进程](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#进程) - [ps](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#ps) - [top](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#top) - [软件包管理](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#软件包管理) - [软件包常用命令](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#软件包常用命令) - [网络](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#网络) - [拷贝远程服务器文件到本地目录](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#拷贝远程服务器文件到本地目录) - [账号](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#账号) - [创建新账号并给予sudo权限](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#创建新账号并给予sudo权限) - [环境变量](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#环境变量) - [export](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#export) - [LD_LIBRARY_PATH](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#LD_LIBRARY_PATH) - [远程命令](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#远程命令) - [ssh 免密登录配置](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#ssh-免密登录配置) - [参考](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#参考) - [ssh 免密远程执行命令](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#ssh-免密远程执行命令) - [Linux服务器出现“No space left on device”错误](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#Linux服务器出现No-space-left-on-device错误) - [查看占用tcp端口的进程](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#查看占用tcp端口的进程) - [linux预留端口和临时端口](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#linux预留端口和临时端口) - [设置预留端口](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#设置预留端口) - [查看动态库里的符号](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#查看动态库里的符号) - [nm](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#nm) - [c++filt](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#cfilt) - [共享内存](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#共享内存) - [查看共享内存段的最大大小](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#查看共享内存段的最大大小) - [释放系统中的共享内存](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#释放系统中的共享内存) - [平时使用到的命令积累](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#平时使用到的命令积累) - [用文件作为swap分区](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#用文件作为swap分区) - [clang 格式化](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#clang-格式化) - [推荐/参考链接](https://github.com/jinbooooom/linux/blob/master/document/shell/command.md#推荐参考链接) ## gdb 总结 - [GDB 基本操作](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#GDB-基本操作) - [编译](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#编译) - [查看断点](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#查看断点) - [显示源代码](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#显示源代码) - [断点管理](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#断点管理) - [为文件设置断点](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#为文件设置断点) - [为函数设置断点](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#为函数设置断点) - [使用正则表达式设置断点](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#使用正则表达式设置断点) - [通过偏移量设置断点](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#通过偏移量设置断点) - [条件断点](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#条件断点) - [临时断点](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#临时断点) - [数据断点](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#数据断点) - [禁用/启用断点](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#禁用启用断点) - [启用断点一次](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#启用断点一次) - [启用断点但命中一次后就删除](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#启用断点但命中一次后就删除) - [启用断点并命中N次](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#启用断点并命中N次) - [忽略断点前N次命中](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#忽略断点前N次命中) - [删除断点](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#删除断点) - [程序执行](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#程序执行) - [启用程序和继续执行程序](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#启用程序和继续执行程序) - [单步执行](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#单步执行) - [逐过程执行](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#逐过程执行) - [查看变量](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#查看变量) - [查看变量类型](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#查看变量类型) - [查看函数的参数、变量值以及修改变量值](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#查看函数的参数变量值以及修改变量值) - [查看结构体/类的值](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#查看结构体类的值) - [查看数组](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#查看数组) - [打印数组中的部分元素值](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#打印数组中的部分元素值) - [自动显示变量的值](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#自动显示变量的值) - [查看内存信息](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#查看内存信息) - [调用堆栈](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#调用堆栈) - [查看栈帧](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#查看栈帧) - [切换栈帧](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#切换栈帧) - [线程管理](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#线程管理) - [观察点](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#观察点) - [捕获点](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#捕获点) - [跳转执行](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#跳转执行) - [使用shell命令](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#使用shell命令) - [利用assert调试](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#利用assert调试) - [死锁调试](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#死锁调试) - [调试动态库](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#调试动态库) - [内存检查](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#内存检查) - [内存泄露](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#内存泄露) - [堆溢出](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#堆溢出) - [栈溢出](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#栈溢出) - [全局内存溢出](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#全局内存溢出) - [释放后继续使用](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#释放后继续使用) - [远程调试](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#远程调试) - [转储文件调试](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#转储文件调试) - [linux生成core文件,core文件路径设置](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#linux生成core文件core文件路径设置) - [设置core文件的名称和文件路径](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#设置core文件的名称和文件路径) - [调试 core](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#调试-core) - [调试](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#调试) - [命令行总结](https://github.com/jinbooooom/linux/blob/master/tools/gdb/gdb.md#命令行总结) ## git 总结 - [Git](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#Git) - [一些概念](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#一些概念) - [Git 基本操作](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#Git-基本操作) - [初始化仓库](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#初始化仓库) - [配置](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#配置) - [增加/删除文件](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#增加删除文件) - [代码提交](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#代码提交) - [分支](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#分支) - [查看信息](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#查看信息) - [远程同步](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#远程同步) - [撤销](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#撤销) - [更改历史](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#更改历史) - [查看改动](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#查看改动) - [查看提交](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#查看提交) - [合并多次commit为一次](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#合并多次commit为一次) - [修改最近的commit](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#修改最近的commit) - [打 patch](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#打-patch) - [对未提交的代码打 patch](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#对未提交的代码打-patch) - [对提交的代码打 patch](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#对提交的代码打-patch) - [应用 patch](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#应用-patch) - [恢复删除的远程分支](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#恢复删除的远程分支) - [推荐阅读](https://github.com/jinbooooom/linux/blob/master/tools/git/git.md#推荐阅读) ## 计算机网络总结 - [七层网络概念](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#七层网络概念) - [应用层](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#应用层) - [域名系统DNS](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#域名系统DNS) - [为什么 DNS 用 UDP 而不是 TCP](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#为什么-DNS-用-UDP-而不是-TCP) - [HTTP协议与HTTPS协议的区别](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#HTTP协议与HTTPS协议的区别) - [TELNET 远程登录](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#TELNET-远程登录) - [FTP 文件传输](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#FTP-文件传输) - [邮件协议](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#邮件协议) - [运输层](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#运输层) - [运输层主要使用的两种协议TCP/UDP](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#运输层主要使用的两种协议TCPUDP) - [TCP与UDP的区别](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#TCP与UDP的区别) - [TCP与UDP的适用场景](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#TCP与UDP的适用场景) - [为什么视频直播网站和迅雷适用UDP?](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#为什么视频直播网站和迅雷适用UDP) - [TCP与UDP对应的协议](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#TCP与UDP对应的协议) - [TCP与UDP的数据边界的理解](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#TCP与UDP的数据边界的理解) - [网络层](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#网络层) - [IP地址的分类](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#IP地址的分类) - [地址解析协议 ARP](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#地址解析协议-ARP) - [数据链路层](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#数据链路层) - [物理层](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#物理层) - [了解交换机、路由器、网关的概念,并知道各自的用途](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#了解交换机路由器网关的概念并知道各自的用途) - [运输层重要知识点](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#运输层重要知识点) - [可靠传输的工作原理](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#可靠传输的工作原理) - [**停止等待协议**](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#停止等待协议) - [连续ARQ协议](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#连续ARQ协议) - [滑动窗口](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#滑动窗口) - [TCP流量控制](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#TCP流量控制) - [Nagle 算法](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#Nagle-算法) - [TCP拥塞控制](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#TCP拥塞控制) - [TCP的可靠性如何保证?](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#TCP的可靠性如何保证) - [TCP的三次握手与四次挥手过程,各个状态名称与含义](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#TCP的三次握手与四次挥手过程各个状态名称与含义) - [三次握手(建立连接)](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#三次握手建立连接) - [为什么会采用三次握手,二次握手可以吗?](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#为什么会采用三次握手二次握手可以吗) - [三次握手的作用](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#三次握手的作用) - [三次握手过程中可以携带数据吗](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#三次握手过程中可以携带数据吗) - [四次挥手](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#四次挥手) - [TIME_WAIT的作用](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#TIME_WAIT的作用) - [面向连接和非面向连接的服务的特点是什么?](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#面向连接和非面向连接的服务的特点是什么) - [端口及对应的服务](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#端口及对应的服务) - [各种协议](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#各种协议) - [Linux TCP/IP编程中的一些知识点](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#Linux-TCPIP编程中的一些知识点) - [sockaddr和sockaddr_in的区别](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#sockaddr和sockaddr_in的区别) - [字节序和网络字节序](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#字节序和网络字节序) - [端口号](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#端口号) - [基于 TCP 的服务端/客户端](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#基于-TCP-的服务端客户端) - [TCP服务端的函数调用](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#TCP服务端的函数调用) - [TCP客户端的函数调用](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#TCP客户端的函数调用) - [客户端套接字何时、何地、如何分配地址?](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#客户端套接字何时何地如何分配地址) - [基于 UDP 的服务端/客户端](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#基于-UDP-的服务端客户端) - [UDP 中的服务端和客户端没有连接](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#UDP-中的服务端和客户端没有连接) - [UDP 服务器和客户端均只需一个套接字](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#UDP-服务器和客户端均只需一个套接字) - [基于 UDP 的数据 I/O 函数](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#基于-UDP-的数据-IO-函数) - [UDP 客户端何时分配IP地址和端口号](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#UDP-客户端何时分配IP地址和端口号) - [已连接(connect)UDP 套接字与未连接(unconnected)UDP 套接字](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#已连接connectUDP-套接字与未连接unconnectedUDP-套接字) - [在 UDP 中调用 connect 函数的好处](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#在-UDP-中调用-connect-函数的好处) - [创建已连接 UDP 套接字](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#创建已连接-UDP-套接字) - [**UDP 数据报向对方主机的 UDP 套接字传递过程中,IP 和 UDP 分别负责哪些部分?**](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#UDP-数据报向对方主机的-UDP-套接字传递过程中IP-和-UDP-分别负责哪些部分) - [半关闭](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#半关闭) - [I/O复用](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#IO复用) - [select](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#select) - [基于 select 的 I/O 复用技术速度慢的原因](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#基于-select-的-IO-复用技术速度慢的原因) - [epoll](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#epoll) - [epoll一定优于select吗?](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#epoll一定优于select吗) - [条件触发和边缘触发比较](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#条件触发和边缘触发比较) - [HTTP](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#HTTP) - [请求消息(Request Message)的结构](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#请求消息Request-Message的结构) - [响应消息(Response Message)的结构](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#响应消息Response-Message的结构) - [浏览器上输入http://www.baidu.com发生了什么?](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#浏览器上输入httpwwwbaiducom发生了什么) - [http常见错误码](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#http常见错误码) - [参考](https://github.com/jinbooooom/linux/blob/master/document/tcp_ip/network.md#参考)