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

Linux相关开发工具

Linux软件包管理器yum

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

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

 软件包和软件包管理器, 就好比 "App" 和 "应用商店" 这样的关系。

yum list 查看软件列表

 可以提供管道来查找自己所需要的软件,例如

yum list | grep lrzsz   查找软件列表中的lrzsz

如何安装软件:

sudo yum install  [你需要安装软件的名称] 

卸载软件:

sudo yum remove [你需要卸载的软件的名称] 

 Linux vim编辑器

vim常见的三种模式:命令模式,插入模式,底行模式。

命令模式: 控制屏幕光标的移动,字符、字或行的删除

插入模式:只有在插入模式下,才可以做文字输入,按「ESC」键可回到命令行模式。在命令模式下输入i即可进入插入模式

末行模式:文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模 式。要查看你的所有模式:打开vim,底行模式直接输入。

vim编辑器相关操作

光标定位:

命令模式下

shift + 4 = $   光标跳转到所在行的结尾

shift + 6 = ^ 光标跳转到所在行的头部

shift + g = G 整个代码尾部

gg 整个代码头部

n + shift +g 跳转到光标指定行  n为行号 

 文本复制

命令模式下,在光标所在行:

yy 复制光标所在行的内容(nyy:复制从光标所在行后的n行内容)

p 粘贴(np 粘贴n行内容) 

文本删除 

dd 删除光标所在行的内容    ndd 删除n行内容

使用dd完删除之后,再p一下,就能实现windows上面的剪切操作

文本行大小写切换  shift + ~

shift + r = R 批量替换字符内容 

r 光标所在的字符替换   nr 光标所在n个字符替换 

x 删除光标所在位置的一个字符   nx  删除光标所在位置后面(包含光标所在位置)n个字符 

X删除光标前面一个字符  nX删除光标前面n个字符 

 u 撤销                               ctrl+r 取消撤销操作

底行模式:设置行号 set nu  取消行号 set nonu

vim相关配置语法高亮,自动补全等相关设置可自行百度

vim 下同时开两个文件 在底行模式下输入:vs [你需要打开的文件]    ctrl+ww 光标跨屏操作

vim文件保存和退出

在底行模式下输入:wq 即可保存退出   q! 不保存退出

Linux编译器-gcc/g++使用

程序运行的过程:

预处理(头文件展开,去注释,宏替换,条件编译)

编译(生成汇编语言)

汇编(将汇编语言变成机器可识别的二进制)

链接(生成可执行文件)

函数库一般分为静态库和动态库两种

静态库是指编译链接时,把库文件的代码全部加入到可执行文件中,因此生成的文件比较大,但在运行时也 就不再需要库文件了。其后缀名一般为“.a”

动态库与之相反,在编译链接时并没有把库文件的代码加入到可执行文件中,而是在程序执行时由运行时 链接文件加载库,这样可以节省系统的开销。动态库一般后缀名为“.so” 

Linux项目自动化构建工具-make/Makefile

make 是一条命令  Makefile 是一个文件

.PHONY 修饰的对象是一个伪目标,该目标总是被执行的

第一行代码:processon依赖process.c test.c

当需要执行的时候,直接make

清理的时候 :make clean

 


http://www.kler.cn/a/467450.html

相关文章:

  • 【C++】P5733 【深基6.例1】自动修正
  • STM32的LED点亮教程:使用HAL库与Proteus仿真
  • LLM大模型RAG内容安全合规检查
  • MongoDB 固定集合
  • ffmpeg之yuv格式转h264
  • 基于YOLO11的道路缺陷检测系统
  • wordpress主题开发之function.php的10大作用
  • Spring Boot中的 6 种API请求参数读取方式
  • 如何解析和处理电商平台的按图搜索商品API返回值?
  • Seata 使用教程:全面解锁分布式事务管理
  • 32单片机从入门到精通之开发环境——集成开发环境(IDE)(五)
  • 源码理解 UE4中的 FCookStatsManager::FAutoRegisterCallback RegisterCookStats
  • MySQL数据结构选择
  • 13-Gin 中使用 GORM 操作 mysql 数据库 --[Gin 框架入门精讲与实战案例]
  • 软件测试面试题(一)
  • AI来帮忙:蛋白纯化不用慌
  • 网关的主要作用
  • 跨链多链与非托管交易结合:ANEX协议为区块链资产去中心化管理提供创新解决方案
  • C++ 中 Unicode 字符串的宽度
  • React知识盲点——组件通信、性能优化、高级功能详解(大纲)
  • LE Audio 初探
  • 语义搜索的交互范式
  • SpringBoot整合springmvc、扩展springmvc
  • JAVA异常处理练习
  • Xshell 8 最新中文免安装绿色版
  • pikachu - 暴力破解