当前位置: 首页 > 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默认链接方式是动态链接

http://www.lqws.cn/news/586675.html

相关文章:

  • Excel 中拖动公式时,如何让引用的单元格“固定”或“变动”?
  • Vue3——项目配置eslint+prettier
  • Instruct-GPT奖励模型的损失函数与反向传播机制解析
  • [15-2] 读写内部FLASH读取芯片ID 江协科技学习笔记(20个知识点)
  • 【C++指南】C++ list容器完全解读(三):list迭代器的实现与优化
  • 如何查看服务器的运行日志?
  • 关于Spring的那点事(1)
  • 【CSS】Grid 布局基础知识及实例展示
  • 内网ubuntu系统安装mysql
  • 《如何在 Spring 中实现 MQ 消息的自动重连:监听与发送双通道策略》
  • 算法题练习
  • 前端Vue面试八股常考题(一)
  • 【STM32HAL-第1讲 基础篇-单片机简介】
  • Redis Lua 调试器(LDB)完全指南
  • 具身智能的仿真技术(具身智能入门三)
  • 用Python采集CBC新闻:如何借助青果网络海外代理IP构建稳定采集方案
  • datax-web报错:连接数据库失败. 请检查您的 账号、密码、数据库名称、IP、Port或者向 DBA 寻求帮助(注意网络环境)
  • NAT 类型及 P2P 穿透
  • 信创项目oracle数据库迁移到达梦数据库需要会有哪些问题?如何解决?
  • Linux云计算基础篇(2)
  • 2025年6月个人工作生活总结
  • 【Springai】项目实战进度和规划
  • SpringCloud系列(42)--搭建SpringCloud Config分布式配置总控中心(服务端)
  • 个人博客开发问题记录:ThreadLocal获取用户数据失败
  • 《用奥卡姆剃刀原理,为前端开发“减负增效”》
  • CentOS 7 8 安装 madam
  • LLaMA-Factory框架之参数详解
  • (LangChain)RAG系统链路之嵌入模型Embedding(三)
  • spring-ai 工作流
  • 深入理解CSS定位:掌握网页布局的核心技术