linux入门:基础开发工具
一、软件包管理器yum / apt核心概念软件包 预编译好的程序类似 Windows 安装包存放在软件包服务器上。包管理器负责查找 → 解决依赖 → 下载 → 安装/卸载。系统包管理器安装源路径CentOSyum/etc/yum.repos.d/Ubuntuapt/etc/apt/sources.list国内云服务器通常已配置好国内镜像源无需手动更换。常用操作# CentOS yum list | grep lrzsz # 查找软件包 sudo yum install -y lrzsz # 安装-y 自动确认 sudo yum remove lrzsz # 卸载 sudo yum install -y epel-release # 安装扩展源 # Ubuntu apt search lrzsz # 查找 sudo apt install -y lrzsz # 安装 sudo apt remove lrzsz # 卸载 # 验证网络必须通网才能装软件 ping www.baidu.com注意安装软件需要sudo或 root 权限yum/apt一次只能执行一个安装任务二、Vim 编辑器三种核心模式命令模式默认 / \ i/a/o shift : ↓ ↓ 插入模式 底行模式 编辑文字 保存/退出/搜索切换操作说明i光标处插入a光标后插入o下一行插入Esc返回命令模式shift :进入底行模式命令模式高频操作光标移动按键作用h/j/k/l左/下/上/右gg跳到文件开头G跳到文件末尾$行尾^行首w/b下一个单词首 / 上一个单词首Ctrlf/Ctrlb下翻页 / 上翻页编辑按键作用x/X删光标后/前一个字符dd删除光标行#dd删除 # 行yy复制光标行#yy复制 # 行yw复制单词p粘贴r替换单个字符R连续替换按 Esc 停u撤销Ctrlr恢复撤销#G跳到第 # 行底行模式vim:w 保存 :q 退出 :wq 保存并退出 :q! 强制退出不保存 :set nu 显示行号 /keyword 向下搜索n 下一个N 上一个 ?keyword 向上搜索简单配置~/.vimrc:在家目录下的一个隐藏文件可以进行配置vimbashvim ~/.vimrc写入vimsyntax on set nu set shiftwidth4三、GCC / G 编译器编译四阶段阶段做什么命令产物预处理宏替换、去注释、头文件展开、条件编译gcc -E hello.c -o hello.i.i编译语法检查生成汇编gcc -S hello.i -o hello.s.s汇编汇编转机器码gcc -c hello.s -o hello.o.o目标文件链接链接库函数生成可执行文件gcc hello.o -o hello可执行文件一步完成gcc hello.c -o hello动态链接 vs 静态链接动态链接默认静态链接库文件.soshared object.aarchive机制运行时加载库编译时把库代码嵌入可执行文件优点体积小多个程序共享库不依赖环境独立运行缺点依赖系统库存在体积大查看依赖ldd ./hellofile ./hello# 强制静态链接 gcc hello.c -o hello -static # CentOS 安装静态库 sudo yum install -y glibc-static libstdc-static常用选项速查选项作用-g生成调试信息供 gdb 使用必加-static静态链接-O0~-O3优化级别0 无优化3 最高-Wall显示所有警告-w不显示警告四、Make / Makefile自动化构建核心思想make命令工具Makefile定义编译规则的脚本文件好处一次写好自动推导依赖只编译修改过的文件基本写法# 目标:依赖 # [Tab]命令 myproc: myproc.c gcc -o myproc myproc.c .PHONY: clean clean: rm -f myproc完整推导链.c → 可执行makefilemyproc: myproc.o gcc myproc.o -o myproc myproc.o: myproc.s gcc -c myproc.s -o myproc.o myproc.s: myproc.i gcc -S myproc.i -o myproc.s myproc.i: myproc.c gcc -E myproc.c -o myproc.i .PHONY: clean clean: rm -f *.i *.s *.o myprocmake会自动找第一个目标递归推导依赖像栈一样从底层往上编译。进阶语法变量与自动变量BIN proc.exe # 自定义变量 CC gcc SRC $(wildcard *.c) # 获取所有 .c 文件 OBJ $(SRC:.c.o) # 替换成 .o $(BIN): $(OBJ) $(CC) -o $ $^ # $ 目标文件, $^ 所有依赖 %.o: %.c $(CC) -c $ # $ 第一个依赖文件 .PHONY: clean clean: rm -f $(OBJ) $(BIN)五、Git 版本控制安装与配置sudo yum install -y git # 安装 git --version # 查看版本 # 首次使用必须配置身份 git config --global user.name Your Name git config --global user.email youexample.com从 GitHub 拉取项目git clone https://github.com/用户名/仓库名.git三板斧日常 workflow# 1. 将改动加入暂存区 git add 文件名 git add . # 添加当前目录所有改动 # 2. 提交到本地仓库必须写日志 git commit -m 本次修改的描述 # 3. 推送到远程仓库 git push其他常用命令作用git status查看当前改动状态git log查看提交历史git pull从远程拉取最新代码.gitignore定义忽略提交的文件如编译产物七、GDB 调试器前提编译时加-ggcc mycmd.c -o mycmd -g # 生成 debug 版本 file mycmd # 查看是否含 debug_info基础命令速查表命令缩写作用listl显示源码默认 10 行runr从头运行程序nextn逐过程不进入函数F10steps逐语句进入函数F11break 行号b在指定行设断点break 函数名b在函数开头设断点info breaki b查看所有断点continuec运行到下一个断点print 变量p打印变量值set var 变量值运行时修改变量display 变量每次停止自动显示变量undisplay 编号取消自动显示finish执行到当前函数返回until 行号直接执行到指定行backtracebt查看函数调用栈info locals查看当前栈帧局部变量delete 编号d删除断点disable/enable禁用/启用断点quitq退出 gdb进阶技巧1. 监视变量变化时自动暂停(gdb) watch result2. 条件断点# 方式1新增时带条件 (gdb) b 9 if i 30 # 方式2给已有断点追加条件 (gdb) condition 2 i 30 # 2 是断点编号3. cgdb分屏调试推荐安装# CentOS sudo yum install -y cgdb # Ubuntu sudo apt-get install -y cgdbEsc进入代码屏i回到 gdb 命令屏八、全链路速查表格你想做什么用什么工具关键命令安装软件yum/aptsudo yum install -y 包名写代码vimvim file.c→i编辑 →:wq保存编译代码gccgcc file.c -o bin -g自动化编译makemake/make clean版本控制gitadd → commit -m → push调试程序gdbgdb ./bin→r→n/s→p 变量

相关新闻

Linux下Python CANopen协议栈开发指南:从SocketCAN到工业控制实战

Linux下Python CANopen协议栈开发指南:从SocketCAN到工业控制实战

1. 项目概述:当Python遇上工业现场总线在工业自动化、机器人控制或者汽车电子领域混迹过的朋友,对CAN总线一定不陌生。这条最初为汽车设计的通信总线,以其高可靠性和实时性,早已成为许多嵌入式系统内部通信的骨干网络。而CANopen&…

2026/7/29 8:58:07 阅读更多 →
3D打印机堵料故障全解析:从诊断到拆解维护的完整指南

3D打印机堵料故障全解析:从诊断到拆解维护的完整指南

1. 项目概述:当你的3D打印机“罢工”了 玩3D打印的朋友,最怕听到的就是打印头那里传来“咔咔”的异响,或者看到挤出机电机在空转,但耗材就是纹丝不动。没错,你大概率是遇到了“堵料”这个老生常谈却又无比棘手的问题。…

2026/7/29 8:58:07 阅读更多 →
物联网通信硬件选型与LTE Cat 1模块应用解析

物联网通信硬件选型与LTE Cat 1模块应用解析

1. 物联网通信硬件选型解析 LARA-R6401D-00B和TM4C123GH6PZ这对组合在工业物联网领域堪称黄金搭档。LARA-R6401D-00B是u-blox推出的专业级LTE Cat 1模块,支持北美地区8个LTE频段(B2/B4/B5/B12/B13/B14/B66/B71),实测下行速率可达1…

2026/7/29 8:58:07 阅读更多 →

最新新闻

从千问直接下单到全域信息抓取,淘系品牌该重新理解“搜索优化”了

从千问直接下单到全域信息抓取,淘系品牌该重新理解“搜索优化”了

当消费者开始在AI助手中描述需求并直接下单,一个由技术驱动的消费决策新周期已然开启。对于数百万淘系商家而言,理解并驾驭这一周期的关键,始于对一个核心概念的重新认识。想象这样一个场景:一位准新郎在“通义千问”中输入&#…

2026/7/29 9:07:10 阅读更多 →
Java实现本地Socket通信(三)

Java实现本地Socket通信(三)

今天任务较少也较为简单本节任务账号登录(半成品)可视化界面一、账号登陆我们知道,账号输入操作是需要在客户端进行的,所以这里我们需要在客户端封装登陆方法login,在这里读取输入并传递给服务端账号信息public void l…

2026/7/29 9:07:10 阅读更多 →
蓝桥杯算法竞赛:DFS与BFS搜索算法核心原理与真题实战

蓝桥杯算法竞赛:DFS与BFS搜索算法核心原理与真题实战

1. 搜索专题在蓝桥杯中的核心地位与备考价值如果你正在准备蓝桥杯,尤其是软件类(C/C、Java、Python组)的比赛,那么“搜索”这个专题,绝对是你绕不开、也绝不能轻视的核心高地。我参加过几届蓝桥杯的评审和辅导工作&…

2026/7/29 9:07:10 阅读更多 →
C#字符串长度全解析:码元、字符与字节长度的区别与应用

C#字符串长度全解析:码元、字符与字节长度的区别与应用

1. 从一次“字符截断”事故说起 那天下午,我正在调试一个处理多语言用户名的数据导出功能。逻辑很简单:从数据库读取用户信息,生成CSV文件。测试时一切正常,直到一个日本用户的名字“山田 太郎”出现在列表里。导出的文件在其他系…

2026/7/29 9:07:10 阅读更多 →
涂胶显影机(Track)各职级技术岗人才综合评估结论及录用判定标准

涂胶显影机(Track)各职级技术岗人才综合评估结论及录用判定标准

一、总则(终审核心逻辑) 本标准为Track技术招聘最终终审唯一依据,完全贯通公司整套Track招聘体系:各职级14维面试打分卡、两轮分层技术面试、HR分层分级面试、面试官权责体系、职级薪酬体系、法务竞业合规审核与竞业储备体系。 本制度固化三方评审权重,明确技术、HR、法…

2026/7/29 9:07:10 阅读更多 →
FPGA实战(58):10G Ethernet XGMII PHY层 接口设计与仿真验证

FPGA实战(58):10G Ethernet XGMII PHY层 接口设计与仿真验证

引言 随着数据中心与高速互联场景对带宽需求的持续增长,10 Gigabit Ethernet(10GbE)已成为各类 FPGA 平台的标准高速接口方案。IEEE 802.3ae 定义的 10GBASE-R 物理层采用 64B/66B 编码,通过 XGMII(10 Gigabit Media Independent Interface)总线与 MAC 层交互——数据通…

2026/7/29 9:06:10 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻