Linux 新手入门:软件安装、Vim 操作与 GCC 编译基础工具链
面向 Linux 初学者,系统介绍了软件安装的三种方式(源码、rpm、yum),rz/sz 文件传输指令的使用前提及方法。详细讲解了 Vim 编辑器的三种模式切换、常用快捷键及配置文件设置。最后深入解析了 GCC 编译流程(预处理、编译、汇编、链接),对比了动态库与静态库的区别,以及 Debug 与 Release 版本的差异,帮助读者掌握 Linux 开发环境的基础工具链。

面向 Linux 初学者,系统介绍了软件安装的三种方式(源码、rpm、yum),rz/sz 文件传输指令的使用前提及方法。详细讲解了 Vim 编辑器的三种模式切换、常用快捷键及配置文件设置。最后深入解析了 GCC 编译流程(预处理、编译、汇编、链接),对比了动态库与静态库的区别,以及 Debug 与 Release 版本的差异,帮助读者掌握 Linux 开发环境的基础工具链。

刚上手 Linux 时,常会遇到软件安装方式选择困难、文件传输不熟悉、编辑器操作不熟练以及编译链接报错等问题。本文旨在梳理 Linux 基础工具的核心逻辑,涵盖软件安装流程、文件传输指令、代码编辑技巧及编译链接原理,帮助读者建立扎实的开发环境基础。
Linux 安装软件主要有三种方式:
rz:从本地上传文件到远程 Linux 服务器(支持拖拽方式)sz:从远程 Linux 服务器下载文件到本地计算机前提条件:Linux 系统需安装 lrzsz 包。
使用 yum 时需保证虚拟机网络畅通。
查看可安装的软件:yum list
通常配合管道筛选需要的包。
x86_64 后缀表示 64 位系统的安装包el7 表示操作系统发行版版本(CentOS 7)base 表示软件源名称下载命令:yum install -y lrzsz.x86_64
-y 参数表示自动确认,不再询问是否下载。卸载命令:yum remove -y lrzsz
注意事项:
引申知识:
ls /etc/yum.repos.d/yum install -y epel-releaseVim 是一个多模式的文本编辑器。
输入 vim 文件名 后进入全屏幕编辑画面。若文件不存在,Vim 会创建空文件;若未保存退出,文件将丢失。

上图展示了各模式间的切换方法(命令模式又称正常模式)。注意:插入模式和底行模式间不能直接切换。 第四种模式:Shift+R 为替换模式,直接在原有内容上书写,原有内容会被覆盖。
多文件操作方法:
在底行模式输入 vs 文件名 可同时打开另一个文件。使用 Ctrl+w 可在窗口光标间切换,当前光标所在的窗口即为操作目标。
命令模式:
底行模式:
批量注释方法:
Ctrl+v,使用 HJKL 选中区域。Shift+i 切换到插入模式,输入 //,再切回命令模式。
取消批量化注释:Ctrl+v 选中区域。d 即可删除。系统公共配置文件位于 /etc/vimrc,对所有用户有效。
用户私有配置文件位于主目录下,命名为 .vimrc(如 /root/.vimrc),不存在时可手动创建(touch .vimrc)。
建议每个用户独立配置,避免相互影响,且不建议对 root 账户做过多配置。
常用配置选项(写入 .vimrc):
syntax on
set nu
set shiftwidth=4
gcc 针对 C 语言,g++ 支持 C++ 和 C。C/C++ 开发环境不仅指编译器,还包括头文件和库文件。
一份代码成为可执行程序需经历四个步骤:
预处理阶段主要进行:去注释、头文件展开、条件编译、宏替换。
基本格式:gcc [选项] 要编译的文件 [选项 目标文件] [-g] [-static]
-static 选项后,所有链接变为静态链接。-std=c98 指定标准版本。-g 生成 Debug 版本。gcc text.c -o texta.out。./a.out(需写出相对路径或绝对路径)。编译过程详解:
.o 文件(可重定位二进制文件/目标文件),不可独立执行,需连接。GCC 常用选项:
-o:指定输出文件名称。-g:生成带有调试信息的可执行文件。.o 文件通过动态链接与动态库相连,若动态库缺失会导致问题(跳转执行后返回)。
编译器使用静态库进行静态链接时,会将库的方法拷贝到目标程序中,后续无需依赖静态库。
Linux 中编译默认采用动态链接。如需静态链接,需添加 -static 选项。
一个可执行程序内部可能混合动态链接和静态链接。
库的概念:将源文件经过翻译打包,仅分发库文件以隐藏源码。
命名规则:libname.so.xxx
name 为库名。xxx 为版本号。lib 为固定前缀。so 表示动态库。Linux 下:
.so 是动态库。.a 是静态库。一般系统默认安装动态库,静态库不会默认安装。
安装静态库示例:yum install -y glibc-static
若无静态库却使用 -static 选项,编译将失败。
若无动态库只有静态库,默认方式(动态链接优先)仍可工作。
扩展:可执行程序并非无序二进制,遵循 ELF 格式。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online