Linux [工具]

news2024/11/15 1:50:33

工具

  • 补充
  • yum
    • yum的位置
    • yum的使用
    • yum的本质
  • vim
    • vim的多模式
    • vim多个模式的细节
      • 命令模式
      • 底行模式
    • vim的配置

补充

Linux系统中文件名后缀没有直接的意义

但是不代表Linux上的软件不需要后缀, 比如gcc

在这里插入图片描述

yum

yum的位置

我们在手机或者Windows上, 一般都有一个东西 应用商店. 这个东西香的很呢, 我们都会在这里 放心的下载一些有意思的软件. 那么Linux环境下, 我们该如何下载软件?

  • Linux安装软件的方式
    1. 源代码安装(程序员的梦魇, 不够方便且出错率大)
    2. rpm安装(依赖关系太大, 前置条件多)
    3. yum安装(解决了安装源, 安装版本, 安装依赖)

这个yum 就类似于Windows下的 应用商店, 我们就用 yum 来进行Linux的安装.
那yum的位置在那个地方? /etc/yum.repos.d/

这个CentOS-Base.repo 就是官方yum源 ⇒ 官方yum源位置是 /etc/yum.repos.d/CentOS-Base.repo


关于 官方yum源这里面是什么, 后面再说


yum的使用

我们都知道, 手机和电脑都可以进行交互. 那么我们的Linux和Windows也可以进行交互

我们发现: rz 是Window --> Linux 的指令, sz是 Linux --> Windows(补充的)
通过前面的学习, 我们猜想: yum install -y rz 是下载 rz👇👇👇

我们发现, sz 和 rz 不是Linux本平台和本版本所支持的软件, 那么我们如何查看本版本和本平台下支持的所有软件呢? yum list


我们发现 yum list 查看本平台和本版本下支持的所有软件
但是这样太多了, 我们该怎么查看一个软件呢? 这个要通过 grep 和 通道 — — yum list | grep lrzsz(软件名)

  • 软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
  • “x86_64” 后缀表示64位系统的安装包, “i686” 后缀表示32位系统安装包. 选择包时要和系统匹配.
  • “el7” 表示操作系统发行版的版本. “el7” 表示的是 centos7/redhat7. “el6” 表示 centos6/redhat6.
  • 最后一列, base 表示的是 “软件源” 的名称, 类似于 “小米应用商店”, “华为应用商店” 这样的概念.

那我们来安装一下 rz 和 sz 来进行 Windows 和 Linux之间的交互


  • 总结一下yum的操作
    1. yum list — — 查看本平台和本版本下支持的所有软件
      • yum list | grep 软件名 — — 查看单个软件
    2. yum install -y 软件名 — — 安装
    3. yum remove -y 软件名 — — 卸载

yum的本质

我们都知道 yum 类似于手机上的 应用商店, 那么它是怎么知道在什么位置下载呢?
我们先看看yum源吧

我们发现这上面是一个又一个的网址, 看到这里我们就明白了:
yum下载软件就是通过这些 镜像链接来确定下载软件的位置的.⇒ yum源就是链接yum是软件商店, 把下载软件的链接存放在yum里面, 称为yum源

🗨️如果我们要下载一些不是官方yum源的软件但我们又是很需要这种功能, 那我们该怎么办?

  • 我们需要安装扩展源 yum install -y epel-release
    我们来看看 yum源发生了什么变化:
    在这里插入图片描述
    我么发现: 安装 扩展源就是把扩展源放在yum源中, 跟官方yum源一样, 也是把一些链接放在扩展源中.

  • 总结一下:
    yum源的位置 — — /etc/yum.repos.d/
    yum源包括:

    1. 官方yum源 — — /etc/yum.repos.d/CentOS-Base.repo
    2. 扩展yum源 — — /etc/yum.repos.d/epel.repo

我们发现: yum源是可以进行配置的

一般Linux操作系统的默认配置是国外的, 有可能yum源的访问比较慢, 就需要更新yum源 — — 替换成国内的yum源(替换成国内的镜像链接)

vim

vim的多模式

vim是一种多模式的编辑器

  • 多模式 — — 命令模式, 插入模式, 底行模式, 替换模式 … …
  • 编辑器 — ---- 区别于IDE(集成开发环境), 不能进行调试, 分析等功能, 一般用于写代码

使用方法: vim 文件

  • 创建: vim默认是不会创建文件的, 如果文件是不存在的, 那么不保存就不会创建文件, 若保存了就创建了该文件
  • 编写: 如果文件是已经存在的, 那么 vim 文件 就是 查看 和 编辑该文件

进入vim, 一开始就是 命令模式 — — 输入的都当做命令来处理 — — 所以命令模式也是 默认模式

然后发现不管我们输入什么都写不了东西, 这时候我们要进入插入模式 --- --- i 才行


我们发现: 默认配置下的vim 没有缩进, 自动补全等等一些便利的功能

我们已经写了一串代码, 那么我们希望 保存并退出:
首先先进入底行模式, 由插入模式直接切换到底行模式是不建议的.
我们先由插入模式回退到命令模式, 再由命令模式 进入到底行模式 --- --- :(shift + ;)

  • 保存 — — w
  • 退出 — — q


  • 总结

vim多个模式的细节

命令模式

  1. 光标定位

    1. 上下定位
      gg — — 定位到开始行
      (G) shift + g — — 定位到结尾行
      (nG) n + shift + g — — 定位到n行
    2. 左右定位
      ($) shift + 4 — — 定位在所在行的结尾
      (^) shift + 6 — — 定位到所在行的开头
    3. 单词定位
      w — — 按照单词向后进行 行内(跨行)移动
      b — — 按照单词向前进行 行内(跨行)移动
    4. 字符定位
      上下左右箭头
      h j k l
      • h — — 向左移动 (四个字母的最左边的那一个)
      • j — — 向下移动 (jump, 向下跳)
      • k — — 向上移动 (king, 至高无上的)
      • l — — 向右移动(四个字母的最右边的那一个)
  2. 复制, 粘贴, 剪切, 删除, 撤销

    • n + yy — — 复制从光标所在行的n行
    • n + p — — 粘贴n行到光标的下一行
    • 先 n + dd
      后 p — — 剪切光标所在的n行 , 然后复制到光标所在行的下一行
    • n + dd — — 删除光标所在的n行
    • u — — 撤销
    • ctrl + u — — 撤销之前的撤销
  3. 修改

    • shift + ~ — — 大小写转换
    • n + r + 字符 — — 将光标所在行的光标所在位置(包括光标)后面的n个字符转换成 改字符
    • (R)shift + r — — 进入替换模式 (esc 回退到命令模式)
    • n + x — — 将光标所在行的光标所在位置(包括光标)后面的n个字符删掉

底行模式

  1. ! — — 具有强制的意思, q! --- --- 强制退出, w! --- --- 强制保存

    • /xxx — — 查找 xxx
    • ! ls — — 查看当前目录下的内容
    • ! gcc 文件 — — 编译该文件
    • ! gcc ./a.out — — 执行结果

  2. 显示行号

    • set nu — — 显示行号
    • set nonu — — 不显示行号

3 . 多文件操作
* vs 文件 — — 多窗口操作
* ctrl + ww — — 窗口切换

在底行模式下输入 vs code1.c👇👇👇

在这里插入图片描述
每一个窗口都是独立的, 光标在哪一个窗口, 就对那个窗口进行操作

当我们对 code1.c直接进行 q, 对test.c 进行 wq👇👇👇

  • 这从侧面说明了:
  1. 每个窗口是独立的
  2. vim默认是不会创建文件的, 除非保存了

vim的配置

  • 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
  • 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,
    通常已经存在一个.vimrc文件,如果不存在,则创建之。
  • 切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
  • 打开自己目录下的.vimrc文件,执行 vim .vimrc

我们发现家目录下, 没有 .vimrc文件, 没关系我们创建一个, 并对vim配置进行测验

设置语法高亮: syntax on
显示行号: set nu
设置缩进的空格数为4: set shiftwidth=4



家目录下的 .vimrc文件 就是用来配置vim的

不过, 感觉这样还是很挫的, 有没有更好的配置方案.
这里给大家推荐一波, 感觉下面的vim配置 更好, 更省事, 一键到位

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

只有忍得住寂寞, 才能见明日的繁华

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

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

相关文章

简要介绍 | 单目深度估计

注1:本文系“简要介绍”系列之一,仅从概念上对单目深度估计进行非常简要的介绍,不适合用于深入和详细的了解。 注2:"简要介绍"系列的所有创作均使用了AIGC工具辅助 探索视觉世界的无限可能:单目深度估计介绍…

CANopen SDO下载

文章目录 CANopen SDO 下载SDO下载协议SDO下载启动协议SDO分段下载协议参考 CANopen SDO 下载 CANopen SDO下载分为快速(expedited)和正常(normal)两种,平时我们写对象字典基本都在用SDO快速下载(适用于写…

网络安全竞赛——Windows服务漏洞扫描与利用

1.通过渗透机Kali Linux对靶机场景Windows 7进行系统服务及版本扫描渗透测试,并将该操作显示结果中3389端口对应的服务状态信息作为Flag值提交; 进入kali命令控制台中使用如下命令 Flag:open 2.在msfconsole中用search命令搜索 MS12020 RDP拒…

ETCD简介

为什么使用ETCD ETCD简介ETCD发展史ETCD架构etcd数据通道具体交互 ETCD使用场景概念词汇 ETCD简介 现代键值(Key - Value)存储系统,ZooKeeper是历史最悠久的项目,起源于Hadoop。这里ETCD与Zk对比。 ETCD相比与ZK,更加…

【力扣】3、无重复字符的最长子串

3、无重复字符的最长子串 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 //维护左指针,循环右指针 //new map是新建一个哈希表 var lengthOfLongeSubstring function (s){const map new Map();let l 0;let num 0;for(let i …

【微服务架构设计和实现】4.4 数据库和数据存储的分离和服务化

往期回顾: 第一章:【云原生概念和技术】 第二章:【容器化应用程序设计和开发】 第三章:【基于容器的部署、管理和扩展】 第四章:【4.1 微服务架构概述和设计原则】 第四章:【4.2 服务边界的定义和划分…

下载较老版本或最新版本的ARM Linux gcc 交叉编译工具链

前言 如果开发的 ARM 平台比较的多,需要多个版本的 arm gcc 交叉编译工具链,那么如何获取较新版本的 arm gcc 交叉编译工具链呢? 下载现成的 arm gcc 交叉编译工具链 速度较快的,也比较新的,就到 ARM 官方网站下载 …

突破 Python 爬虫的瓶颈:WebKit 在线模拟技术与环境搭建

部分数据来源:ChatGPT 引言 在使用 Python 进行爬虫开发的时候,很多情况下我们需要利用一些浏览器内核来模拟浏览器行为。而目前最为常用的两种浏览器内核是基于 WebKit 和基于 Chromium 的内核。那么在 Windows 10 操作系统中,我们可以使用 Anaconda 作为 Python 的发行版…

mysql的一些使用语句写法

记录一下,方便自己以后查看,以后会随时添加 1,查询重复数据 select project_id,house_location,count(*) from house_price group by house_location having count(house_location)>1; 2,删除重复的数据,并保留一条…

MySQL(六):基本的SELECT语句

基本的SELECT语句 前言一、SELECT...二、SELECT ... FROM三、列的别名四、去除重复行五、空值参与运算六、着重号七、查询常数八、显示表结构九、过滤数据 前言 本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主&#…

串口协议说明

文章目录 关系波特率概念波特率相对误差UART误差保证 协议常见的串行接口协议之间的比较USB 转串口PL2303USB 转串口CP2102USB转232终端电阻 串口电平TTL电平485电平 帧奇偶校验 关系 两个半双工,一发一收,就是Uart 在一根线的基础上,多加一…

【Git原理与使用】

🎉实战项目:Git原理与使用 博主主页:桑榆非晚ᴷ 博主能力有限,如果有出错的地方希望大家不吝赐教 给自己打气:成功没有快车道,幸福没有高速路。所有的成功,都来自不倦地努力和奔跑&#xff0c…

人机交互学习-10 评估的基础知识

评估的基础知识 背景评估目标和原则评估目标评估的优点评估的目标 评估原则 评估范型和技术“范型”与“技术”评估范型快速评估可用性测试实地研究预测性评估评估范型比较 评估技术评估范型和技术的关系 评估方法的选择区分评估技术的因素评估技术的分类评估方法组合 评估步骤…

CTFshow-pwn入门-Test_your_nc

pwn0 靶场环境启动开,显示ssh连接。 直接打开ctfshow的pwn专用虚拟机来使用ssh连接。密码是123456。 连接之后,他会出现这样的一大堆的介绍性文字,不用管他,然他输出完就行。 中间还用各种语言说了一下“消灭人类暴政&#xff…

Python+Qt桌面端与网页端人工客服沟通工具

程序示例精选 PythonQt桌面端与网页端人工客服沟通工具 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<PythonQt桌面端与网页端人工客服沟通工具>>编写代码&#xff0c;代码整洁…

java swing 购物系统 简要文档 idea eclipse双版本

java swing 购物系统 简要文档 idea eclipse双版本 安装包等资源项目源码项目安装包部署教程 图片演示添加商品类别界面添加商品界面查询商品界面未登录主界面管理员登录界面注册会员界面购买商品界面商品类别管理界面 核心代码CustomerAddInterFrm.javaMainFrm.javaManagerLog…

单片机基于 Linux 环境下的Makefile 工程管理和工具链配置

一、开发环境 开发板&#xff1a;stm32f407 编译环境&#xff1a;18.04.6 LTS 工具链&#xff1a;gcc-arm-none-eabi, gcc-arm-none-objcopy 二、工具链下载和安装 下载地址&#xff1a;&#xff08;下载64位linux版&#xff09; https://launchpad.net/gcc-arm-embedded/downl…

从零开始Vue项目中使用MapboxGL开发三维地图教程(五)加载点、线、面图层以及三维面图层(白模)

目录 1、加载点图层2、加载线和面图层3、加载三维面图层&#xff08;白模&#xff09; 1、加载点图层 开发地图应用时&#xff0c;加载POI等点状数据&#xff0c;显示文字或者图标信息&#xff0c;mapbox-gl对应使用的是符号图层&#xff08;symbol&#xff09;&#xff0c;下面…

Modbus通信介绍 网络高级工具使用

目录 Modbus简介 ModbusTCP协议格式 》1.报文头&#xff08;共7字节&#xff09; 》2.功能码 》3.数据 练习&#xff1a;读传感器数据&#xff0c;读1个寄存器数据&#xff0c;写出主从数据收发协议。 练习&#xff1a;写出控制IO设备开关的协议数据&#xff0c;操作1个…

ansible学习

在物理机查看环境&#xff0c;[kioskfoundation0 ~]$ cat /etc/rht 先清空当前环境&#xff0c;[kioskfoundation0 ~]$ rht-clearcourse 0 再切换rh294环境&#xff0c;[kioskfoundation0 ~]$ rht-setcourse rh294 验证环境是否切换成功&#xff0c;[kioskfoundation0 ~]$ cat…