<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,将自己的用户名添加上去

  1. 怎么看是否获得权限了,touch一个文件看拥有者是不是root
相关推荐
斗转星移34 小时前
Ubuntu20.04 中使用vscode中编辑查看PlantUML
linux·vscode·uml·plantuml
正经教主5 小时前
【问题】解决docker的方式安装n8n,找不到docker.n8n.io/n8nio/n8n:latest镜像的问题
运维·docker·容器·n8n
sukida1005 小时前
BIOS主板(非UEFI)安装fedora42的方法
linux·windows·fedora
●^●6 小时前
Linux 权限修改详解:chmod 命令与权限数字的秘密
linux
唯独失去了从容6 小时前
WebRTC服务器Coturn服务器中的通信协议
运维·服务器·webrtc
光而不耀@lgy7 小时前
C++初登门槛
linux·开发语言·网络·c++·后端
joker_zsl7 小时前
docker的安装和简单使用(ubuntu环境)
运维·docker·容器
偶尔微微一笑7 小时前
AI网络渗透kali应用(gptshell)
linux·人工智能·python·自然语言处理·编辑器
Run1.7 小时前
深入解析 Linux 中动静态库的加载机制:从原理到实践
linux·运维·服务器
VI8664956I267 小时前
全链路自动化AIGC内容工厂:构建企业级智能内容生产系统
运维·自动化·aigc