当前位置: 首页 > article >正文

初阶linux2( Linux 环境基础开发工具使用指南)

目录俏皮版 一、软件管家 yum —— 做饭先备料查看菜谱软件包点菜安装撤菜卸载文件搬运工 rzsz✍️ 二、编辑器 vim —— 键盘上的指尖芭蕾三种核心模式基本操作进、写、退正常模式常用指令附例子末行模式常用指令简单配置你的 vim 三、编译器 gcc/g —— 翻译官的故事编译四部曲函数库的悄悄话静态 vs 动态常用 gcc 选项 四、调试器 gdb —— 捉虫小能手开始调试前的重要一步gdb 常用命令含例子️ 五、自动化构建 make/Makefile —— 懒人必备神器Makefile 的核心三要素一个完整的例子make 的工作原理 六、第一个小程序进度条 —— 动态视觉初体验前置知识\r 与 \n 的爱恨情仇行缓冲区实验进度条完整代码与解释 七、版本控制 git —— 代码的云端储存柜安装与配置三板斧实战含免密配置 一、软件管家 yum —— 做饭先备料在 Linux 下装软件传统方法是下载源码手动编译 —— 就像从种麦子开始做面包太麻烦。yum 就是“应用商店”帮你自动下载、安装、卸载软件包。查看菜谱软件包yum list|grep关键词例子查找用于 Windows 和 Linux 之间传文件的 lrzsz 包yum list|greplrzsz作用列出所有名称包含 lrzsz 的可用软件包并显示版本、架构等信息。点菜安装bashsudoyuminstall软件包名例子安装 lrzszbashsudoyuminstalllrzsz作用自动下载并安装该软件。sudo 是因为需要写入系统目录。撤菜卸载sudoyum remove 软件包名例子卸载 lrzszsudoyum remove lrzsz作用彻底删除软件及其配置文件。文件搬运工 rzsz安装 lrzsz 后在 XShell 等终端中可以直接拖拽文件上传rz 命令或下载到 Windowssz 文件名。 提示所有 yum 操作必须联网可以用 ping www.baidu.com 测试网络。✍️ 二、编辑器 vim —— 键盘上的指尖芭蕾Vim 是 Linux 自带的“神级编辑器”没有鼠标全靠键盘命令。初学可能觉得难但熟练后效率飞升。基本操作进、写、退1.打开/新建文件vim test.c2.按i进入插入模式输入代码3.按Esc回到正常模式4.输入 :wq保存并退出正常模式常用指令末行模式常用指令简单配置vim在家目录创建 .vimrc 文件写入syntax on 语法高亮 set nu 显示行号setshiftwidth4 缩进4空格重启vim后效果立马显现 三、编译器 gcc/g —— 翻译官的故事C/C 代码是人能读的“外语”gcc 负责把它翻译成机器能执行的 0/1 指令。整个过程分为四步完整例子以 hello.c 为例# 1. 预处理gcc-Ehello.c-ohello.i# 2. 编译gcc-Shello.i-ohello.s# 3. 汇编gcc-chello.s-ohello.o# 4. 链接gcc hello.o-ohello ./hello# 运行一步到位gcc hello.c -o hello 直接生成可执行文件。函数库的悄悄话静态 vs 动态动态库.so编译时只记录“指针”运行时再加载。省空间默认使用。查看动态链接file hello 会显示 dynamically linked。静态库.a把库代码直接复制进可执行文件。体积大但可独立运行。使用静态链接gcc -static hello.c -o hello_static 四、调试器 gdb —— 捉虫小能手程序出错了gdb让你一步步观察程序的“内心活动”找到 bug 藏身之处。开始调试前的重要一步gcc 默认生成的是 release 版无法调试。必须加上 -g 选项gcc-gmyprog.c-omyproggdb 常用命令含例子启动调试gdb myprog调试小实战假设程序第 20 行有 bug我们想看看变量 sum 的变化gdb myprog(gdb)b20# 在第20行打断点(gdb)r# 运行(gdb)psum# 打印当前 sum(gdb)n# 执行下一行(gdb)psum# 再打印对比变化️ 五、自动化构建 make/Makefile —— 懒人必备神器当项目有十几个 .c 文件时手动输入 gcc 命令会让人崩溃。Makefile 就像一个菜谱告诉 make 命令如何一步步编译。Makefile 的核心三要素**1.目标**想生成的文件如 hello**2.依赖**生成目标需要的原材料如 hello.o**3.命令**如何从依赖生成目标如 gcc hello.o -o hello一个完整的例子假设我们有一个 hello.c#includestdio.hintmain(){printf(Hello Makefile!\n);return0;}创建 Makefile 文件注意 Tab 缩进不能用空格hello: hello.o gcc hello.o-ohello hello.o: hello.s gcc-chello.s-ohello.o hello.s: hello.i gcc-Shello.i-ohello.s hello.i: hello.c gcc-Ehello.c-ohello.i .PHONY: clean clean:rm-fhello.i hello.s hello.o hello执行make# 自动编译生成 hello./hello# 运行makeclean# 删除所有临时文件make 的工作原理1.找当前目录下的 Makefile 或 makefile2.执行第一个目标这里是 hello3.如果目标文件不存在或其依赖比它更新就执行对应命令4.依赖又可以触发下层目标形成一个链式反应注意 .PHONY 声明 clean 是伪目标总是执行其命令避免和同名文件冲突。 六、第一个小程序进度条 —— 动态视觉初体验写一个动态刷新的进度条能帮你深刻理解 \r回车、\n换行 以及行缓冲区的概念。前置知识\r 与 \n 的爱恨情仇\n换行Newline将光标移到下一行相同位置在 Linux 中也会隐含回到行首但标准 C 中需要区分\r回车Carriage Return将光标移到当前行行首在老式打字机上\r\n 才是真正的“换到新行行首”。Linux 下通常只用 \n但进度条需要原地刷新所以要用 \r。#includestdio.h#includeunistd.hintmain(){printf(Hello);// 没有 \nsleep(3);// 等待3秒return0;}现象先等待3秒然后才一起打印 Hello。原因printf 默认是行缓冲遇到 \n 或程序结束才刷新。加上 fflush(stdout) 可以立即输出。进度条完整代码与解释#includestdio.h#includeunistd.h#includestring.hintmain(){inti0;charbar[102];memset(bar,0,sizeof(bar));// 清空数组constchar*label|/-\\;// 旋转光标的四种形态注意转义反斜杠while(i100){printf([%-100s][%d%%][%c]\r,bar,i,label[i%4]);fflush(stdout);// 立即刷新不用等 \nbar[i]#;// 填充一个 #usleep(100000);// 休眠 0.1 秒模拟进度}printf(\n);// 最后换行return0;}编译运行gcc progress.c-oprogress ./progress现象会看到一个动态刷新的进度条并且一个小光标在转圈 七、版本控制 git —— 代码的云端储存柜Git 是代码的时光机可以随时回到任意历史版本还能把代码托管到 GitHub 上。sudoyuminstallgitgitconfig--globaluser.name你的名字gitconfig--globaluser.email你的邮箱三板斧实战1. 克隆项目到本地先在 GitHub 上新建仓库复制 HTTPS 或 SSH 地址。gitclone https://github.com/你的用户名/仓库名.gitcd仓库名第一板斧git add—— 告诉 git 要跟踪哪些文件echo# My ProjectREADME.md# 新建一个文件gitaddREADME.md# 添加单个文件gitadd.# 添加当前目录所有改动3.第二板斧git commit—— 在本地拍个快照gitcommit-m添加 README 文件-m 后面是本次修改的说明强烈建议写清楚改了什么。第三板斧git push —— 同步到 GitHub 云端gitpush origin main如果是第一次推送可能需要输入 GitHub 用户名和密码或 token。其他常用命令gitstatus# 查看当前状态gitlog# 查看提交历史gitpull# 从云端拉取最新代码多动手敲命令遇到错误别慌——每个报错都是成长的机会。如果在某一步卡住了不妨回头再看看例子或者用 man 命令 查阅官方手册。加油 同志们

相关文章:

初阶linux2( Linux 环境基础开发工具使用指南)

📚 目录(俏皮版) 🍳 一、软件管家 yum —— 做饭先备料 查看菜谱(软件包) 点菜安装 撤菜卸载 文件搬运工 rzsz ✍️ 二、编辑器 vim —— 键盘上的指尖芭蕾 三种核心模式 基本操作:进、写、退 正…...

imFile下载管理器:从零开始构建你的高效下载工作流

imFile下载管理器:从零开始构建你的高效下载工作流 【免费下载链接】imfile-desktop A full-featured download manager. 项目地址: https://gitcode.com/gh_mirrors/im/imfile-desktop 还记得那些焦急等待大文件下载的夜晚吗?当浏览器下载器卡在…...

从20亿美金独角兽到停摆:小冰败给的不是技术,而是这三个致命决策

小冰的崛起:技术理想主义的黄金十年2013年底,微软内部启动了一个特殊的项目。与当时业界专注于"定闹钟、查天气"等任务型AI助手不同,这个团队选择了一条人迹罕至的路径:让AI先学情商,再学智商,尽…...

涨薪技术|Prometheus监控之核心组件简介

各位伙伴,大家好! Prometheus监控对于开发运维工程师来说并不陌生,但是对于测试工程师来说可能还是比较陌生吧!最近也很多小伙伴私信我问prometheus相关问题,所以接下来我会通过连载的方式分享一些关于prometheus如何使用的实践教程。 今天分享:Prometheus的六大核心组件…...

吊车地基承载力计算全攻略:从地勘报告到路基箱铺设,一文讲透

编者按:在上期推文中,我们系统梳理了大型重物吊装方案编制的全流程。其中,“地基承载力验算”被称为“吊车翻车的元凶”——很多吊装事故不是钢丝绳断了,而是脚下地基塌了。本期我们就来专题讲解:吊装作业地基承载力到…...

爱毕业(aibiye)为数学建模论文提供高效复现与智能排版的一体化解决方案

还在为论文写作头痛?特别是数学建模的优秀论文复现与排版,时间紧、任务重,AI工具能帮上大忙吗?今天,我们评测10款热门AI论文写作工具,帮你精准筛选最适合的助手。 aibiye:专注于语法润色与结构…...

如何将微信读书笔记转化为结构化知识资产:Obsidian Weread插件深度指南

如何将微信读书笔记转化为结构化知识资产:Obsidian Weread插件深度指南 【免费下载链接】obsidian-weread-plugin Obsidian Weread Plugin is a plugin to sync Weread(微信读书) hightlights and annotations into your Obsidian Vault. 项目地址: https://gitco…...

跨境远程办公新体验!拖拽传文件让跨国协作丝滑不卡顿

跨境打工人集合!常年跨国协作、异地对接还总被远程办公难题绊住脚遇上跨国网络延迟高,操控卡顿半天没反应想远程协助同事,传大文件限速又麻烦,几百兆素材要等半小时,简直太影响效率了!别愁!跨境…...

Dify对接API、数据库、AI模型全流程详解:3小时搭建可交付智能应用(附完整YAML模板)

第一章:Dify低代码平台集成教程概览Dify 是一款开源的 LLM 应用开发平台,支持通过可视化界面快速构建 AI 原生应用(如聊天机器人、知识库问答、自动化工作流等),同时提供标准化 API 与灵活的 SDK 集成能力。本章聚焦于…...

华为Pura 90系列发布 | 小艺解锁全新交互方式 更能干更懂你!

4月20日,华为Pura系列及全场景新品发布会正式举行,华为Pura X Max、华为Pura 90系列等众多产品上新。在发布会上,华为也正式推出业界首个“伴随式AI解决方案”,全新升级小艺智慧大脑,推动AI交互迈入“持续在场、适时服…...

BEV:典型BEV算法总结

核心差异: 1. 视角转换 1)显示视角转换:FastBEV(IPM),BEVDepth(LSS); 2)隐式视角转换:DETR3D(query-based单参考点采样)&a…...

Python logging日志模块详解

在Python自动化测试(尤其是接口自动化)和日常开发中,日志是定位问题、跟踪程序运行状态的核心工具。logging作为Python标准库中的内置模块,无需额外安装,即可提供灵活、强大的日志记录功能,既能输出日志到控…...

Python无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案

前言 今天在给一个同学远程部署项目的时候,在使用 pip 下载项目所需要的模块时,出现了如下问题: pip : 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 请检查名称的拼写,如果包括路径,请确保路径…...

2026山东大学软件学院创新项目实训博客(三)

2026.4.15-2026.4.20 1. 工作内容 本周依据项目总体架构设计、数据库设计、开发文档设计、项目流程图设计、接口文档,使用Codex完成了项目骨架搭建,并对AI生成代码进行了分析和拆解,便于其他小组成员快速理解项目骨架,进行其他功…...

WarcraftHelper:3步搞定魔兽争霸III终极优化方案

WarcraftHelper:3步搞定魔兽争霸III终极优化方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸III在现代Windows系统上的…...

SCI 论文 Abstract 中 100 + 学术句式(1)

前序系列我们已经完整拆解了 SCI 论文 Methods 部分的 130 学术句式,搞定了论文的核心实验部分。但很多同学反馈,写完论文,最头疼的是 Abstract 摘要:写短了说不清楚创新点,写长了像流水账,开头空洞无物&a…...

大模型分类全景图:文本、视觉、视频、多模态——区别在哪?怎么选?能跨界干活吗?

大模型不是“越大越好”,而是像不同工种的特种兵:文本模型是笔杆子秘书,视觉模型是火眼金睛质检员,视频模型是剪辑导演二合一,而多模态模型是能边看边说、边听边写的全能翻译官。下面用真实能力对比表 可运行代码示例…...

卡梅德生物技术快报|SPR 技术应用|基于 SPR 亲和力的中药活性成分筛选系统实现与数据分析

摘要表面等离子共振(SPR)是生物分子互作分析的核心技术,本文以连翘活性成分筛选为案例,详细讲解SPR 亲和力筛选的实验搭建、芯片偶联、垂钓富集、液质鉴定、分子模拟、动力学拟合全流程,给出可工程化复现的技术方案&am…...

3步搞定Windows系统优化:WinUtil终极解决方案

3步搞定Windows系统优化:WinUtil终极解决方案 【免费下载链接】winutil Chris Titus Techs Windows Utility - Install Programs, Tweaks, Fixes, and Updates 项目地址: https://gitcode.com/GitHub_Trending/wi/winutil 你是否厌倦了每次重装系统后要手动安…...

精准控制每一像素:WindowResizer 让Windows窗口管理更自由

精准控制每一像素:WindowResizer 让Windows窗口管理更自由 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 还在为Windows窗口尺寸限制而烦恼吗?当老旧软件窗…...

从零到一:我用 Nexent 打造了一个“旅行规划师“智能体,让行程安排自动化

前言 作为一个每年至少出去旅行两三次的人,每次做攻略都是一场"修行"——查景点、看天气、找酒店、比机票……信息分散在十几个 App 里,往往花一整天也理不出个清晰的行程。一直想有个 AI 助手能帮我把这些事一次性搞定,但要么不够…...

qmc-decoder完整指南:3分钟快速解密QQ音乐加密音频文件

qmc-decoder完整指南:3分钟快速解密QQ音乐加密音频文件 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder qmc-decoder是一款专业高效的QQ音乐加密音频文件解密工具…...

AI Agent 开发的工业化道路:Harness 架构深度解析

1. 引言:从提示词工程到系统工程的范式转移在 AI Agent 迈向生产环境的过程中,开发者往往会陷入“提示词迷思”,试图通过无限堆砌 Prompt 来覆盖业务边界。然而,由于大模型本质上的概率性,纯粹的提示词工程在面对长链条…...

数字IC面试必刷题:用Verilog实现序列检测器的两种经典方法(状态机 vs. 移位寄存器)

数字IC面试进阶指南:序列检测器的双方案深度对比与工程实践 在数字IC设计岗位的面试中,序列检测器几乎是必考题。面试官不仅期待候选人能实现基础功能,更希望看到对不同实现方案的深入理解和工程权衡。本文将聚焦状态机(FSM&#…...

使用 Keepalived 实现高可用

在当今互联网服务中,高可用性是保障业务连续性的关键。无论是电商平台、金融系统还是在线服务,任何短暂的中断都可能造成巨大损失。Keepalived作为一款轻量级的高可用解决方案,通过虚拟IP(VIP)和健康检查机制&#xff…...

回归显见:在亚马逊,为何“最简单、最本质”的价值是抵御复杂化陷阱的终极武器

天主教会从“律法教师”到“福音教师”的定位回归,揭示了一个对抗“内部复杂化”的战略真理:当组织因扩张或竞争陷入角色混乱时,最有效的解法不是创造更复杂的新定义,而是回到那个最简单、最本质、最显见、且具有永恒价值的核心身…...

避坑指南:大华海康SDK回调流如何用JavaCV稳定推流到ZLMediaKit?

工业级视频流处理:JavaCV与ZLMediaKit的高效集成实践 当企业级监控系统需要处理数百路摄像头并发推流时,开发者往往会遇到视频卡顿、内存泄漏和连接不稳定等技术难题。本文将分享一套经过生产环境验证的解决方案,重点解决大华/海康SDK回调流处…...

广州GEO优化多少钱?2026本地报价+真实行情,避开低价陷阱

对于广州做GEO优化(生成式引擎优化)的企业来说,最纠结的就是“花多少钱合适”“报价虚不虚”。结合2026年广州本地实测行情,不玩虚的,直接说真实报价:小型企业基础优化,季度大概6000-8000元&…...

HTML函数开发用防眩光屏幕更舒适吗_显示面板类型选择【指南】

防眩光(雾面)屏能显著降低前端开发者视觉疲劳——通过散射环境光消除反光,提升长时间编码可读性,虽轻微降低对比度与色彩饱和度,但对写代码无害且更护眼。HTML 函数开发本身和屏幕防眩光无关,但长时间写代码…...

自然语言处理词向量:WordVec与BERT预训练模型对比

自然语言处理(NLP)中,词向量技术是理解语义的核心工具。从早期的Word2Vec到如今的BERT预训练模型,词向量的发展推动了机器对语言的理解能力。本文将对比这两种代表性技术,分析其差异与应用场景,帮助读者理解…...