Linux基本开发工具(一)

文章目录

  • Linux基本开发工具(一)
  • Linux安装和卸载软件
    • Linux 软件包管理器 yum
    • 关于sudo命令
    • 关于yum源的换源问题
  • vim编辑器的使用
    • vim三种模式(常见)
    • vim的基本操作
    • vim配置

Linux基本开发工具(一)

Linux安装和卸载软件

Linux和Windows操作系统一样,也要下载和安装一定的软件才能够满足使用,当然不需要太多内容简单提一下会简单安装卸载软件即可。

Linux 软件包管理器 yum

yum源是CentOS下的软件源,如果你使用的是unbuntu或者Debian等系统,则是apt或者其他,具体直接百度即可。

yum list可以显示yum中所有的软件,但由于数量太多,通常要配合grep命令筛选出需要的。

yum list | grep lrzsz

这是个好用的工具,可以通过Windows拖拽的方式直接和Linux传输文件。

这里就演示一下下载和卸载软件的命令:

image-20230805140135098

卸载:

image-20230805135958347

也可以直接在命名后加上-y选项,会直接下载或卸载,不用每次都手动确认。

sudo yum install -y sl
sudo yum remove -y sl

sl是一个好玩的小软件,可以随便下载练手,直接运行sl会跑出来一个小火车。

关于sudo命令

image-20230805140959553

如果你的sudo命名用不了,则需要切换到root用户,在/etc/sudoers文件中将你所使用的用户加入信任名单。

image-20230805141233667

按照格式,在下面加你所需要的用户即可。

关于yum源的换源问题

很多Linux默认的源可能都是国外的,可能在国内速度比较慢,就需要换到国内的源,比如阿里,华为,清华,腾讯等等。关于换源网上也有很多教程,这里就总结一下。

/etc/yum.repos.d/CentOS-Base.repo这个文件就是yum源的文件,可以打开看一下,

image-20230805141624936

很明显就是腾讯的。如果你是国外的,则需要换。

  1. 首先备份一下这个文件,
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  1. 然后下载国内的源,
阿里源(推荐):
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
网易源:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo

还有很多家,包括搜狐,中科大,清华,等等。如果特别想要哪家去网上找即可。

  1. 清理yum缓存
yum clean all
yum makecache
  1. 更新yum源,再验证生效即可。
yum update

vim编辑器的使用

做开发写代码肯定是必不可少的,Linux下经典的文本编辑器就是vim,由于vim真正全部搞明白内容是非常多的,很多其实也用不到,没有必要全部搞懂,通常只需要掌握简单的常用命令即可。下面介绍的也是最基本的操作:

vim三种模式(常见)

首先要认识vim的三种模式(其实有很多模式,只介绍常用的),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)。

  1. 正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode

  1. 插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

  1. 末行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。

vim的基本操作

image-20230805144736851

三种模式之间的转换,熟练掌握。

从正常模式进入插入模式:

按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

命令模式下的操作:

image-20230805145623367

掌握基本命令,能正常写入和操作即可。

vim配置

初始vim是什么都没有的,操作很不方便,如果想要有代码高亮,换行缩进,等等一系列的配置,则需要单独设置。

image-20230805145751329

Vim 的全局配置一般在/etc/vim/vimrc或者/etc/vimrc,对所有用户生效。用户个人的配置在~/.vimrc

建议在用户个人目录下配置。

常见的配置有:

1.设置(软)制表符宽度为4
set tabstop=4
set softtabstop=4
2.设置缩进的空格数为4
set shiftwidth=4
3.设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置:
set autoindent
4.使用 C/C++ 语言的自动缩进方式
set cindent
5.设置C/C++语言的具体缩进方式(以我的windows风格为例):
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
6.显示行号
set nu
7.显示标尺
set ruler
8.将搜索内容反白
set hlsearch
9.可以删除任意值
set backspace=2

如果你的要求不能够完全满足,则可以直接搜索,找到想要的配置写到这个文件里即可。

关于vim的内容很多很多,如果对vim还想进一步了解,这里有一篇比较全的内容,由于是github,要使用代理才能看,直接在网络上搜索也有很多。vim从入门到牛逼(vim from zero to hero)

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

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

相关文章

探秘手机隐藏的望远镜功能:开启后,观察任何你想看的地方

当今的智能手机不仅仅是通信工具,它们蕴藏着各种隐藏的功能,其中之一就是让你拥有望远镜般的观察能力。是的,你没有听错!今天我们将探秘手机中隐藏的望远镜功能,这项神奇的功能可以让你打开后,轻松观察任何…

/usr/bin/ld: 找不到 can‘t find -xxx++

ld是一个链接器文件,后面报错一般都是什么库找不到,so文件 我们去根目录下全局找一下该文件 cd / find -name *libstdc.so*一般都会在lib64下面找到,注意后面带版本号的是实际文件 我们需要把他复制到lib文件下,ld找的是软连接文…

3.01 用户在确认订单页收货地址操作

用户在确认订单页面,可以针对收货地址做如下操作: 1. 查询用户的所有收货地址列表 2. 新增收货地址 3. 删除收货地址 4. 修改收货地址 5. 设置默认地址步骤1:创建对应用户地址BO public class AddressBO {private String addressId;private…

封装上传文件组件(axios,onUploadProgress,取消请求)

目录 定时模拟进度条 方法 A.axios B.xhr 取消请求​​​​​​​ 完整代码 A.自定义上传组件 B.二次封装组件 情况 增加cancelToken不生效,刷新页面 进度条太快->设置浏览器网速 定时模拟进度条 startUpload() {if (!this.file) return;const totalS…

flink kafka消费者如何处理kafka主题的rebalance

背景: 我们日常使用kafka客户端消费kafka主题的消息时,当消费者退出/加入消费者组,kafka主题分区数有变等事件发生时,都会导致rebalance的发生,此时一般情况下,如果我们不自己处理offset,我们不…

Vue3+Vite+Pinia+Naive后台管理系统搭建之九:layout 动态路由布局

前言 如果对 vue3 的语法不熟悉的,可以移步Vue3.0 基础入门,快速入门。 1. 系统页面结构 由 menu,面包屑,用户信息,页面标签,页面内容构建 ​ 2. 创建页面 创建 src/pages/layout.vue 布局页 创建 sr…

python 封装sql 增删改查连接MySQL

select * from Teacher limit 10 连接字符串配置MysqlConfig.py class MysqlConfig:HOST 192.168.56.210PORT 3306USER rootPASSWORD 1qaz0987654321DBStudentDBCHARSET utf8封装增删改查MysqlConnection.py Author: tkhywang 2810248865qq.com Date: 2023-06-19 15:44:48 Las…

VMware Workstation及CentOS-7虚机安装

创建新的虚机: 选择安装软件(这里选的是桌面版,也可以根据实际情况进行选择) 等待检查软件依赖关系 选择安装位置,自主配置分区 ​​​​​​​ 创建一个普通用户 安装完成后重启 点击完成配置,进入登陆界面…

Vue3 列表渲染简单应用

去官网学习→列表渲染 | Vue.js 运行示例&#xff1a; 代码&#xff1a;HelloWorld.vue <template><div class"hello"><h1>Vue 列表渲染</h1><p v-for"item in dataList">{{item}}</p><p v-for"(item,index)…

ros tf

欢迎访问我的博客首页。 tf 1. tf 命令行工具1.1 发布 tf1.2 查看 tf 2.参考 1. tf 命令行工具 1.1 发布 tf 我们根据 cartographer_ros 的 launch 文件 backpack_2d.launch 写一个 tf.launch&#xff0c;并使用命令 roslaunch cartographer_ros tf.launch 启动。该 launch 文件…

认识所有权

专栏简介&#xff1a;本专栏作为Rust语言的入门级的文章&#xff0c;目的是为了分享关于Rust语言的编程技巧和知识。对于Rust语言&#xff0c;虽然历史没有C、和python历史悠远&#xff0c;但是它的优点可以说是非常的多&#xff0c;既继承了C运行速度&#xff0c;还拥有了Java…

zookeeper的部署

一 先下载zookeeper 二 解压包 三 修改配置文件 四 把配好文件传到其他的节点上面 五 在每个节点的dataDir指定的目录下创建一个 myid 的文件 六 配置zook的启动脚本 七 设置开机自启 八 分别启动 九查看当前状态service zookeeper status 十 总结 一 先下载zookeeper …

Vue常见的事件修饰符

1.prevent:阻止默认事件(常用) 2. stop:阻止事件冒泡(常用) 3. once:事件只触发一次(常用) 4.captrue:使用事件的捕捉模式(不常用) 5.self:只有event.target是当前操作的元素时才触发事件(不常用) 6.passive:事件的默认行为立即执行&#xff0c;无需等待事件回调执行完毕(不常用…

网关 GateWay 的使用详解、路由、过滤器、跨域配置

一、网关的基本概念 SpringCloudGateway网关是所有微服务的统一入口。 1.1 它的主要作用是&#xff1a; 反向代理&#xff08;请求的转发&#xff09; 路由和负载均衡 身份认证和权限控制 对请求限流 1.2 相比于Zuul的优势&#xff1a; SpringCloudGateway基于Spring5中…

Go微服务实践 - Rpc核心概念理解

概述 从0研究一下Golang已经Golang的微服务生态体系&#xff0c;Golang的微服务首先要从Rpc开始&#xff0c;在升级到Grpc&#xff0c;详细介绍这些技术点都在解决什么技术问题。 Rpc Rpc (Remote Procedure Call) 远程过程调用&#xff0c;简单的理解是一个节点请求另一个节…

集成学习算法是什么?如何理解集成学习?

什么是集成学习&#xff1f; 集成学习通过建立几个模型来解决单一预测问题。它的工作原理是生成多个分类器/模型&#xff0c;各自独立地学习和作出预测。这些预测最后结合成组合预测&#xff0c;因此优于任何一个单分类的做出预测。 机器学习的两个核心任务 任务一&#xff1…

【JavaEE】Spring Boot - 日志文件

【JavaEE】Spring Boot 开发要点总结&#xff08;3&#xff09; 文章目录 【JavaEE】Spring Boot 开发要点总结&#xff08;3&#xff09;1. 日志有什么作用2. 日志格式2.1 日志框架原理 3. 日志的打印3.1 System.out.println3.2 使用日志框架3.3 日志级别3.3.1 设置默认日志显…

自监督去噪:Noise2Self原理分析及实现 (Pytorch)

文章地址:https://arxiv.org/abs/1901.11365 代码地址: https://github.com/czbiohub-sf/noise2self 要点   Noise2Self方法不需要信号先验信息、噪声估计信息和干净的训练数据。唯一的假设就是噪声在测量的不同维度上表现出的统计独立性&#xff0c;而真实信号表现出一定的…

Vue Router 的query和params的区别?

区别一&#xff1a; &#xff08;1&#xff09;query相当于get请求&#xff0c;页面跳转的时候可以在地址栏看到请求参数 &#xff08;2&#xff09;params相当于post请求&#xff0c;参数不会在地址栏中显示&#xff0c;所以用params传值相对安全 &#xff08;简记&#xff1…

C++ | C++11新特性(上)

目录 前言 一、列表初始化 二、声明 1、auto 2、decltype 3、nullptr 三、STL容器的变化 四、右值引用与移动语义 1、左值与左值引用 2、右值与右值引用 3、右值引用与左值引用的比较 4、右值引用的场景及意义 &#xff08;1&#xff09;做参数 &#xff08;2&a…