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

LInux——环境基础开发工具使用(正在更新中...)

1.软件包管理器

Linux下安装软件的方案:

1. 源代码安装

2. rpm包安装

3. 包管理器安装 --- yum/ apt

(此图片来自于比特就业课课件) 

1.1 操作生态系统 

好的操作系统定义:

生态环境好

不同的操作系统根本是生态不同(面向的群体不同) 

(此图片来自于比特就业课课件) 

工程师免费在特定提供软件,是为了更好地维护生态系统。

 (此图片来自于比特就业课课件)

国内镜像源—— 

 Linux机器上,有对应的给yum/apt 提供的配置文件。(url或者ip地址)

具体过程如下:

 (图片来自于比特就业课课件)

云服务器:内置的配置文件已经是国内的 。

 (附:清华大学镜像站,其他高校也有,感兴趣可以在百度百科上搜索)

软件包依赖问题——

 (图片来自于比特就业课)

yum 可以解决依赖问题。

1.2 yum具体操作 

安装软件实质上是进行文件拷贝,此时,有权限的约束,需要在root下或者sudo yum/apt进行提权。

一般而言,软件只安装一次,所有人都可以用。

注意事项:
• 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
• yum/apt安装软件只能一个装完了再装另一个. 正在yum/apt安装一个软件的过程中, 如果再尝试用
yum/apt安装另外一个软件, yum/apt会报错.
• 如果 yum / apt报错, 请自行百度.

2.编辑器Vim

vim 是一个专注的编辑器,同时,也是多模式的编辑器。

2.1 vim初识 

根据上述的内容,我们可以知道vim指令是真实存在的。 

直接输入vim指令,我们可以进入到以下界面。

2.2 vim的基本概念 

vim有很多模式,一般支持的模式有:(本文仅仅包含常用的三种模式)

 2.3 vim的基本操作

在vim的操作中,光标的定位是非常重要的。 

2.3.1 命令模式

光标的定位:

gg : 定位到最前列

shift + g : 定位到最结尾

行数 + gg / (shift + g) : 定位到指定列

shift + $/4 : 光标定位到行尾

shift + 6/^ :光标定位到行首

h , j , k , l : 左 上 下 右

数字 + w/b : 以单词为单位,进行前后移动

其他命令:

n + yy : 复制n行

n + p : 粘贴n行

n + dd : 剪切或者删除

n + x/X : 命令删除

n + r : 小范围的替换

shift + r/R : 进入替换模式

shift + `/~ : 快速大小写切换

u : 撤销

ctl + r : 对u 进行撤销

2.3.2 插入模式 

从命令模式进入插入模式:a i o

2.3.3 底行模式

从命令模式进入底行模式: shift + :

命令:

w : 保存

q : 退出

wq : 保存并退出

shift + zz : 退出vim

w! : 强制保存

q! : 强制退出

wq! : 强制保存并退出

set  nu/nonu : 设置行号/取消行号

/XXX + n : 根据关键字进行查找

! + 命令:不退出直接执行命令(gcc/   ./a.out等)

ctrl + ww : 分屏时光标移动

vs + other(文件) : 分屏打开

2.3.4 补充 

补充的是更加实用的操作! 

 批量化注释——

ctrl + v -> hjkl(操作)-> shift + i ->输入//->esc 

批量化去注释——

ctrl + v -> hjkl -> d 

批量删除——

ctrl + v -> hjkl(选择区域)-> d 

也可以进行批量化添加。

上述补充是在命令模式下的补充,下面我们来进行底行模式的补充。

vim code.c + n -> 在打开时,光标直接进入到第十五行左右。

!+ 命令的开始符 -> 可以快速执行历史命令。 

配置的调试——

在网络上有很多关于配置的文章,我们可以根据自己的需要来进行,这里给了一个比较简单的——

在普通用户之下(注意),直接输入以下链接

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

然后根据命令来进行就可以了。最终的界面更符合大多数人写代码的需要。

3.编译器gcc/g++

3.1 背景知识

3.1.1 预处理(进行宏替换/去注释/条件编译/头文件展开等)

其中的-E表示:从现在开始,进行程序的翻译,一旦预处理做完,就停下来。

则由上述可得,code.i 就是 code.c 预处理之后的结果。 

3.1.2 编译(生成汇编)

相关文章:

LInux——环境基础开发工具使用(正在更新中...)

1.软件包管理器 Linux下安装软件的方案: 1. 源代码安装 2. rpm包安装 3. 包管理器安装 --- yum/ apt (此图片来自于比特就业课课件) 1.1 操作生态系统 好的操作系统定义: 生态环境好 不同的操作系统根本是生态不同(…...

linux 内核asmlinkage关键字总结

1,看一下asmlinkage的定义 CPP_ASMLINKAGE __attribute__((regparm(0))) GCC中使用__attribute__((regparm(n)))指定最多可以使用n个寄存器(eax, edx, ecx)传递参数,n的范围是0~3,超过n时则将参数压入栈中(…...

⚡️如何在 React 和 Next.js 项目里优雅的使用 Zustand

前言 你是否曾感觉在 React 中管理状态简直是一场噩梦?如果你已经厌倦了不停地处理 props、context 和 hooks,那么现在是时候认识 Zustand 了。Zustand 是一个轻量级的状态管理库,它简化了你处理应用状态的方式。在这篇文章中,我…...

Pinpoint(APM)进阶--Pinot指标采集(System Metric/Inspector)

接上文 Pinpoint使用Pinot进行指标数据存储,Pinot流摄入需要Kafka 本文详解Kafka和Pinot的安装部署,以及Pinpoint的指标采集 Pinot 简介 Apache Pinot是一个实时分布式OLAP数据存储,专为低延迟、高吞吐量分析而构建,非常适合面…...

Mysql:使用binlog的一些常用技巧

1、如何查看binlog的存放路径 show variables like log% 执行结果: 2、如何清除binlog (1)按时间清除 purge binary logs before ‘2023-06-5 10:12:00’ (2)按文件文件名清除 purge binary logs to ‘mybinlog.0000…...

Electron 项目启动外部可执行文件的几种方式

Electron 项目启动外部可执行文件的几种方式 序言 在开发 Electron 应用程序时,有时需要启动外部的可执行文件(如 .exe 文件)。这可能是为了调用系统工具、运行第三方软件或者集成现有的应用程序。 Electron 提供了多种方式来启动外部可执行…...

前端开发中常用的包管理器(npm、yarn、pnpm、bower、parcel)

文章目录 1. npm (Node Package Manager)2. Yarn (Yarn Package Manager)3. pnpm4. Bower5. Parcel总结 前端开发中常用的包管理器主要有以下几个: 1. npm (Node Package Manager) 简介: npm 是 Node.js 的默认包管理器,也是最广泛使用的包…...

Linux入门:环境变量与进程地址空间

一. 环境变量 1. 概念 1️⃣基本概念: 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数 如:我们在编写C/C代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里&#x…...

【Jenkins实战】Windows安装服务启动失败

写此篇短文,望告诫后人。 如果你之前装过Jenkins,出于换域账号/本地帐号的原因想重新安装,你大概率会遇上一次Jenkins服务启动失败提示: Jenkins failed to start - Verify that you have sufficient privileges to start system…...

web实操5——http数据详解,request对象功能

http请求数据 现在我们浏览器f12的那些是浏览器给http格式数据整理之后便于我们阅读的。 原始的http格式信息: 就是按照一定格式和符号的字符串: 请求行:格式如下图 请求头:一个个key,value数据,用,分割…...

C# 如何动态加载程序集

程序集的加载,默认是从当前目录下查找,如果当前目录查找不到,然后再去系统目录中查找,依然查找不到就会从环境变量中查找,如果依然找不到,则会抛出一个异常 FileNotFoundException。 托管代码中&#xff0…...

前端基础的讲解-JS(10)

作用域链 通过上节作用域我们知道,当我们声明一个函数时,程序会生成一个独立的作用域,如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域;根据 内部函数可以访问外部函数变量 的这种机制,用链…...

JNI整理总结

JNI JNI基础 JNI基础 JNI,java native interface,即java本地接口,是java调用本地化方法的接口,是为java编写本地方法,为jvm嵌入本地应用程序的标准化接口。首要目标是在给定的平台上采用java通过JNI调用本地化方法&am…...

aws中AcmClient.describeCertificate返回值中没有ResourceRecord

我有一个需求,就是让用户自己把自己的域名绑定我们的提供的AWS服务器。 AWS需要验证证书 上一篇文章中我用php的AcmClient中的requestCertificate方法申请到了证书。 $acmClient new AcmClient([region > us-east-1,version > 2015-12-08,credentials>[/…...

Spring Task详细讲解

✨Spring Task简介 Spring Task 是 Spring 提供的轻量级定时任务工具,也就意味着不需要再添加第三方依赖了,相比其他第三方类库更加方便易用。可以按照约定的时间自动执行某个代码逻辑。 使用场景: 信用卡每月还款提醒银行贷款每月还款提醒…...

C++初阶 --- 类和对象(1)

类和对象(1) 一、类的相关内容1.访问限定符2.class关键字与struct关键字的区别3.类域 二、this指针三、成员函数存放在哪里?1. 函数的存放位置2. 练习题 一、类的相关内容 1.访问限定符 (1)C⼀种实现封装的⽅式&…...

《TCP/IP网络编程》学习笔记 | Chapter 7:优雅地断开套接字连接

《TCP/IP网络编程》学习笔记 | Chapter 7:优雅地断开套接字连接 《TCP/IP网络编程》学习笔记 | Chapter 7:优雅地断开套接字连接基于 TCP 的半关闭单方面断开连接带来的问题套接字和流针对优雅断开的 shutdown 函数为何需要半关闭?基于半关闭…...

Anaconda 和 conda 是什么关系?就像 pip 和 python 一样吗

Anaconda 和 conda是 Anaconda Distribution 还是 Miniconda Anaconda 和 conda Anaconda 和 conda 之间的关系有点类似于 pip 和 Python,但又有所不同。 Anaconda 是一个数据科学和机器学习的发行版,它包含了 Python、conda 以及许多预装的库和工具&am…...

「数据治理」核心专业术语解释!

​数据治理就是指在一定的组织范围内,依托制度法规、标准规范、应用实践和支撑技术对数据进行全生命周期的数据确权、质量管理、安全控制、隐私保护、开放共享、交易流通和分析处理。数据治理的目标是为了提高数据的可用性、安全性、流通性,激活数据资源…...

Mac Nginx 前端打包部署

安装homebrew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 安装Nginx brew install nginx nginx相关命令 nginx启动命令:nginx nginx -s reload #重新加载配置 nginx -s reopen #重启 nginx -s stop #…...

为什么你的Windows快捷键突然失效?Hotkey Detective一键定位占用程序终极指南

为什么你的Windows快捷键突然失效?Hotkey Detective一键定位占用程序终极指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-d…...

从开发者视角感受Taotoken官方价折扣带来的实际成本节省

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 从开发者视角感受Taotoken官方价折扣带来的实际成本节省 对于独立开发者和小型团队而言,在构建和迭代AI应用时&#xf…...

如何免费激活Windows和Office:3步实现永久激活的终极指南

如何免费激活Windows和Office:3步实现永久激活的终极指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows激活弹窗烦恼吗?是否遇到过Office突然变成只读模式…...

【收藏干货】2026年AI Coding全面爆发!程序员终极职业升级攻略,告别被替代焦虑

2026年,AI编码技术迎来规模化落地爆发期,行业彻底告别“人工纯编码”的传统模式。对于所有程序员而言,当下最核心的生存与发展策略,早已不是埋头敲代码,而是从“被动写代码的执行者”全面升级为“主动驾驭AI的价值创造…...

MATLAB CGCS2000高斯投影坐标转经纬度坐标

坐标系转换这边需要用到mapping toolbox 首先根据原始(x,y)坐标对应的投影坐标系查询EPSG编号 例如这边CGCS2000 / 3-degree Gauss-Kruger CM 123E的编号就是4450 对应的编号可以https://blog.csdn.net/qq_41441896/article/details/104525296在这篇博…...

长期使用Taotoken Token Plan套餐的成本控制感受分享

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期使用Taotoken Token Plan套餐的成本控制感受分享 1. 从按量计费到套餐订阅的转变 在开始使用Taotoken平台时,我们…...

3分钟掌握PCB交互式BOM:告别传统表格的终极可视化方案

3分钟掌握PCB交互式BOM:告别传统表格的终极可视化方案 【免费下载链接】InteractiveHtmlBom Interactive HTML BOM generation plugin for KiCad, EasyEDA, Eagle, Fusion360 and Allegro PCB designer 项目地址: https://gitcode.com/gh_mirrors/in/InteractiveH…...

微服务架构下的旺店通与畅捷通T+系统集成

旺店通与畅捷通T系统集成方案轻易云数据集成平台为企业提供高效、稳定的系统对接解决方案,实现旺店通企业奇门与畅捷通T系统的无缝数据流转。该方案充分发挥轻易云平台的智能化数据处理能力,确保业务数据在跨系统传输过程中的准确性和时效性。系统简介旺…...

免费编辑《上古卷轴》和《辐射》游戏3D模型的终极指南:NifSkope完整教程

免费编辑《上古卷轴》和《辐射》游戏3D模型的终极指南:NifSkope完整教程 【免费下载链接】nifskope A git repository for nifskope. 项目地址: https://gitcode.com/gh_mirrors/ni/nifskope 想要为你的《上古卷轴:天际》角色设计一套独特的盔甲吗…...

Unity版本降级实战指南:从2021.1回退到2019.4的四步硬核操作

1. 为什么Unity版本降级不是“回退安装”那么简单 在Unity项目开发中,很多人把“降级”理解成卸载新版本、重装旧版本、再拖进工程——就像换手机系统时刷回上个固件。但Unity的版本管理机制远比这复杂得多。我第一次遇到从2021.1.7f1c1往回降到2019.4.17f1c1的问题…...