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

Linux基础环境开发工具apt、vim和gcc/g++

Linux软件包管理器apt(Ubuntu是apt)

apt类似于手机中的应用商城,是一个软件下载安装的工具,会帮助我们解决软件包依赖关系。

在Linux中有三种软件安装方式:源代码安装,rpm包安装和apt安装。

我们的Linux机器中一定内置了目标服务器的地址链接,apt才可以到服务器找到对应安装包下载。

相关指令:

apt install 软件 #下载
apt list         #查看已安装软件
apt remove 软件  #卸载软件
apt upgrade 软件 #更新软件

比如现在下载一个sl

运行

卸载

推荐一个htop

Ubuntu有两种软件:base基本软件源,文档;epel,扩展软件源(新软件)。

软件源

这里的sources.list就是

vim编辑器使用

vim filename

避免有三种模式:命令模式、底行模式、插入模式

打开的时候是命令模式,输入相关操作进入插入模式进行编写,esc退出插入模式进入命令模式,shift+:进入底行模式。

插入模式:编辑模式。

命令模式:允许使用者通过命令,来进行文本的控制编辑。

底行模式:vim进行包括不限于shell进行交互。

i  #进入插入

o  #新起一行进入插入模式

a  #光标向后移动一个字符进入插入模式

yy #复制当前行      num yy可以复制num行
p #粘贴到光标下一行  num p可以粘贴num次
u #撤销         ctrl+r撤销的撤销

dd #剪切制定行      num dd删除num行

shift+4=$  #光标定位到当前行结尾

shift+6=^   #光标定位到当前行开头

gg             #光标定位到文章开头

shift+g       #光标定位到文章结尾    num shift+g 定位到第num行

H左     J下     K上      L右    num+{H,J,K,L} 向制定方向移动num字符

w   #按照单词为单位后移

b   #按照单词为单位前移

shift+~  #大小写切换

x        #光标所在位置删除后面一个字符   num x 删除后面num个字符

shift+x #光标所在位置删除前面一个字符   num x 删除前面num个字符

r        #替换一个字符        num r替换num个字符

shift+r  #连续替换

shift+zz #保存并退出

ctrl+ v #区域选择 shift+i插入 按两下esc该区域就是输入的字符,多用来多行注释

:q        #直接退出不保存修改

:wq      #保存退出

:set nu #显示行号 set nonu去掉行号

:!指令   #底行执行指令

:vs filename #分屏 ctrl+ww可以快速切换

gcc/g++使用 

gcc file.c [-o name.exe -std=c99]
g++ file.c [-o name.exe -std=c++11]

使用vim编辑如下源代码

接着gcc 111.c,会在文件夹看见这个文件

这个就是编译好的可执行程序,./a.out直接执行

现写一个c++文件

这是c++文件,因此使用g++编译,执行结果(这里把可执行程序改名为mytest.exe):

gcc编译过程

查看依赖库

ldd name.exe

Linux:

.so:动态库

.a:静态库

Windows:

.dll:动态库

.lib:静态库

链接方式:动态链接,静态链接

动态库:节省资源,不能丢失

静态库:一旦形成,和库无关系,浪费资源

静态链接将库中方法拷贝到程序中,gcc默认链接方式是动态链接

相关文章:

  • STC8H驱动两相四线步进电机
  • 基于llama-factory+ollama+vllm加速大模型训推生产
  • 大数据(4)-spark
  • Windows 开发环境部署指南:WSL、Docker Desktop、Podman Desktop 部署顺序与存储路径迁移指南
  • STM32-第一节-新建工程,GPIO,点亮LED,蜂鸣器
  • GC3910S:一款高性能双通道直流电机驱动芯片
  • 【Wireshark】高级过滤技巧精讲
  • Chromium 136 编译指南 Ubuntu篇:Python环境与开发工具配置(五)
  • 解决VSCode打开最近项目后终端shell不正常的问题
  • TCP 滑动窗口实现机制
  • 颠覆传统加密:微算法科技创新LSQb算法,提升量子图像处理速度
  • 芯谷科技--150KHz 3A PWM 降压型 DC/DC 转换器D1507
  • 【原创】【5】【视频二创工具发布】基于视觉模型+FFmpeg+MoviePy实现短视频自动化二次编辑+多赛道
  • UE5 一台电脑+双显示器 配置nDisplay裸眼3D效果
  • 【MCP服务】蓝耘元生代 | 蓝耘MCP平台来袭!DeepSeek MCP服务器玩转大模型集成
  • 【启发式算法】Dynamic A*(D*)算法详细介绍(Python)
  • 直播 APP 开发需要多少成本
  • 数据结构入门-图的基本概念与存储结构
  • 如何在Vue3中正确使用ref和reactive?
  • 洛科威岩棉板打造宁静空间,为业主构筑建筑“静世界”