<Linux> Linux环境开发工具

一、Linux软件包管理器 - yum

什么是软件包:

        在Linux 下安装软件 , 一个通常的办法是下载到程序的源代码 , 并进行编译 , 得到可执行程序 .
        但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好 , 做成软件包 ( 可以理解成 windows 上的安装程序) 放在一个服务器上 , 通过包管理器可以很方便的获取到这个编译好的软件包 , 直接进行安装 .
        软件包和软件包管理器, 就好比 "App" " 应用商店 " 这样的关系 .
        yum(Yellow dog Updater, Modified)是Linux 下非常常用的一种包管理器 . 主要应用在 Fedora, RedHat, Centos等发行版上 .

Linux安装软件方法:

1. 源代码安装

2. rpm安装

3. yum安装 -- 解决安装源, 安装版本, 安装依赖

1. yum三板斧:查找、安装、卸载

yum list | grep XXX   在软件包内查找XXX
yum install -y XXX    下载,-y 表示直接同意
yum remove -y XXX     卸载

好玩的软件sl、cowsay

关键词:国内yum源centos7

二、vim的使用

1. vim基本概念

        vim编辑器——文本编写——写代码,是一个多模式的编辑器,其他的像vs、idea都是集成开发环境

2. vim基本操作

-i :进入插入模式

esc : 退出当前模式,进入命令模式

shift + ;进入末行模式

3. vim模式指令集

3.1 命令模式指令集

单文件:

  • gg定位光标到最开始行
  • shift + g(G)定位光标到最结尾行
  • n + shift + g (n + G)定位光标到第n行
  • shift + $(其实就是$):定位光标到当前行结尾
  • shift + ^(其实就是^):定位光标到当前行的头部
  • w:光标往后移动,以单词为单位,进行行内或跨行移动
  • b:往前移动,以单词为单位,进行行内或跨行移动
  • h, j, k, l :左,下,上,右移动

  • 上键,下键,左键,右键:按字符移上下左右移动
  • (n) yy 复制光标所在行(n行)
  • (n) p粘贴(n行)到光标所在行的下一行,也就是粘贴几次
  • (n) dd(连续多行) 剪切、删除(就是不p了)
  • u:撤销
  • ctrl + r : 撤销之前的撤销
  • shift + ~:改大小写
  • (n) r + 任意字母:对光标之后的(n个)字符进行替换
  • shirft + r(即R):进入替换模式,对内容进行整体替换
  • (n) x:对光标字符之后的字符进行删除

多文件:

        在低行模式,用vs指令打开多个文件编辑窗口

vs code1.c
  • ctrl + w + w:窗口光标切换 

3.2 底行模式命令集

        可以在不退出vim情况下,执行外部命令

        可以搜索,例如/main,光标直接到main那一行

w!:强制保存

q!:强制退出:

wq!:强制保存并退出

set nu:显示行号

set nonu:不显示行号

4. 简单vim配置

        在vim里写代码有点不舒服,所以我们可以配置vim,在用户目录下,touch .vimrc文件,在该文件下配置并保存,即可。不会影响其他用户,即,一个用户一个配置文件,不建议给root做配置

三、 sudo

1. 如何将用户添加至白名单

        sudo:权限提升,以root身份运行指令,但只允许在白名单内的用户使用此命令。

        1. 先转为root用户,并用 vim 打开 /etc/sudoers 文件

vim /etc/sudoers

        2. 再找到root,将自己的用户名添加上去

        3. 怎么看是否获得权限了,touch一个文件看拥有者是不是root

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI融合细分场景,突破未来家的想象,萤石2024春季新品发布会圆满举办

3月31日,“AI无界 萤未来”2024萤石春季新品发布会暨渠道合作伙伴大会于杭州正式举办。萤石重磅发布视频通话摄像机S10、超级夜景室外云台H8x系列、TAMO看护摄像机、AI三摄全自动人脸视频锁DL60FVX Pro以及家庭助理机器人RK3等多款新品,以创新、前沿的AI…

OpenHarmony实战:Hilog组件在交互时应用指南

一、OpenHarmony hilog 组件工具概述 hilog 是 OpenHarmony 日志系统,提供给系统框架、服务、以及应用打印日志,记录用户操作、系统运行状态等。适用于 OpenHarmony 应用、硬件开发及测试人员,是每个开发人员的必备、入门工具。 hilog 日志查看命令行工…

类的函数成员(三):拷贝构造函数

一.什么是拷贝构造函数? 1.1 概念 同一个类的对象在内存中有完全相同的结构,如果作为一个整体进行复制或称拷贝是完全可行的。这个拷贝过程只需要拷贝数据成员,而函数成员是共用的(只有一份拷贝)。 在建立对象…

实践笔记-harbor-02-仓库镜像上传与拉取

harbor仓库镜像上传与拉取 1.上传镜像修改 daemon.json 配置文件上传镜像至harbor 2.拉取镜像登录账号(跟上传镜像那里一样操作登录步骤就可以了)拉取镜像 环境:centos7 1.上传镜像 修改 daemon.json 配置文件 # 编辑daemon.json文件&#…

C语言学习 六、指针

6.1指针的定义 6.1.1指针的本质(间接访问原理) 内存区域中每字节对应一个编号,这个编号就是“地址”。如果在程序中定义了一个变量,那么在对程序进行编译时,系统会给这个变量分配内存单元。按变量存取变量值的方式称…

【御控物联】JavaScript JSON结构转换(8):数组To数组——多层属性重组

文章目录 一、JSON结构转换是什么?二、案例之《JSON数组 To JSON数组》三、代码实现四、在线转换工具五、技术资料 一、JSON结构转换是什么? JSON结构转换指的是将一个JSON对象或JSON数组按照一定规则进行重组、筛选、映射或转换,生成新的JS…

【项目技术介绍篇】若依项目代码文件结构介绍

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是&#xff0…

node.js的模块化 与 CommonJS规范

一、node.js的模块化 (1)什么是模块化? 将一个复杂的程序文件依据一定的规则拆分成为多个文件的过程就是模块化 在node.js中,模块化是指把一个大文件拆分成独立并且相互依赖的多个小模块,将每个js文件被认为单独的一个模块;模块…

Python爬虫:爬虫常用伪装手段

目录 前言 一、设置User-Agent 二、设置Referer 三、使用代理IP 四、限制请求频率 总结 前言 随着互联网的快速发展,爬虫技术在网络数据采集方面发挥着重要的作用。然而,由于爬虫的使用可能会对被爬取的网站造成一定的压力,因此&#…

PS从入门到精通视频各类教程整理全集,包含素材、作业等(5)复发

PS从入门到精通视频各类教程整理全集,包含素材、作业等 最新PS以及插件合集,可在我以往文章中找到 由于阿里云盘有分享次受限制和文件大小限制,今天先分享到这里,后续持续更新 初寒调色案例及练习图 等文件 https://www.alipan…

Redis改造原始代码

基础篇Redis 5.2.2.改造原始代码 代码说明: 1.在我们完成了使用工厂设计模式来完成代码的编写之后,我们在获得连接时,就可以通过工厂来获得。 ,而不用直接去new对象,降低耦合,并且使用的还是连接池对象。 2.当我们…

书生·浦语大模型-第二节课笔记/作业

笔记 实验一 cli-demo import torch from transformers import AutoTokenizer, AutoModelForCausalLMmodel_name_or_path "../models"tokenizer AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_codeTrue, device_mapcuda:0) model AutoModelF…

给虚拟机配置静态IP并使用FileZIlla在虚拟机和Windows之间传输文件(ssh和ftp两种方法)

一、配置操作系统网络 🌸下面的步骤主要是配置虚拟机的静态IP,方便后续用 FikeZilla 在windows和虚拟机之间传输文件(否则用默认的ip分配方案为 DHCP ,每一次开机时的ip都是有可能不同的,这样就会导致每次远程连接都需要查看ip地址.&#xf…

Java学习33-Java 多线程Thread 多线程安全问题

Thread的生命周期 JDK1.5之前 JDK1.5之后分为 NEW RUNNABLE BLOCKED WAITING TIMED_WAITING TERMINATED 多线程安全问题 举例,要求三个窗口同时卖票,总共有100张票,打印出卖票过程,不允许重复售卖 package Thread;public class …

HarmonyOS实战开发-目标管理、如何实现一个自定义弹窗。

介绍 本篇Codelab将介绍如何使用State、Prop、Link、Watch、Provide、Consume管理页面级变量的状态,实现对页面数据的增加、删除、修改。要求完成以下功能: 实现一个自定义弹窗,完成添加子目标的功能。实现一个可编辑列表,可点击…

商品服务 - 三级分类

1.递归查询树形结构 Overridepublic List<CategoryEntity> listWithTree() {//1.查出所有分类List<CategoryEntity> all this.list();//2.组装成父子的属性结构List<CategoryEntity> level1Menus all.stream().filter(c -> c.getParentCid().equals(0L)…

2004-2022年上市公司企业战略激进度数据(含原始数据+计算代码+计算结果)

2004-2022年上市公司企业战略激进度数据&#xff08;含原始数据计算代码计算结果&#xff09; 1、时间2004-2022年 2、来源&#xff1a;原始数据整理自csmar 3、指标&#xff1a; 证券代码、统计截止日期、员工人数、证券简称、报表类型、固定资产净额、无形资产净额、资产…

算法学习——LeetCode力扣动态规划篇6(121. 买卖股票的最佳时机、122. 买卖股票的最佳时机 II、123. 买卖股票的最佳时机 III)

算法学习——LeetCode力扣动态规划篇6 121. 买卖股票的最佳时机 121. 买卖股票的最佳时机 - 力扣&#xff08;LeetCode&#xff09; 描述 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票&…

Transformers -- 深入研究 - part 3

公众号:Halo咯咯,欢迎关注~ 前文回顾: Transformers -- 以通俗易懂的方式解释 - Part 1Transformers -- 未知英雄 - Part 2世界正在为人工智能和生成式人工智能而疯狂,特别是 2023 年的 ChatGPT 和大型语言模型。在我们讨论本系列后续部分的技术细节之前,让我们先从它的想…

用Servlet实现一个简单的表白墙

1. 准备工作 创建项目,引入依赖...... 将静态页面放到项目中(放在webapp目录下): 当前,这个表白墙页面,已经可以输入内容,点击提交之后也能显示内容,后续后端要做的工作即: ①存档 用户点提交的时候,把刚才输入的内容通过网络传输给服务器,由服务器保存这个数据. ②读档 …