一文带你读懂Linux下的开发工具

一文带你读懂Linux下的开发工具
请添加图片描述

系列文章目录

1.Linux下的常见命令和你所需要知道的小知识
2.Linux下的文件和权限


本文文章目录


前言

在Linux开发环境中,熟练使用核心开发工具是每位开发者必备的基本技能。这些工具构成了Linux软件开发的基础设施,深刻理解它们能极大提升开发效率和质量。常见的工具有vim,安装工具则有yum和apt。


一、什么是软件包?

一个好的操作系统需要强力的系统稳定和丰富的生态,而Linux则拥有丰富的生态.

1.1 我们将介绍软件包:

你可以把软件包想象成一个精心打包的“盒子”:

  • 内容全面​:里面不仅包含可以直接运行的软件主程序,还有程序运行所需的库文件、默认的配置文件、说明文档等一切必要的东西。
  • 分类清晰​:软件包主要分为应用软件包​(如办公软件、浏览器)和系统软件包​(如驱动程序、系统工具)。此外,还可以分为需要用户自行编译的源代码包和已编译好可直接安装运行的二进制包​。

1.2 那什么是apt呢?

  • APT(Advanced Packaging Tool)是 Debian、Ubuntu 及其衍生 Linux 发行版中核心的命令行包管理工具,用于高效地管理软件包。它能自动处理软件包的下载、配置、安装、升级和删除,并智能解决复杂的依赖关系。

我们在使用apt的过程就类似与使用手机端的应用商店,他的工作原理如下:APT 采用 ​客户端-服务器​ 架构工作:

  1. 服务器端​:软件源(Repository)存储着大量的软件包以及一个记录所有包信息的索引清单。
  2. 客户端​:你的电脑。当执行 apt update时,系统会从服务器获取最新的索引清单到本地。当你执行 apt install时,APT 会根据这个本地清单检查依赖关系,然后自动从服务器下载所有必要的软件包并进行安装。

这样我们极大的方便了我们使用和利用Linux丰富的资源,开发效率大大提高。

1.3 apt常见的命令:

功能类别命令示例作用说明
更新软件源sudo apt update从配置的服务器同步最新的软件包列表信息,这是安装或升级前建议先执行的命令

安装软件sudo apt install <软件包名>安装指定软件包及其所有依赖项

升级软件sudo apt upgrade升级所有已安装的、有可用更新的软件包

卸载软件sudo apt remove <软件包名>
sudo apt purge <软件包名>
remove删除软件包但保留配置文件;purge彻底删除软件包及其配置文件

搜索查询apt search <关键词>
apt show <软件包名>
根据关键词搜索软件包;显示某个软件包的详细信息

清理系统sudo apt autoremove自动删除那些为满足依赖而自动安装、但现在不再需要的“孤儿”软件包

二. vim工具的使用(重点)

Vim(Vi IMproved)是一款功能强大、高度可定制的文本编辑器,在程序员和系统管理员中非常受欢迎。它设计精巧,尤其擅长通过键盘命令进行高效文本操作。
我们来尝试打开vim。如果没有安装,可以使用apt的命令来安装vim。
我们输入:

vim --version 

便可以看到vim的版本:

在这里插入图片描述

2.1 vim的命令模式:

我们创建一个文件,并使用vim打开他,命令如下:

wwh@iZbp1d5rltw6ubizz031qiZ:~/classBox/lesson2$ touch code.cpp wwh@iZbp1d5rltw6ubizz031qiZ:~/classBox/lesson2$ ll total 8 drwxrwxr-x 2 wwh wwh 4096 Oct 1619:44 ./ drwxrwxr-x 4 wwh wwh 4096 Oct 1619:44 ../ -rw-rw-r-- 1 wwh wwh 0 Oct 1619:44 code.cpp wwh@iZbp1d5rltw6ubizz031qiZ:~/classBox/lesson2$ wwh@iZbp1d5rltw6ubizz031qiZ:~/classBox/lesson2$ vim code.cpp 

页面如下:

在这里插入图片描述


这个页面底下写着normal,就是命令模式,我们发现我们无法再里面写入任何模式,但是可以使用各种指令,我先插入一段代码,后面会和大家将如何插入。代码如下:

在这里插入图片描述
  1. 首先介绍移动光标:
    • 我们还可以使用gg来回到开头,shift + g(就是大写G)来完成快速移动到结尾。
    • 一行之类的移动就可以使用shift+4($)来完成移动到末尾,shift+6(^)来移动到开头。
    • 按住w则可以跳过一个字

我们可以使用hjkl这四个按键来完成。其中h是左移,L是右移,j是下移,k是上移。如下图所示:

在这里插入图片描述

我在这里只讲了几个比较重要的,下面一表总结:

移动类型常用命令功能说明
基本移动h``j``k``l左、下、上、右移动光标
行内移动0移动到行首
^移动到当前行第一个非空白字符
$移动到行尾
f/F+字符移动到当前行下一个​(f)/​上一个​(F)的指定字符处
w/ b/ e移动到下个/​个单词的开头​/当前单词的结尾
跨行移动gg移动到文件第一行
G移动到文件最后一行
数字+G移动到指定行​(如 50G跳到第50行)
Ctrl + f/ Ctrl + b向下​/向上翻页
Ctrl + d/ Ctrl + u向下​/向上翻半页
H/ M/ L移动到当前屏幕的顶/中/底部
按内容移动/关键词向下搜索关键词,按 n下一个,N上一个
?关键词向上搜索关键词
*/ #读取光标处的单词并向下/向上搜索
%在配对的括号(如 (), [], {})间跳转
  1. 如何快速复制和删除:
    • 按键yy可以复制当强行
    • 按键yw可以复制光标到字尾的的字符
    • 按键num+yw可以对光标后num个字进行复制
    • 按键num+yy可以指定复制num行
    • 按住p可以完成复制
    • 按住dd可以进行删除
    • x 每按一次,删除光标所在位置的一个字符.
    • X每按一次,删除光标所在位置的 “ 前面 ” 一个字符.
    • #dd:从光标所在行开始删除 # 行

同时删除也可以搭配p来使用完成拷贝。所以我将两者一起将,同时基本命令也可以和数字建来他陪使用。我们来做出总结:

类别常用命令功能说明
移动光标hjkl左、下、上、右移动光标
0移动到行首
^移动到行首第一个非空白字符
$移动到行尾
w/ b移动到下一个/上一个单词的开头
gg移动到文件第一行
G移动到文件最后一行
数字+G移动到指定行​(如 50G跳到第50行)
删除命令x删除光标下的字符
X删除光标前的字符
dd删除(剪切)整行
数字+dd删除多行(如 3dd删除3行)
dw删除从光标位置到下一个单词开头的内容
d$D删除从光标位置到行尾的内容
d0删除从光标位置到行首的内容
复制命令yy复制当前行
数字+yy复制多行(如 3yy复制3行)
y$复制从光标位置到行尾的内容
y0复制从光标位置到行首的内容
yw复制从光标位置到下一个单词开头的内容
粘贴命令p粘贴到光标​(下一行或下一个字符)
P粘贴到光标​(上一行或前一个字符)
撤销/重做u撤销上一次操作
Ctrl + r重做​(恢复撤销的操作)
替换操作r替换当前光标所在处的一个字符
R进入替换模式,连续替换多个字符,按 Esc退出

对于R模式的详细图片:

在这里插入图片描述

2.2插入模式

按住i键,既可以进入插入模式,我们便可以尝试写入各种代码,也是很简单的。我的上面代码就是这么写的。如图所示:

在这里插入图片描述

2.3 视图模式:

  • 按 [ ctrl ] + [ v ] 即可从命令模式进入视图模式。

按 [ Esc ] 即可退出视图模式进入命令模式。

在这里插入图片描述


我们这个模式的主要作用就是批量化操作:

在这里插入图片描述


然后按住shift + i来完成进入插入模式。插入//,按住Esc键完成,达到以下效果:

在这里插入图片描述


完成注释。

2.4 底行模式

按住:进入,我们有:

功能类别常用命令说明与技巧
文件保存与退出:w保存文件。
:w!强制保存(常用于只读文件)

:q退出 Vim。如果文件有未保存的修改,此操作会失败。
:q!强制退出,不保存修改。这是放弃所有更改的常用方法

:wq:x保存文件并退出

行号与跳转:set nu:set number显示行号,方便定位代码

:set nonu:set nonumber取消显示行号

:数字跳转到指定行。例如,输入 :15后回车,光标会跳到第15行

查找与替换/关键词从光标位置向下搜索指定关键词。按 n跳转到下一个匹配项,按 N跳转到上一个

?关键词从光标位置向上搜索

:%s/旧内容/新内容/g全局替换。将文件中所有匹配的“旧内容”替换为“新内容”

:n,ms/旧内容/新内容/g指定范围替换。替换第 n行到第 m行之间的所有匹配项

在命令后加 c替换前确认。例如 :%s/foo/bar/gc,每次替换前都会询问

其他实用命令:e!放弃所有未保存的修改,​重新加载磁盘上的原始文件

:!命令暂时执行 Shell 命令。例如,输入 :!ls可以查看当前目录下的文件,按回车后返回 Vim

其实初学者只要记住wq和wq!几乎就可以了,大家不会的可以来看看。


总结

提示:这里对文章进行总结:

本文主要介绍了Linux下的vim操作指令。感谢大家的三连。

请添加图片描述

Read more

人工智能:自然语言处理在医疗领域的应用与实战

人工智能:自然语言处理在医疗领域的应用与实战

人工智能:自然语言处理在医疗领域的应用与实战 学习目标 💡 理解自然语言处理(NLP)在医疗领域的应用场景和重要性 💡 掌握医疗领域NLP应用的核心技术(如电子病历分析、医学文本分类、智能问答) 💡 学会使用前沿模型(如BERT、GPT-3)进行医疗文本分析 💡 理解医疗领域的特殊挑战(如数据隐私、多语言处理、专业术语) 💡 通过实战项目,开发一个电子病历分析应用 重点内容 * 医疗领域NLP应用的主要场景 * 核心技术(电子病历分析、医学文本分类、智能问答) * 前沿模型(BERT、GPT-3)在医疗领域的使用 * 医疗领域的特殊挑战 * 实战项目:电子病历分析应用开发 一、医疗领域NLP应用的主要场景 1.1 电子病历分析 1.1.1 电子病历分析的基本概念 电子病历分析是对电子病历中的文本内容进行分析和处理的过程。在医疗领域,电子病历分析的主要应用场景包括: * 病历摘要:自动生成病历摘要(如“患者基本信息”、“病情描述”

By Ne0inhk
OpenClaw终于有了图形界面,一键安装使用你的24小时AI 研究助手!

OpenClaw终于有了图形界面,一键安装使用你的24小时AI 研究助手!

告别命令行!OpenClaw 图形界面版来了,5分钟搭建你的AI助手 用过 OpenClaw 的都知道,这是个超强的 AI 智能体编排工具。 但有个问题:全是命令行操作。 配置文件、终端命令、环境变量…对新手来说,门槛有点高。 现在,这个问题解决了。 ClawX 来了——OpenClaw 的图形界面版本。 一键安装,点点鼠标就能用。不用敲命令,不用改配置文件。 我花了5分钟装好,现在已经用了一周。说实话,回不去了。 什么是 ClawX? ClawX 是 OpenClaw 的桌面版。 OpenClaw 是什么?一个 AI 智能体编排工具,可以: * 连接多个 AI 模型(Claude、GPT、Gemini) * 自动化工作流

By Ne0inhk
告别“选择困难症”:我是如何用 AI Ping 实现大模型自由,还能省下 50% 成本的?

告别“选择困难症”:我是如何用 AI Ping 实现大模型自由,还能省下 50% 成本的?

告别“选择困难症”:我是如何用 AI Ping 实现大模型自由,还能省下 50% 成本的? * 写在最前面 * 场景一:从“写脚本卡壳”到“批量生成” * 场景二:开发路上的“万能插头” * 使用感受 * 一点小建议与期待 * 写在最后 🌈你好呀!我是 是Yu欸🚀 感谢你的陪伴与支持~ 欢迎添加文末好友🌌 在所有感兴趣的领域扩展知识,不定期掉落福利资讯(*^▽^*) 写在最前面 版权声明:本文为原创,遵循 CC 4.0 BY-SA 协议。转载请注明出处。 在这个大模型“百花齐放”甚至“百模大战”的时代,作为一名既要写代码开发,又要频繁输出技术内容(写博文、做视频)的开发者,我每天最大的烦恼就是: “今天这个任务,

By Ne0inhk
OpenClaw横空出世:星标榜第一的AI Agent框架凭什么引爆2026?

OpenClaw横空出世:星标榜第一的AI Agent框架凭什么引爆2026?

欢迎文末添加好友交流,共同进步! “ 俺はモンキー・D・ルフィ。海贼王になる男だ!” * 一、现象级爆火:GitHub年度最热AI项目 * 二、OpenClaw是什么? * 核心定位 * 三、OpenClaw凭什么成为新标杆? * 3.1 自托管部署:数据主权回归 * 3.2 无代码革命:人人都是开发者 * 3.3 微内核架构:优雅且强大 * 3.4 多智能体协同 * 四、技术架构深度解析 * 4.1 核心组件 * 4.2 2026.3.7重大更新 * 五、与主流框架对比 * 5.1 OpenClaw vs LangChain * 5.2 OpenClaw vs

By Ne0inhk