- git
- git 命令
- 创建仓库
- 远端仓库
- 生成秘钥
- git 原理
- git add
- git commit
- git 整理操作
- git 冲突
- git checkout
- git push
- git fetch / git clone
- git pull
- 分支管理
- Makefile Cmake
- Makefile
- 伪对象
- 变量替代
- 自动变量
- cmake
- 单个工程实现
- INSTALL
- 添加子目录
- 添加头文件路径
- 添加静态库
- 遍历添加子目录
- 设置生成的so动态库最后输出的路径
- 静态库和动态库
- 编译不同版本
- Linux 基本命令
- Linux基础命令
- grep 搜索字符
- find 查找文件
- ls 显示文件
- wc 命令
- uptime机器启动时间+负载
- ulimit用户资源
- curl http
- scp远程拷贝
- dos2unix和unix2dos
- sed
- awk
- CPU性能监控
- 平均负载
- CPU上下文切换
- 如何排查CPU高利用率
- 内存性能监控
- 虚拟内存和物理内存
- 内存中的buffer和cache
- 内存优化监测
- 文件IO性能监控
- 缓存IO和直接IO
- 监控磁盘IO
- 网络IO性能监控
- 性能指标
- 网络信息
- 其他命令
- 其他工具
git init --bare //创建git仓库 git init
裸仓库 不存储具体代码
远端仓库git clone git clone 用户名@ip:/path/to生成秘钥
ssh-keygen -t rsa -ygit 原理
git add引入暂存区
发送到暂存区
git add world.c // 上传 git status git restore -S world // 撤回git commit
上传到仓库区
git commit world.c -m "日志" // 上传 git branch // git当前的分支 git log // git config uesr.name black // 修改git用户名 git config uesr.email black // 修改git用户信息 git config --global user.name // 修改用户名 git reflog // 查看简化的版本信息 git reset head~1 //回退1个版本,回退到本地
git 整理操作git reset --hard:本地和暂存区和仓库一起回退
git reset --mixed:仓库回退,暂存区回退,本地不变 默认状态
git reset --soft:仓库回退,暂存区回退到上传之前的状态,
git commint --amend // 修改上一次提交的修改,修改日志信息和代码 git rebase -i 7位 7位 // ^ 前一个版本 ~ 后一个版本 -s合并 git rebase --continuegit 冲突
远程仓库下载的代码和本地仓库中的代码发生冲突
本地冲突文件中 上面是本地 下面是冲突
git add world.c git commit git pushgit checkout
git push从仓库下载到本地
从仓库区上传到远端仓库
git push orgin master // 推送到远端orgin路径:master分支git fetch / git clone
git fetch sourcetree使用
从远端仓库下载到本地仓库
git clonegit pull
从远端仓库直接下载到本地
git pull分支管理
git branch develop // 创建分支 git checkout feature/charge // 转换分支 git checkout bug/timer // 切换分支 git merge bug/times // 合并分支
vim .gitignore // 不上传文件Makefile Cmake Makefile
- make 不带目标 默认第一个目标
- 依赖关系
make make clean伪对象
.PHONY: main clean变量替代
(CC)=gcc $(CC) -o simple main.c自动变量
wildcard:通配符函数
patsubst:字符串替换
SRCS = $(wildcard *.c) // 所有.c文件 OBJS = $(patsubst %.c,%.o,$(SRCS))// 所有.c .o文件cmake 单个工程实现
记得删除中间的过程文件
cmake . // 当前目录 cmake .. // 上一级目录 cmake_minimun_required (version 2.8) // 最低版本号要求 PROJECT(black) // 工程 SET(SRC_LIST main.c) // 手动加入文件 ADD_EXECUTABLE(black2 $(SRC_LIST)) // 添加可执行文件名INSTALL
默认子目录:usr/local/
INSTALL(TARGETS black RUNTIME DESTINATION bin)添加子目录
# 添加子目录 ADD_SUBDIRECTORY(src)添加头文件路径
# 添加头文件路径
INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}/dir2")
添加静态库
# 默认是静态库
ADD_LIBRARY (dir1 SHARED ${DIR_SRCS})
# 动态库
ADD_LIBRARY(dir2 ${DIR_SRCS})
遍历添加子目录
#设置子目录
set(SUB_DIR_LIST "${CMAKE_CURRENT_SOURCE_DIR}/dir1" "${CMAKE_CURRENT_SOURCE_DIR}/dir2")
foreach(SUB_DIR ${SUB_DIR_LIST})
#遍历源文件
aux_source_directory(${SUB_DIR} SRC_LIST)
MESSAGE(STATUS "SUB_DIR-> " ${SUB_DIR})
MESSAGE(STATUS "SRC_LIST-> " ${SRC_LIST})
endforeach()
设置生成的so动态库最后输出的路径
#设置生成的so动态库最后输出的路径
SET(LIBRARY_OUTPUT_PATH ${RELEASE_DIR}/linux/${BuildType})
ADD_COMPILE_OPTIONS(-fPIC)
不区分大小写
静态库和动态库# 优先连接动态库 #TARGET_LINK_LIBRARIES(darren Dir1) # 强制使用静态库 完整的库文件名libDir1.a TARGET_LINK_LIBRARIES(darren libDir1.a)编译不同版本
# 编译Debug版本 cmake -DCMAKE_BUILD_TYPE=Debug .. # 编译Release版本 cmake -DCMAKE_BUILD_TYPE=Release ..Linux 基本命令 Linux基础命令 grep 搜索字符 find 查找文件 ls 显示文件 wc 命令 uptime机器启动时间+负载 ulimit用户资源 curl http scp远程拷贝 dos2unix和unix2dos sed awk CPU性能监控 平均负载 CPU上下文切换 如何排查CPU高利用率 内存性能监控 虚拟内存和物理内存 内存中的buffer和cache 内存优化监测 文件IO性能监控 缓存IO和直接IO 监控磁盘IO 网络IO性能监控 性能指标 网络信息
- 网络配置
- 套接字信息
- 协议栈统计信息
- 网络吞吐和PPS
- 连通性和延时
- telnet:远程连接
- nc:验证端口是否开放
- mtr:连通性测试
- nslookup:检测域名解析
- traceroute:互联网中一代主机到另一台的路径
- sar:多功能监控工具
- netstat:网络接口状态
- iptraf:网络监控
- tcpdump:抓包工具
- nmap:扫描端口服务
- ethtool:查看网卡的配置情况
- lsof:列出打开文件
- nmon:性能监控
- glances:系统监控
- w:谁登录并执行了哪些程序
- 日志监控工具:tail multitail



