Linux工具

news2025/1/17 0:11:39

一、yum

yum可以看作一个客户端(应用商店)、应用程序,它如何知道去哪里下载软件?

yum也是一个指令/程序,可以找到它的安装路径。

在list中可以看到yum能安装的所有软件,通过管道找到想要的,yum install直接安装。

yum remove 删除

Base中内置了下载链接,镜像网站。

官方yum源只能下载被审核过的,也可以使用epel.repo扩展源。

更新yum源就是替换其中的源文件,更新链接。

二、vim的使用

1、操作

三种模式间切换

光标定位  复制yy  粘贴p 剪切dd 撤销u  反撤销Ctrl+r

~切换大小写(一行小写变大写) r替换某几个   R替换模式   x删除一个字符

vs打开多个窗口     ctrl+ww切换

强制保存退出  wq!

2、配置

先创建一个隐藏文件.vimrc

在该文件中添加指令,如set  nu添加行号,行距、提示、高亮等。

一个用户对应一个配置文件,不会相互影响。

三、sudo提权指令

sudo提权之前,该用户必须添加到信任名单(白名单) sudoers file 的配置文件中        

对于user和group都是只读权限,即普通用户不能更改,只能由root指定添加。

四、Linux编译器gcc/g++

1、预处理(4个)

gcc -E xxx.c   -o xxx.i

gcc编译的源文件必须以.c结尾 (因为其对应寻找的库是C语言的)

g++则必须以.cpp结尾,否则不能编译

但编译链接后的可程序程序如a.out,只要有可执行权限x即可运行。

C/C++开发前,系统中必须要有相应的头文件、库文件。下载安装VS2022时就会一起下载好。

Linux中,存储在user/include文件下。

可以在使用gcc时添加宏进行条件编译。(源文件中#ifdef DEBUG #else ...  #endif)提前写好

在编译时可以加选项,gcc test.c -o test.exe -DEBUG.

注:预处理之后的.i文件仍为C语言

2、编译

形成汇编

gcc -S  xxx.i  -o  xxx.s

全变为汇编指令 call  movl等

3、汇编

形成机器可识别的二进制文件

目标文件(可重定向目标二进制文件)

gcc  -c  xxx.i  -o  xxx.o  vim是文本编辑器,无法识别二进制

4、链接

生成可执行文件

5、动静态库

C语言的标准库在Linux下可以认为是一个文件,也有自己的路径

lib代表库,c为库名称,后面为类型。(默认只有动态库,没有安装静态库)

(1)库是什么,有什么用?

各种方法的实现都在库中,库是把几个源文件.c经过一定翻译、打包成一个文件。

只需提供个对方一个文件即可,也达到了隐藏源文件的目的(使用库可以省略大量重复工作--造轮子) 

头文件提供方法的声明,库文件提供方法的实现,加上自己写的-->一个自己开发的软件。

(2)动静态链接原理

ldd指令可以查看可执行程序使用的动态库

在Linux中,链接 形成可执行程序时默认使用动态库

动态链接依赖动态库,去找动态库。

静态库链接直接拷贝到目标程序,之后的执行不依赖静态库。

加上-static选项变为静态链接,由于拷贝,生成的.exe也会变大

ldd查看静态链接的程序,显示不是动态可执行。

C和C++的静态库如图

file指令查看是动态还是静态链接

(3)动静态链接的优缺点

(4)debug/release

用readelf指令获取debug信息    (ELF二进制格式构成)

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

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

相关文章

ChatGPT 总结前端HTML, JS, Echarts都包含哪些内容

AIGC ChatGPT ,BI商业智能, 可视化Tableau, PowerBI, FineReport, 数据库Mysql Oracle, Office, Python ,ETL Excel 2021 实操,函数,图表,大屏可视化 案例实战 http://t.csdn.cn/zBytu

数据视觉化探秘:了解有效传达的几种常见图表

当涉及向观众传达复杂的数据时,数据可视化图表成为了无价的工具。本文为大家介绍几种常用的数据可视化图表,以便更好地展示和理解数据。 折线图 这是最基础的图表类型之一,通过连续的折线连接数据点,呈现数据随时间或顺序的变化…

极米投影仪好用吗?极米RS Pro 3的真实体验效果怎么样?

随着智能投影仪的不断普及,现在大多数的年轻家庭在布局客厅的时候也不再以传统的电视为主,投影仪代替电视已然成为了一种常态,投影仪的体积更小、不用固定安装、也不会占用太大的空间,并且可以随意投射出百寸以上的画面大小&#…

《论文阅读21》Equivariant Multi-View Networks

一、论文 研究领域:计算机视觉 | 多视角数据处理中实现等变性论文:Equivariant Multi-View Networks ICCV 2019 论文链接视频链接 二、论文简述 在计算机视觉中,模型在不同视角下对数据(例如,点云、图像等&#xff0…

XXE漏洞利用技巧(由简入深)-----portswigger(XXE部分WP)

什么是XXE XXE(XML External Entity:xml外部实体注入),它出现在使用XML解析器的应用程序中。XXE攻击利用了XML解析器的功能,允许应用程序从外部实体引用加载数据。攻击者可以通过构造恶意的XML实体引用来读取本地文件…

四、MySql数据类型

文章目录 一、数据类型(一)数据类型分类(二)数值类型1、tinyint类型2、bit类型3、小数类型(1) float(2)decimal 4、字符串类型(1)char(2&#xff…

101序列检测器

本次所做设计,使用数字电路芯片实现的101序列检测器。电路图如下: 主要首先要根据需求画出状态转移方程,然后写出它的逻辑表达式。最后根据所选触发器种类确定电路图。序列由按键控制输入,按键按下,代表输入1 &#xf…

如何使用Python和正则表达式处理XML表单数据

在日常的Web开发中,处理表单数据是一个常见的任务。而XML是一种常用的数据格式,用于在不同的系统之间传递和存储数据。本文通过阐述一个技术问题并给出解答的方式,介绍如何使用Python和正则表达式处理XML表单数据。我们将探讨整体设计、编写思…

交换机和路由器互联,并用ACL进行网段隔离的实例

拓朴如下: vlan10 20 为业务网段,vlan100为管理网段 S1起了vlan10 20,上行接口起了trunk口 S2起了vlan 10 20 100,分别起了vlanif网关,其中 vlanif 100是100.1.1.2/30,下行配置为trunk,起了AC…

Mysql索引、事务、函数

索引: 索引,使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。 在关系数据库中,索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快。索引的作用相当于图书的目录…

新的雅思口语6分标准

目录 新的雅思口语6分标准 要有细节,要有充分的话题词汇资源 要拥有具象思维能力,要有画面感 下义词是什么意思? 方法:现在时未来时 (形成时态多样)观点解释 原因要有排他性 "Kick off" 是…

国家公派必读|CSC奖学金发放/专用银行卡领取说明/问题解答

在上期文章“国家公派必读|CSC各类留学人员奖学金资助和艰苦地区补贴标准”的基础上,本文知识人网小编谈谈奖学金的具体发放办法、CSC奖学金专用银行卡及领取奖学金说明及有关问题解答。 奖学金发放 1. 留学基金委在取得留学服务机构的派出信息后为留学人员预发3个…

QT(9.1)对话框与事件处理

作业: 1. 完善登录框 点击登录按钮后,判断账号(admin)和密码(123456)是否一致,如果匹配失败,则弹出错误对话框,文本内容“账号密码不匹配,是否重新登录”&…

【kubernetes】k8s部署APISIX及在KubeSphere使用APISIX

Apache APISIX https://apisix.apache.org/ 功能比nginx-ingress更强 本文采用2.5.0版本 https://apisix.apache.org/zh/docs/apisix/2.15/getting-started/ 概述内容来源于官方,学习于马士兵云原生课程 概述 Apache APISIX 是什么? Apache APISIX 是 …

前端JS学习(一)

基础 JavaScript书写位置 1、行内 JavaScript   通常放在文档结尾的 < / b o d y > </body> </body> 上面   将 < s c r i p t > <script> <script>放在HTML文件的底部附近是因为浏览器会按照代码在文件中的顺序加载HTML。 2、内部J…

解决在写论文过程中遇到的插入到论文中的图片不清晰的问题(全网最详细最全解决方法)

目录 1 插入到word中的图片不清晰 2 将word转化为pdf以后图片不清晰 3 在利用latex写作过程中得到的pdf图片不清晰 4 将位图转换为矢量图 在读论文的过程中其实我们可以发现很多论文的插图在放大以后是模糊的&#xff0c;这是因为他们所插入的并不是矢量图。 矢量图&#x…

关于数学建模论文中“学习率”是什么东西?

问题背景 数学建模2022年无人机问题的时候遇见一个关于学习率的东西&#xff0c;不是很清楚的现在可以看看下面的内容了。 问题解决 学习率在机器学习和优化中是一个常见的概念&#xff0c;它决定了模型在每次更新时应该调整多少。较高的学习率可能会导致模型在寻找最优解时跳…

Questa Sim使用教程仿真-示例

Questa Sim0基础仿真教程 文章目录 一、 打开软件二、运行编译后的文件 一、 打开软件 1、新建工程 File -> New -> project 2、填写工程名称和工程位置然后点"ok" 3、编写或者添加文件&#xff0c;这里直接添加一个编写好的反相器的文件。 可关注公众号&a…

进程控制块(PCB)的存储方式

进程控制块&#xff08;PCB, Process Control Block&#xff09;是操作系统用于描述和控制进程的重要数据结构。它包含了与进程有关的所有必要信息。为了有效地组织和管理PCB&#xff0c;操作系统通常会使用不同的存储方式&#xff0c;其中两种常见的方式是链式存储和索引存储。…

linux的文件系统,理解一切皆文件

1. 系统文件I/O 1.1 open #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); pathname: 要打开或创建的目标文件 flags: 打开文件时…