<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
相关推荐
Christal_pyy3 小时前
树莓派4基于Debian GNU/Linux 12 (Bookworm)添加多个静态ipv4网络
linux·网络·debian
csbDD4 小时前
2025年网络安全(黑客技术)三个月自学手册
linux·网络·python·安全·web安全
李狗蛋儿啊4 小时前
zero自动化框架搭建---Git安装详解
运维·git·自动化
小金的学习笔记5 小时前
如何在本地和服务器新建mysql用户和密码
运维·服务器·mysql
s_fox_5 小时前
nginx ngx_http_module(7) 指令详解
运维·nginx·http
EasyNVR5 小时前
EasyRTC智能硬件:实时畅联、沉浸互动、消音护航
运维·服务器·网络·安全·音视频·webrtc·p2p
CarryBest5 小时前
Jenkins 环境搭建---基于 Docker
运维·jenkins
若云止水6 小时前
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_process_options
运维·nginx
s_fox_6 小时前
nginx ngx_http_module(9) 指令详解
运维·nginx·http
Natsuagin6 小时前
轻松美化双系统启动界面与同步时间设置(Windows + Ubuntu)
linux·windows·ubuntu·grub