Linux速览(2)——环境基础开发工具篇(其一)
本章我们来介绍一些linux的常用工具
目录
一. Linux 软件包管理器 yum
1.什么是软件包?
2. 查看软件包
3. 如何安装软件
4. 如何卸载软件
5.yum补充
6. 关于 rzsz
二. Linux编辑器-vim使用
1. vim的基本概念
2. vim的基本操作
3. vim正常模式命令集
4. vim末行模式命令集
5. vim操作总结
6. 简单vim配置
7.补充
一. Linux 软件包管理器 yum
1.什么是软件包?
(1)在Linux 下安装软件 , 一个通常的办法是下载到程序的源代码 , 并进行编译 , 得到可执行程序 ,但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好 , 做成软件包 ( 可以理解成 windows 上的安装程序)放在一个服务器上 , 通过包管理器可以很方便的获取到这个编译好的软件包 , 直接进行安装。(2)软件包和软件包管理器, 就好比 "App" 和 " 应用商店 " 这样的关系 .(3)yum(Yellow dog Updater, Modified)是 Linux 下非常常用的一种包管理器 . 主要应用在 Fedora, RedHat, Centos等发行版上 .
(1)关于 yum 的所有操作必须保证主机 ( 虚拟机 ) 网络畅通 !!!(2)可以通过 ping 指令验证ping www.baidu.com
2. 查看软件包
yum list | grep lrzsz
lrzsz.x86_64 0.12.20-36.el7 @base
(1)软件包名称: 主版本号 . 次版本号 . 源程序发行号 - 软件包的发行号 . 主机平台 .cpu 架构 .(2)"x86_64" 后缀表示 64 位系统的安装包 , "i686" 后缀表示 32 位系统安装包 . 选择包时要和系统匹配 .(3)"el7" 表示操作系统发行版的版本 . "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.(4)最后一列, base 表示的是 " 软件源 " 的名称 , 类似于 " 小米应用商店 ", " 华为应用商店 " 这样的概念 .
3. 如何安装软件
sudo yum install lrzsz
(1)安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成 .(2)yum安装软件只能一个装完了再装另一个 . 正在 yum 安装一个软件的过程中 , 如果再尝试用 yum 安装另外一个软件, yum 会报错 .(3)如果 yum 报错 , 请根据情况进行 百度 .
4. 如何卸载软件
sudo yum remove lrzsz
5.yum补充
6. 关于 rzsz
这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件 .安装完毕之后可以通过拖拽的方式将文件上传过去.
6.1 安装
yum list | grep rzsz
查找到需要安装的版本:
然后输入以下命令进行安装:
yum install lrzsz.x86_64
(2)在普通账户下:
sudo yum install -y lrzsz.x86_64
6.2 使用
(1)接收文件
方法一:直接拖拽
就是直接将文件拖拽到终端就可以了
rz
在弹出的窗口中选择文件即可~~
(2)发送文件
sz
选择要发的文件即可
二. Linux编辑器-vim使用

1. vim的基本概念
(1)正常/普通/命令模式(Normal mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode 下,或者到 last line mode(2)插入模式(Insert mode)输入 i 进入该模式,只有在Insert mode 下,才可以做文字输入,按「 ESC 」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。(3)末行模式(last line mode)文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下, shift + : 即 可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入 :help vim-modes
2. vim的基本操作
vim test.c
注意:
进入vim之后,是处于[正常模式],要切换到[插入模式]才能够输入文字。
2.1 [正常模式]切换至[插入模式]
(1)输入a(2)输入i(3)输入o
2.2 [插入模式]切换至[正常模式]
(1)目前处于[插入模式 ] ,就只能一直输入文字,如果发现输错了字 ,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到 [ 正常模式 ] 再删除文字。当然,也可以直接删除。
2.3 [正常模式]切换至[末行模式]
(1)「shift + ;」 , 其实就是输入「 : 」
2.4 退出vim及保存文件
(1): w (保存当前文件)(2): wq (输入「wq 」 , 存盘并退出 vim)(3): q! (输入q!, 不存盘强制退出 vim)
3. vim正常模式命令集
3.1 插入模式
(1)按「 i 」切换进入插入模式「 insert mode 」,按 “i” 进入插入模式后是从光标当前位置开始输入文件;(2)按「 a 」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;(3)按「 o 」进入插入模式后,是插入新的一行,从行首开始输入文字。
3.2 从插入模式切换为命令模式
(1)按「 ESC 」键。
3.3 移动光标
(1)vim可以直接用键盘上的光标来上下左右移动,但正规的 vim 是用小写英文字母「 h 」、「 j」、「k 」、 「l 」,分别控制光标左、下、上、右移一格。(2)按「G 」:移动到文章的最后。(3)按「 $ 」:移动到光标所在行的 “ 行尾 ”。(4)按「^ 」:移动到光标所在行的 “ 行首 ”。(5)按「w 」:光标跳到下个字的开头。(6)按「e 」:光标跳到下个字的字尾。(7)按「b 」:光标回到上个字的开头。(8)按「#l 」:光标移到该行的第 # 个位置,如: 5 l, 56 l(9)按[gg ]:进入到文本开始。(10)按[shift + g ]:进入文本末端。(11)按「ctrl 」 + 「 b 」:屏幕往 “ 后 ” 移动一页。(12)按「ctrl 」 + 「 f 」:屏幕往 “ 前 ” 移动一页。(13)按「ctrl 」 + 「 u 」:屏幕往 “ 后 ” 移动半页。(14)按「ctrl 」 + 「 d 」:屏幕往 “ 前 ” 移动半页。
3.4 删除文字
(1)「x 」:每按一次,删除光标所在位置的一个字符(2)「#x 」:例如,「 6x 」表示删除光标所在位置的 “ 后面(包含自己在内) ”6 个字符(3)「X 」:大写的 X ,每按一次,删除光标所在位置的 “ 前面 ” 一个字符(4)「#X 」:例如,「 20X 」表示删除光标所在位置的 “ 前面 ”20 个字符(5)「dd 」:删除光标所在行(6)「#dd 」:从光标所在行开始删除 # 行
3.5 复制
(1)「yw 」:将光标所在之处到字尾的字符复制到缓冲区中。(2)「#yw 」:复制 # 个字到缓冲区(3) 「yy 」:复制光标所在行到缓冲区。(4) 「#yy 」:例如,「 6yy 」表示拷贝从光标所在的该行 “ 往下数 ”6 行文字。(5) 「p 」:将缓冲区内的字符贴到光标所在位置。注意:所有与 “y” 有关的复制命令都必须与“p” 配合才能完成复制与粘贴功能。
3.6 替换
(1)「r 」:替换光标所在处的字符。(2)「R 」:替换光标所到之处的字符,直到按下「 ESC 」键为止。
3.7 撤销上一次操作
(1)「u 」:如果您误执行一个命令,可以马上按下「 u 」,回到上一个操作。按多次 “u” 可以执行多次回复。(2)「ctrl + r 」 : 撤销的恢复
3.8 更改
(1)「cw 」:更改光标所在处的字到字尾处(2)「c#w 」:例如,「 c3w 」表示更改 3 个字
3.9 跳至指定的行
(1)「ctrl 」 + 「 g 」列出光标所在行的行号。(2)「#G 」:例如,「 15G 」,表示移动光标至文章的第 15 行行首。
4. vim末行模式命令集
4.1 列出行号
(1)「set nu 」 : 输入「 set nu 」后,会在文件中的每一行前面列出行号。
4.2 跳到文件中的某一行
(1) 「# 」 : 「 # 」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字 15 ,再回车,就会跳到文章的第15 行。
4.3 查找字符
(1)「/ 关键字」 : 先按「 / 」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按(2)「n 」会往后寻找到您要的关键字为止。(3)「? 关键字」:先按「 ? 」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n 」会往前寻找到您要的关键字为止。
4.4 保存文件
(1)「w 」 : 在冒号输入字母「 w 」就可以将文件保存起来
4.5 离开vim
(1) 「q 」:按「 q 」就是退出,如果无法离开 vim ,可以在「 q 」后跟一个「 ! 」强制离开 vim 。(2)「wq 」:一般建议离开时,搭配「 w 」一起使用,这样在退出的时候还可以保存文件。
5. vim操作总结

6. 简单vim配置
6.1 配置文件的位置
(1)在目录 /etc/ 下面,有个名为 vimrc 的文件,这是系统中公共的 vim 配置文件,对所有用户都有效。(2)而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为: “.vimrc” 。例如, /root 目录下,通常已经存在一个.vimrc 文件 , 如果不存在,则创建之。(3)切换用户成为自己执行 su ,进入自己的主工作目录 , 执行 cd ~(4)打开自己目录下的 .vimrc 文件,执行 vim .vimrc
6.2 常用配置选项,用来测试
(1)设置语法高亮 : syntax on(2)显示行号 : set nu(3)设置缩进的空格数为 4: set shiftwidth=4
6.3 使用插件
(1)安装 TagList 插件 , 下载 taglist_xx.zip , 解压完成,将解压出来的 doc 的内容放到~ /.vim/doc, 将解压出来的plugin 下的内容拷贝到~ /.vim/plugin(2)在~ /.vimrc 中添加 :let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 let Tlist_Use_Right_Window=1
(3)安装文件浏览器和窗口管理器插件: WinManager
(4)下载 winmanager.zip , 2.X 版本以上的(5)解压 winmanager.zip ,将解压出来的 doc 的内容放到~ /.vim/doc, 将解压出来的 plugin 下的内容拷贝到~/.vim/plugin(6)在~ /.vimrc 中添加:let g:winManagerWindowLayout=‘FileExplorer|TagList nmap wm :WMToggle<cr>
(7)然后重启vim,打开~/XXX.c或~/XXX.cpp, 在normal状态下输入"wm", 你将看到上图的效果。更具体移步:点我, 其他手册,请执行 vimtutor 命令。
6.4 参考资料
7.补充

相关文章:

Linux速览(2)——环境基础开发工具篇(其一)
本章我们来介绍一些linux的常用工具 目录 一. Linux 软件包管理器 yum 1.什么是软件包? 2. 查看软件包 3. 如何安装软件 4. 如何卸载软件 5.yum补充 6. 关于 rzsz 二. Linux编辑器-vim使用 1. vim的基本概念 2. vim的基本操作 3. vim正常模式命令集 4. vim末行模式…...

AWS SES发送邮件时常见的错误及解决方法?
AWS SES发送邮件如何做配置?使用AWS SES发信的限制? 在使用AWS SES发送邮件时,可能会遇到一些常见的错误。AokSend将介绍一些常见的AWS SES发送邮件错误及其相应的解决方法,帮助用户更好地利用AWS SES进行邮件发送。 AWS SES发送…...
视频基础学习三——视频帧率、码率与分辨率
文章目录 前言一、介绍1.定义2.三者之间的关系 总结 前言 在之前的文章中详细介绍了一些关于图像的色彩与格式,而视频其实就是由一张张图片进行展示呈现出来的。 我们会经常说一段视频的质量好不好,而什么是视频的质量呢?博主的个人理解就是…...

Spring(详细介绍)
目录 一、简介 1、什么是Spring? 2、Spring框架的核心特性 3、优点 二、IOC容器 介绍 1、获取资源的传统方式 2、控制反转方式获取资源 3、DI 4、IOC容器在Spring中的实现 入门案例 1、创建Maven Module 2、引入依赖 3、创建HelloWorld类 4、在Spring的配…...

Kettle使用
1.准备工作 KETTLE-5.4.zip HANA环境192.168.xx.xx 用户名:system 密码:****** 端口号:30015 Oracle环境 192.168.xx.xx 用户名 HANA_TEST 密码 ****** 端口号:31001 配置java环境变量 因为本次数据转换测试为将HANA数据转换到Or…...
互联网摸鱼日报(2024-04-01)
互联网摸鱼日报(2024-04-01) 36氪新闻 「矽迪半导体」获数千万天使轮融资,提供高效功率半导体方案|硬氪首发 本周双碳大事:国资委即将发布央企ESG指导意见;上海发文推动建立产品碳足迹管理体系;隆基新硅片面世 数字…...

pnpm比npm、yarn好在哪里?
前言 pnpm对比npm/yarn的优点: 更快速的依赖下载更高效的利用磁盘空间更优秀的依赖管理 我们按照包管理工具的发展历史,从 npm2 开始讲起: npm2 使用早期的npm1/2安装依赖,node_modules文件会以递归的形式呈现,严格…...
大前端-postcss安装使用指南
PostCSS 是一款强大的 CSS 处理工具,可以用来自动添加浏览器前缀、代码合并、代码压缩等,提升代码的可读性,并支持使用最新的 CSS 语法。以下是一份简化的 PostCSS 安装使用指南: 一、安装 PostCSS 在你的项目目录中,…...

全局UI方法-弹窗三-文本滑动选择器弹窗(TextPickDialog)
1、描述 根据指定的选择范围创建文本选择器,展示在弹窗上。 2、接口 TextPickDialog(options?: TextPickDialogOptions) 3、TextPickDialogOptions 参数名称 参数类型 必填 参数描述 rang string[] | Resource 是 设置文本选择器的选择范围。 selected nu…...
LibreOffice 将word,excel,PowerPoint文件转换PDF
安装LibreOffice并将Word和Excel文件转换为PDF文件,并设置文件存放路径的步骤如下: 1. 安装LibreOffice 如果尚未安装LibreOffice,可以通过以下命令在Ubuntu上安装: sudo apt update sudo apt install libreoffice 2. 使用Li…...

鱼眼相机的测距流程及误差分析[像素坐标系到空间一点以及测距和误差分析]
由于最近在整理单目测距的内容,顺手也总结下鱼眼相机的测距流程和误差分析,如果有错误,还请不吝赐教。 参考链接: 鱼眼镜头的成像原理到畸变矫正(完整版) 相机模型总结(针孔、鱼眼、全景) 三维…...
谈谈Python中的列表、元组、字典和集合的主要区别和用法
谈谈Python中的列表、元组、字典和集合的主要区别和用法 Python是一种功能强大且易于学习的编程语言,它提供了多种数据结构来支持各种编程需求。其中,列表(list)、元组(tuple)、字典(dictionar…...
【WPF应用24】C#中的Image控件详解与应用示例
在C#应用程序开发中,图像显示是一个常见的需求。无论是创建图形界面还是处理图像数据,System.Windows.Controls.Image控件都是实现这一目标的重要工具。本文将详细介绍Image控件的功能、用法、优化技巧以及一些实际应用示例,帮助开发者更好地…...

CTF题型 php://filter特殊编码绕过小汇总
CTF题型 php://filter特殊编码绕过小汇总 文章目录 CTF题型 php://filter特殊编码绕过小汇总特殊编码base64编码string过滤器iconv字符集 例题1.[Newstarctf 2023 week2 include]2.[Ctfshow web 117] php://filter 是一个伪协议,它允许你读取经过过滤器处理的数据流…...

【嵌入式智能产品开发实战】(十二)—— 政安晨:通过ARM-Linux掌握基本技能【C语言程序的安装运行】
目录 程序的安装 程序安装的本质 在Linux下制作软件安装包 政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 收录专栏: 嵌入式智能产品开发实战 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正…...

网络编程的学习1
网络编程 在网络通信协议下,不同计算机上运行的程序,进行数据传输。 三要素 ip:设备在网络中的地址,是唯一的标识。 ipv4:采取32位地址长度,分成4组。 ipv6:采用128位地址长度,分成8组。 …...
spark log4j日志文件动态参数读取
需要在log4j xml文件中设置动态参数,并支持spark任务在集群模式下,动态参数读取正常; 1.log4j配置文件 log4j2.xml <?xml version"1.0" encoding"UTF-8"?> <Configuration status"info" name&quo…...
设计模式,装修模式,Php代码演示,优缺点,注意事项
装饰模式(Decorator Pattern)是一种结构型设计模式,它允许动态地向一个现有对象添加新的功能或行为,而不改变其原始结构。在 PHP 中,可以使用类的继承和组合来实现装饰模式。下面是一个简单的 PHP 装饰模式示例代码&am…...
ubuntu下vscode ctrl+tab松开ctrl后不自动选中文件
vscode用ctrltab切换文件时,松开ctrl键后会自动选中切换的文件。 但是在ubuntu下发现有时不能自动选中切换的文件,需要再次按enter键才能打开文件。 经过测试发现解决方法有两个: 方法1:确认wayland状态,关闭wayland…...
【云开发笔记No.19】关于中台架构(1)
在云开发领域,中台架构是一种至关重要的组织架构,它为企业提供了一种灵活且高效的方式来应对市场的快速变化。下面将详细阐述中台架构的定义、起源、定位和价值。 中台架构的定义 中台架构是指在企业信息系统中,将业务流程、数据和应用系统…...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

AI Agent与Agentic AI:原理、应用、挑战与未来展望
文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...

selenium学习实战【Python爬虫】
selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...
Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信
文章目录 Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket(服务端和客户端都要)2. 绑定本地地址和端口&#x…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...

基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...