【Linux】

软件包管理器 yum

yum类似应用商店客户端,有人已经把软件写好放在服务器上了,通过yum找到服务器上的软件下载

软件操作

yum list

可以显示所有可下载软件,我们要找lrzsz软件

yum install

下载

yum remove

卸载

yum源

yum下载软件是通过下载链接下载的,存放下载链接的地方叫yum源。

这个是官方yum源,也就是存放一些比较通用的软件的下载链接

除了官方yum源还有扩展yum源,比如epel,扩展源需要自己下载

更新yum源本质是替换yum源文件 

编辑器 vim

作用是文本编写也就是写代码。

多模式

vim是一个多模式编辑器,当你打开vim默认模式是命令模式,所有的输入都是命令而不是文本输入,输入i命令可以切换到插入模式,这时候就可以文本输入了,写完想退出怎么办?先按esc变成命令模式,然后输入:命令进入底行模式,然后输入wq即可保存退出,w是单纯的保存,q是单纯的退出。

命令模式

上下左右定位

gg:光标定位到最开始的行

G:光标定位到最结尾的行

nG:光标定位到第n行

^:光标定位到当前行的开始位置

$:光标定位到当前行的结尾位置

b, w:光标以单词为单位进行左右移动,可跨行

h, j, k, l:左,下,上,右,光标以字符单位移动

操作

(n)yy:复制光标所在行(或从这行开始复制n行)

(n)dd:剪切或删除光标所在行(n行)

(n)x:删除光标所在字符(n个)

(n)p:粘贴n行到光标的下一行

u:撤销

Ctrl r:对撤销进行撤销

~:切换光标位置的大小写

(n)r:对光标字符进行替换或替换多个

R:进入替换模式,对光标内容进行替换

多文件操作

vs:进入底行模式然后vs加文件名可以打开多个文件窗口

Ctrl ww:光标切换到其他窗口

底行模式

:进入底行模式

wq保存退出

!加指令,可以在底行模式调用外部指令

set nu, 显示行号,set nonu, 去掉行号

vim配置

vimrc是配置文件,如果没有的话自己创建,vim启动时会执行里面的配置选项

每个用户的vim配置文件是独立的,不会互相影响,不建议修改root的vim配置

【一键配置】

直接复制到指令行执行

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

编译器 gcc/g++

gcc只能编译C语言,g++可以编译C/C++

编译后会形成一个可执行文件,名字默认为a.out,./a.out运行

编译四步骤

从文本程序到二进制程序需要经过四个步骤

一,预处理:去注释,头文件展开,条件编译,宏替换。

二,编译:把代码转成汇编

三,汇编:把汇编转成二进制

四,链接:将目标文件和库进行连接形成可执行文件

gcc选项

不加任何选项,默认生成并输出到a.out

-o

是指要输出到哪个文件,如果没有就创建

-E 

将预处理做完就停下来

-S

将编译做完就停下来

-c

将汇编做完就停下来,生成的.o文件叫可重定位目标二进制文件,简称目标文件

最后一步,链接,将目标文件和库进行连接形成可执行文件,库提供方法的实现,本质是一个文件

-g

选择debug模式,体积会比release大

自动化构建工具 make/Makefile

make是一条指令,Makefile是一个文件,

mycode依赖mycode.c,根据依赖关系完成依赖方法上面的行为,

【形成可执行文件】

查看依赖的文件是否存在,如果不存在,会递归式的根据依赖关系形成目标文件,make会自动推导makefile的依赖关系

【清理文件】

【make】

make指令默认会执行第一个要形成的目标文件,其它的目标文件要在make后面指定名称

多次使用make不会编译,代码有修改才可以编译,这样可以提高编译效率,但这是怎么做到的?

首页,先有源文件才有可执行文件,所以源文件的最后修改时间一定比可执行文件早,那么如果你修改了源文件,则源文件的最后修改时间就会变得比可执行文件晚,通过比较时间来判断是否修改过,从而判断是否需要再次编译。

【ACM时间】

stat:查看时间

Access:最近访问时间

Modify:最近‘文件内容’修改时间

Change:最近‘文件属性'修改时间

由于Access的改变过于频繁会不断修改这个在磁盘中的文件的属性,所以有个计数器当访问到一定次数才修改一次,touch如果跟一个已存在的文件名,那么它会把这个文件的时间全部更新

【伪目标】

make会根据源文件和目标文件的时间新旧判断是否需要对依赖关系进行编译。

如果我不管时间就是要让依赖关系总是编译呢?

答:用 .PHONY: 修饰,被修饰的文件叫伪目标文件,它总是被执行

清理的工作需要总是被执行,一般用来修饰clean

【特殊符号】

$@ 表示冒号左边的内容

$^ 表示冒号右边的内容

在依赖方法前面加@可以取消回显

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/6748.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【论文复现】基于图卷积网络的轻量化推荐模型

本文所涉及所有资源均在这里可获取。 📕作者简介:热爱跑步的恒川,致力于C/C、Java、Python等多编程语言,热爱跑步,喜爱音乐、摄影的一位博主。 📗本文收录于论文复现系列,大家有兴趣的可以看一看…

天命人开店日记之门店经营调研(下)

在调研前拟定了一些想要去了解的信息,包括:月销量、净利润、用户购买的主要担忧、与电商平台的竞争差异等关键内容,然而当自己去实地考察线下门店时,确发现实际情况与自己的预期相差非常大。大大出乎预料的包括三方面:…

桑基图在医学数据分析中的更复杂应用示例

桑基图(Sankey Diagram)能够有效地展示复杂的流动关系,特别适合用于医学数据分析中的多种转归和治疗路径的可视化。接下来,我们将构建一个稍微复杂的示例,展示不同疾病患者在治疗过程中的流动,以及他们的治…

【linux】再谈网络基础(一)

1. 再谈 "协议" 协议是一种 "约定",在读写数据时, 都是按 "字符串" 的方式来发送接收的. 但是这里我们会遇到一些问题: 如何确保从网上读取的数据是否是完整的,区分缓冲区中的由不同客户端发来的数据 2. 网…

基于CNN-RNN的影像报告生成

项目源码获取方式见文章末尾! 600多个深度学习项目资料,快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【PaddleNLP的FAQ问答机器人】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.【CNN模型实现…

【AI落地应用实战】构建基于知识图谱的知识问答系统

一、知识图谱概述 知识图谱(Knowledge Graph)是一种结构化的语义知识库,它以图形的方式组织和整合信息,使得数据之间的关系变得直观和易于理解。知识图谱的概念融合了计算机科学、数据科学、人工智能等多个领域的技术&#xff0c…

微积分复习笔记 Calculus Volume 1 - 4.8 L’Hôpital’s Rule

4.8 L’Hpital’s Rule - Calculus Volume 1 | OpenStax

AI辅助论文写作的利弊

人工智能的时代,AI从自动驾驶到智能家居,慢慢的都成为了我们生活中的一部分。可当AI被放到学术研究领域,特别是撰写论文这一问题上时,却出现了大量的争议,认为AI撰写论文会削弱该有的批判性思维能力。那不用AI撰写论文…

AOP详解

一.什么是 AOP? AOP 的目的是将横切关注点(如日志记录、事务管理、权限控制、接口限流、接口幂等等)从核心业务逻辑中分离出来,通过动态代理、字节码操作等技术,实现代码的复用和解耦,提高代码的可维护性和…

红队知识学习入门(4)Windows病毒编写

声明 学习视频来自B站UP主 泷羽sec,如涉及侵泷羽sec权马上删除文章笔记的只是方便各位师傅学习知识,以下网站涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负 1、端口号及对应漏洞 ftp:21 tenlnet:23 web:80 80-89:可能是web 443:ssl心脏滴血…

知识竞赛答题系统,线上答题小程序链接怎么做?

随着智能手机的普及,越来越多的单位开始在线上开展知识竞赛。这种形式的知识竞赛不仅易于操作,而且参与度更高。那么线上知识竞赛答题系统怎么做呢?自己可以做吗?答案是可以的!借助微信答题系统制作平台风传吧&#xf…

AndroidStudio通过Bundle进行数据传递

作者:CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 使用环境:AndroidStudio 目录 1.新建活动 2.修改页面布局 代码: 效果: 3.新建类ResultActivity并继承AppCompatActivity 4.新建布局文件activity_result.xml 代…

【网络-交换机】生成树协议、环路检测

路由优先级 路由优先级决定了在多种可达的路由类型中,哪种路由将被用来转发数据包。路由优先级值越低,对应路由的优先级越高,优先级值255表示对应的路由不可达。一般情况下,静态路由的优先级为1,OSPF路由优先级为110&a…

华为eNSP:mux-vlan

一、什么是mux-vlan? Mux-vlan 是一种多路复用的虚拟局域网(Virtual Local Area Network)技术。它将多个不同的VLAN流量转发到同一个物理端口,从而实现VLAN间的互通。 在传统的以太网环境中,每个VLAN通常都有一个独立…

又发现了Mac妙控鼠标的新使用方法

我一直是不爱用妙控鼠标的,因为用起来怪怪的,但是今天发现BettreAndBetter支持妙控鼠标的修改,于是就找出了闲置了许久的妙控鼠标试了一下 优化后的妙控鼠标使用起来就没有任何不适应的地方了,三指按下模拟中键,而且还…

Cursor编程工具

最近爆火的Cursor是一款基于 VS Code 二次开发的 AI 编辑器。相比传统编辑器,它将 AI 技术深度融合到各个功能点,带来了前所未有的用户体验。 下载链接:https://www.cursor.com/ 第一步:下载安装 下载完成后,双击启动…

Me-LLaMA——用于医疗领域的新型开源大规模语言模型

摘要 大规模语言模型的出现是提高病人护理质量和临床操作效率的一个重大突破。大规模语言模型拥有数百亿个参数,通过海量文本数据训练而成,能够生成类似人类的反应并执行复杂的任务。这在改进临床文档、提高诊断准确性和管理病人护理方面显示出巨大的潜…

鸿蒙ArkTS中的布局容器组件(Column、Row、Flex、 Stack、Grid)

在鸿蒙ArkTS中,布局容器组件有很多,常见的有:   ⑴ Column:(垂直布局容器):用于将子组件垂直排列。   ⑵ Row:(水平布局容器):用于将子组件水…

【点击劫持漏洞(附测试代码)】

漏洞描述 点击劫持(Clickjacking)是一种网络攻击技术,攻击者通过将一个恶意的页面或按钮隐藏在合法网站的页面下,诱使用户在不知情的情况下点击隐藏的内容,从而触发攻击者设计的操作。这种攻击通常会导致用户无意中执…

大数据新视界 -- 大数据大厂之经典案例解析:电商企业如何靠 Impala性能优化逆袭(上)(9/30)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…