Linux 基础开发工具 —— 解锁高效开发的底层密钥

Linux 系统是开发领域的核心选择,而yum/apt、 gcc/g++、make、gdb、vim、git 等基础工具,是支撑代码编译、构建、调试、编辑与版本管控的核心骨架。它们看似基础,却直接决定开发效率与项目稳定性,是从入门到资深开发者都需熟练驾驭的必备技能。本文聚焦这些工具的核心用法与实战技巧,助力快速掌握 Linux 开发核心能力。

一yum/apt

yum 是基于 RPM 包管理体系的工具,主要适配 RedHat 系发行版(如 CentOS、RHEL、Fedora),通过配置软件源(repo)自动解析依赖关系,一键完成软件安装 / 升级,常用命令如 yum installyum updateyum remove

apt 则是 Debian 系发行版(如 Ubuntu、Debian)的标配,基于 DEB 包体系,依托 /etc/apt/sources.list 配置软件源,命令简洁且执行效率高,核心指令包括 apt installapt upgradeapt remove,后续还衍生出 apt-get 等更细分的工具。

1)Linux中安装软件的方法

我们的yum/apt使用的是包管理安装的方法。

2)Linux软件包生态

在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.

但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系.

yum/apt就相当于Linux上的应用商店。

上面的源代码编译安装就相当于下载到程序的源代码, 并进行编译, 得到可执行程序.而安装rmp包还要我们自己解决依赖问题,所有也不好用。

3)怎么评判一个系统的好坏

生态好的系统才叫好,简单来说就是用的人要多,这样的系统更新及时,社区活跃,会吸引更多的人来使用。生态好了自然有人愿意为系统开发软件。

这体现了Liunx开源的理念

下图是软件的生产过程。

怎么找到下载地址的?

很多目标服务器都在国外,因为墙的存在,所有下载速度很慢,所有就有了镜像源的出现。把国外的数据拷贝到国内来。

软件源又分成稳定的和扩展的,稳定软件源的软件都是经历了时间检验的,扩展的则是新出现的。

3)使用yum/apt

yum/apt可以用来查找,安装,卸载下载软件,解决软件依赖问题。

1.查找软件

yum list | grep "软件名称"

注意事项:
• 软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
• "x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配.
• "el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.
• 最后一列, base 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念.

2.安装软件

sudo yum -y install "软件" -y表示不再询问

3.卸载软件

sudo yum remove "软件"

注意事项:
• 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
• yum/apt安装软件只能一个装完了再装另一个. 正在yum/apt安装一个软件的过程中, 如果再尝试用yum/apt安装另外一个软件, yum/apt会报错
.

4)安装源

扩展软件源需要自己安装。

软件源更新:用一个新的配置文件替换系统的配置文件。(云服务器不用管)

  1. 刷新软件源缓存 (最常用):执行 yum makecache,将软件源的包信息缓存到本地,加速后续安装 / 更新操作。
  2. 修改软件源配置 (更换国内源,如阿里云 / 清华源):
    • 备份原有配置:mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
    • 下载对应版本的国内源配置文件(如 CentOS 7):wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    • 刷新缓存:yum makecache
  3. 更新系统已安装包 (基于当前软件源):yum update(更新所有包)/ yum update 软件名(更新指定包)。

二vim编辑器

vim是vi的升级版本,只能用来写代码和更改配置文件。

1)vim的基本概念

1.模式

• 正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last

line mode
• 插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
• 末行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。

在命令模式下,*shift+:* 即可进入该模式。

要查看你的所有模式:打开 vim,底行模式直接输入

:help vim-modes

模式切换:

• [正常模式]切换至[插入模式]
• 按「i」切换进入插入模式「insert mode」,按"i"进入插入模式后是从光标当前位置开始输入
文件;
• 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
• 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
• [插入模式]切换至[正常模式]
• 目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删
除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。
• [正常模式]切换至[末行模式]
• 「shift + ;」, 其实就是输入「:」
• 退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「Last line mode」,例如:
• : w (保存当前文件)
• : wq (输入「wq」,存盘并退出vim)
• : q! (输入q!,不存盘强制退出vim)

2.vim的基本操作

打开文件:

bash 复制代码
$ vim test.c

vim一共有12种模式,其他的了解一下就行。

3.配置vim

上网搜一个一键配置。推荐:

thttps://gitee.com/HGtz2222/VimForCppvimforcpp/VimForCpp

相关推荐
郝学胜-神的一滴1 小时前
Linux信号集操作函数详解
linux·服务器·开发语言·c++·程序人生
weixin_307779131 小时前
基于AWS安全组的两层架构访问控制设计与实现
运维·云原生·架构·云计算·aws
全栈工程师修炼指南1 小时前
Nginx | 负载均衡策略:ip_hash / hash 会话保持实践
运维·tcp/ip·nginx·负载均衡·哈希算法
哇哈哈&1 小时前
rabbitmq最简单的安装方法
linux·运维·centos
虎头金猫1 小时前
从杂乱到有序,Paperless-ngx 加个cpolar更好用
linux·运维·人工智能·docker·开源·beautifulsoup·pandas
@大迁世界1 小时前
紧急:React 19 和 Next.js 的 React 服务器组件存在关键漏洞
服务器·前端·javascript·react.js·前端框架
源之缘-OFD先行者1 小时前
定制化 Live555 实战:按需开发低耗 RTSP 服务器,完美适配 C# 项目
运维·服务器·c#
Terry_Tsang1 小时前
ceph mon 报错 full ratio(s) out of order 解决方法
服务器·前端·ceph
赖small强1 小时前
【Linux 内存管理】Linux 低内存平台文件缓存导致的虚假内存不足问题分析与解决方案
linux·缓存·oom·水位线