Linux工具(包含sudo提权与vim快捷配置)

目录

什么是软件包

查看软件包

如何安装软件

1.官方yum源下载

2.扩展yum源下载

如何卸载软件 

补充知识如何将普通用户加入白名单

补充知识rzsz

vim编辑器

1.命令模式(进入默认为这个模式)用户所有的输入都会被当成命令

2.插入模式

3.底行模式

4.替换模式

命令模式

单文件

多文件

补充知识 简单的vim配置


什么是软件包

      在Linux下安装软件

1.源代码安装,下载到程序的源代码, 并进行编译, 得到可执行程序

2.rpm安装  Linux安装包

但是这两种方法太过于麻烦,因此我们使用yum

3.yum安装  解决安装源,安装版本,安装依赖(相关联的插件什么的都会一并装了,不需要我们担心)

查看软件包

通过 yum list 命令可以罗列出当前一共有哪些软件包. 由于包的数目可能非常多, 这里我们需要使用 grep 命令

例如

yum list | grep lrzsz

如何安装软件

1.官方yum源下载

yum install lrzsz.x86_64 

我们此时只需要复制软件的名称安装就可以了 ,因为安装软件可能会涉及到一些权限,所以我们一般在root下来进行安装

或者使用sudo

sudo yum install lrzsz.x86_64 

最后输入y就行了

 安装这些软件实际上是有下载链接的,存在于yum的路径下

2.扩展yum源下载

yum install -y epel -release

下载扩展源之后我们可以下载一些其它软件

比如 install cowsay

如何卸载软件 

yum remove 软件名

补充知识如何将普通用户加入白名单

1.首先以root身份登录 

2.使用vim进入 vim /etc/sudoers

3. 添加 用户名 ALL=(ALL)    /usr/bin/yum, /usr/bin/rpm(这里仅仅是给yum和rpm提权,如果需要所有权限,只需要复制root的权限,然后把用户名更改即可)

为了方便,我们可以加在原本就有的, root   ALL=(ALL)     ALL 下面

然后wq!强制保存即可 

这样子我们就可以使用sudo 暂时提升我们的指令权限了

例如sudo yum install lrzsz.x86_64 

然后我们只需要再输入该用户的密码就可以了

补充知识rzsz

这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件.安装完毕之后可以通过拖拽的方式将文件上传过去,简单来说就是文件互传

rz命令来上传文件到linux里面,会出现一个框

sz 文件名 下载文件到windows上

vim编辑器

vim可以文本编辑,可以写代码

是一个多模式的编辑器,现在介绍几个常见的模式

1.命令模式(进入默认为这个模式)用户所有的输入都会被当成命令

输入 i 进入插入模式

输入 : 进入底行模式(就是shift + 分号)

输入R 进入替换模式

2.插入模式

就像记事本一样,按esc可以退回命令模式

3.底行模式

可以输入w,保存

输入q,退出

输入wq保存并退出

w!  q! wq!则是强制

按esc可以退回命令模式

4.替换模式

输入的字符用于替换光标所在字符

按esc可以退回命令模式


命令模式

单文件

gg :定位光标到最开始行

G(shift + g)定位光标到结尾行

nG(n + shift + g)定位光标到n行(注意,输入数字时,只能用键盘上方的键,不能使用右边的小键盘)

^(shift + 6)定位光标到当前行开始

$(shift + 4)定位光标到当前行结尾

b 以单词为单位向前移动

w 以单词为单位向后移动

h  j k l  分别是以单个字符为单位,向左,向下,向上,向右移动

(n)yy 复制光标所在n行,n默认为1

(n)dd 剪切光标所在 n行

(n)p在光标所在下一行重复粘贴n次

u撤销

ctrl +r 将撤销之前的撤销操作

~(shift + `)大小写转换

(n)x 对光标之后的n字符进行删除

(n)r 对光标之后的n个字符进行替换,n可以是两位数

值得注意的是,删除时n可以大于剩余字符数量,这时会将这些字符全部删除,但是进行替换时,n必须小于等于光标后剩余字符数

多文件

在底行模式下

输入 vs  文件名  可以添加文件,若该文件不存在,那么会创建一个

ctrl ww,切换文件,光标在哪个文件就操作哪个文件

补充知识 简单的vim配置

在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。

而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为 .vimrc

在里面写入命令就可以,以下是一些常用配置

set nu                      " 显示行号
set tabstop=4               " 设置软制表符宽度为4
set softtabstop=4           " 设置软制表符宽度为4
set shiftwidth=4            " 设置缩进的空格数为4
set autoindent              " 设置自动缩进:即每行的缩进值与上一行相等
set cindent                 " 使用 C/C++ 语言的自动缩进方式
set cursorline              " 突出显示当前行
set expandtab               " 空格代替制表符
set showmatch               " 光标遇到圆括号、方括号、大括号时,自动高亮对应的另一个圆括号、方括号和大括号
set ruler                   " 在状态栏显示光标的当前位置(位于哪一行哪一列)
 
set guifont=Consolas:h15    " 设置字体和字体大小
colorscheme molokai         " 设置主题为molokai
 
set nobackup                " 取消备份文件
                            " 默认情况下,文件保存时,会额外创建一个备份文件,它的文件名是在原文件名的末尾,再添加一个波浪号~
setlocal noswapfile         " 不创建交换文件。交换文件主要用于系统崩溃时恢复文件,文件名的开头是.、结尾是.swp
set noundofile              " 取消生成un文件
 
set hlsearch                " 设置高亮显示搜索字符串
set showmode                " 在底部显示,当前处于命令模式还是插入模式
set showcmd                 " 命令模式下,在底部显示,当前键入的指令。比如输入快捷键将在底部显示具体命令
set t_Co=256                " 启用256色
set noerrorbells            " 出错时不要发出响声
" 高亮显示
syntax on
syntax enable
" 编码配置
set enc=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936
set fileencoding=utf-8

快速配置方法

直接在用户命令行输入

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

接着输入root用户的密码即可

原作者gitee链接为VimForCpp: 快速将vim打造成c++ IDE

如果想要有语法提醒的话要将文件后缀改成.c或者.cpp

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

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

相关文章

01--MySQL数据库概述

目录 第1章 MySQL数据库概述 1.1 基本概念 1.2 MySQL数据库管理系统 1.3 表的关系 第2章 MySQL卸载、安装、登录 第3章 客户端使用演示 3.1 命令行客户端 3.1.1 数据库 3.1.2 数据表 3.1.3 导入数据 3.1.4 导出数据 3.2 可视化客户端 第4章 SQL语句 4.1 SQL的分类…

驾考小技巧:老北京布鞋!距离高考出分还剩3天,我却看到有些孩子已经拿了“满分”——早读(逆天打工人爬取热门微信文章解读)

我20年驾校4000多块钱,你呢? 引言Python 代码第一篇 洞见 距离高考出分还剩3天,我却看到有些孩子已经拿了“满分”第二篇 视频新闻结尾 引言 昨天的文章顺利发出 看来“梅西” 这两个字在我们这边 不是敏感词 只是很多个罗粉搞得有点过头了 …

代码随想录——分发饼干(Leetcode455)

题目链接 贪心 class Solution {public int findContentChildren(int[] g, int[] s) {Arrays.sort(g);Arrays.sort(s);int count 0;for(int i 0, j 0; i < g.length && j < s.length; i, j){if(s[j] > g[i]){count;}else{i--;}}return count;} }

【Proteus仿真】【Arduino单片机】基于物联网新能源电动车检测系统设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器&#xff0c;使用LCD1602液晶显示模块、WIFI模块、蜂鸣器、LED按键、ADC、DS18B20温度传感器等。 主要功能&#xff1a; 系统运行后&#xff0c;LCD1602显示温…

【进阶篇-Day4:使用JAVA编写石头迷阵游戏】

目录 1、绘制界面2、打乱石头方块3、移动业务4、游戏判定胜利5、统计步数6、重新游戏7、完整代码&#xff1a; 1、绘制界面 上述思路是&#xff1a;使用一个二维数组存放图片的编号&#xff0c;然后在后持遍历即可获取对应的图片。 代码如下&#xff1a; package com.itheima.s…

获取时间戳是使用System.currentTimeMillis()还是使用new Date().getTime()(阿里开发规范)?

1.阿里规范 在阿里的Java开发手册中强制要求使用System.currentTimeMillis() 2.为什么(源码详解) new Date().getTime()它实际上也是调用的System.currentTimeMillis()&#xff0c;源码分析。 这个fastTime是它的成员变量&#xff0c;在new Date()的时候就被赋值了。 扩展一…

计算机组成原理笔记-第3章 系统总线

第三章 系统总线 笔记PDF版本已上传至Github个人仓库&#xff1a;CourseNotes&#xff0c;欢迎fork和star&#xff0c;拥抱开源&#xff0c;一起完善。 该笔记是最初是没打算发网上的&#xff0c;所以很多地方都为了自我阅读方便&#xff0c;我理解了的地方就少有解释&#xf…

Android自定义View之不得不知道的文件attrs

其中demo_style如下:一般都是放的.9图片&#xff0c;为了方便就放个颜色了 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190820183209784.png?x-oss-processimage/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLm NzZG4ubmV0L3FxXzQyNzYxMz…

IDS使用规则

ids入侵检测系统 Snort(基于特征的入侵检测系统) 软硬件配套 snort官网链接&#xff1a;Snort - Network Intrusion Detection & Prevention System(https://www.snort.org) 环境&#xff1a;centos7,拖动需要开共享粘贴板和开双向 一、daq 1、预装dap所需程序 yum inst…

Unity 限时免费资源 - FANTASTIC万圣节资源包

Unity 资源 - FANTASTIC - Halloween Pack 万圣节包 前言资源包内容领取兑换码 前言 亲爱的 Unity 游戏开发者们&#xff0c;今天要给大家介绍一款限时免费的优质资源包 - FANTASTIC - Halloween Pack 万圣节资源包。 这个资源包为您的游戏创作带来了丰富的万圣节主题元素。其…

《STM32 HAL库》CAN通信系列函数详尽解析——HAL_CAN_Init()

食用指南&#xff1a;本文主要内容为梳理CAN初始化函数主要运行逻辑及重点功能实现代码的详尽解析。函数源码在文末&#xff0c;建议在阅读源码之后观看。 CAN相关寄存器图&#xff1a; 主要逻辑分析&#xff1a; 下面分点梳理函数的主要逻辑&#xff08;注意逻辑序号&#xf…

Python提取PDF文本和图片,以及提前PDF页面中指定矩形区域的文本

前言 从PDF中提取内容能帮助我们获取文件中的信息&#xff0c;以便进行进一步的分析和处理。此外&#xff0c;在遇到类似项目时&#xff0c;提取出来的文本或图片也能再次利用。要在Python中通过代码提取PDF文件中的文本和图片&#xff0c;可以使用 Spire.PDF for Python 这个…

为什么五笔没人用了?

五笔输入法现在较少人使用的原因主要有以下几点&#xff1a; 学习门槛高&#xff1a;五笔输入法的学习难度相对较大&#xff0c;需要掌握所有的字根&#xff0c;全面了解编码的规律&#xff0c;并学习每个字的拆字原则&#xff0c;这要求用户有相当高的耐心和时间去学习和练习…

openh264 帧级码率控制原理:RcCalculatePictureQp 函数

RcCalculatePictureQp 函数 函数功能 在码控中&#xff0c;当eSliceType为P_SLICE时 计算 P 帧的帧级量化参数QP 值。 函数原理过程 初始化各类变量&#xff1b;计算帧复杂度iFrameComplexity&#xff0c;如果iUsageType是SCREEN_CONTENT_REAL_TIME&#xff0c;重复赋值帧复…

MySQL【触发器、存储过程、函数、范式】

day53 MySQL 触发器 创建触发器&#xff1a;&#xff08;before &#xff1a; 前置触发器、after &#xff1a;后置触发器&#xff09; 语法&#xff1a; delimiter xx 指定分隔符xxcreate trigger 触发器名 [before | after] 触发事件 on 表名 for each row 执行语句begin…

maven:中央仓库验证方式改变:401 Content access is protected by token

前几天向maven中央仓库发布版本&#xff0c;执行上传命令mvn release:perform时报错了&#xff1a; [ERROR] Failed to execute goal org.sonatype.plugins:nexus-staging-maven-plugin:1.6.13:deploy (injected-nexus-deploy) on project xxxxx: Failed to deploy artifacts: …

智慧互联,Vatee万腾平台引领新潮流

在数字化、智能化的新时代&#xff0c;智慧互联正成为推动社会进步的重要力量。在这一潮流中&#xff0c;Vatee万腾平台凭借其卓越的技术实力和创新理念&#xff0c;正引领着新潮流&#xff0c;将智慧互联的理念融入生活的方方面面。 Vatee万腾平台是一个以大数据、云计算、人工…

C#利用SignalR实现通信事例Demo

1.服务端安装SignalR的Nuget包 dotnet add package Microsoft.AspNet.SignalR --version 2.4.3 2.接下来&#xff0c;创建一个ChatHub类&#xff0c;它是SignalR通信的核心&#xff1a; using Microsoft.AspNetCore.SignalR;public class ChatHub : Hub {public static Dict…

聊聊 C# dynamic 类型,并分享一个将 dynamic 类型变量转为其它类型的技巧和实例

前言 dynamic 是一种有别于传统变量类型的动态类型声明&#xff0c;刚开始接触可能在理解上会有些困难&#xff0c;可以简单地把它理解为一个盲盒&#xff0c;你可以任意猜测盒子有什么东西&#xff0c;并认为这些东西真正存在而进行处理&#xff0c;等到真正打开时&#xff0…

文章自动生成器,在线AI写作工具

随着人工智能AI技术的发展&#xff0c;AI技术被应用到越来越多的场景。对于需要创作内容的同学来说&#xff0c;AI写作-文章内容自动生成器是一个非常好的辅助工具。AI写作工具可以提升我们的创作效率&#xff0c;快速的生成文章&#xff0c;然后在根据需求进行调整修改即可。下…