【Linux】7.Linux基础开发工具使用(1)

文章目录

  • 1. Linux 软件包管理器 yum
    • 1.1 什么是软件包
    • 1.2 关于 rzsz
    • 1.3 查看软件包
    • 1.4 如何安装软件
    • 1.5 如何卸载软件
    • 我怎么知道要安装什么软件呢?
    • 常用命令对照表:
  • 2. Linux开发工具
    • Linux编辑器-vim使用
    • 2.1 vim的基本概念
    • 命令模式:
    • 2.2 简单vim配置


1. Linux 软件包管理器 yum

1.1 什么是软件包

Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序。

但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装。软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系。

yum(Yellow dog Updater, Modified)Linux下非常常用的一种包管理器。主要应用在Fedora, RedHat, Centos等发行版上。

Ubuntu下面就不是yum了,而是apt

Linux安装软件:

  1. 源代码安装
  2. rpm安装 – Linux安装包
  3. yum/apt安装 – 解决安装源,安装版本,安装依赖

Linux生态:

  1. 开源,是一种商业战略
  2. 开源,有时候也挺贵

新人做操作系统的选型:

  1. 生态好

站在操作系统设计者和推动者的角度,他们应该干什么?

应该积极的推动,让生态更加完整。


1.2 关于 rzsz

这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件。

安装完毕之后可以通过拖拽的方式将文件上传过去。

注意事项

关于 yum /apt的所有操作必须保证主机(虚拟机)网络畅通!!!

可以通过 ping 指令验证

ping www.baidu.com

7b3091934764d10df44b4f2160303fc4


1.3 查看软件包

通过 apt list 命令可以罗列出当前一共有哪些软件包。由于包的数目可能非常之多, 这里我们需要使用 grep 命令只筛选出我们关注的包。

例如:

Centos

yum list | grep lrzsz

结果如下:

lrzsz.x86_64 0.12.20-36.el7 @base

注意事项:

软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构。

“x86_64” 后缀表示64位系统的安装包, “i686” 后缀表示32位系统安装包。选择包时要和系统匹配。

“el7” 表示操作系统发行版的版本. “el7” 表示的是 centos7/redhat7。“el6” 表示 centos6/redhat6。

最后一列, base 表示的是 “软件源” 的名称, 类似于 “小米应用商店”, “华为应用商店” 这样的概念。


Ubuntu

apt list | grep lrzsz

5296f8e145466b98bc22ee773d442aa3

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
# 这是提示apt命令的接口可能会变化,如果你要在脚本中使用,需要谨慎。这只是一个提示,不影响使用。
lrzsz/focal 0.12.21-10 amd64

这行表示找到了lrzsz包,具体信息是:

  • lrzsz:包名
  • focal:Ubuntu的发行版代号(Ubuntu 20.04)
  • 0.12.21-10:软件版本号
  • amd64:适用的CPU架构(64位x86架构)

1.4 如何安装软件

Centos

通过 yum, 我们可以通过很简单的一条命令完成 gcc 的安装。

sudo yum install lrzsz

yum 会自动找到都有哪些软件包需要下载, 这时候敲 “y” 确认安装.

出现 “complete” 字样, 说明安装完成.

注意事项:

安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成。

yum安装软件只能一个装完了再装另一个。正在yum安装一个软件的过程中, 如果再尝试用yum安装另外

一个软件, yum会报错。

如果 yum 报错, 请自行百度。


Ubuntu

sudo apt install lrzsz

我们也可以安装个好玩的:

0672c0e93f15359b216be6267763dd62

安装好了之后输入:

sl

就会出现一个会跑的小火车

f653c3cc8c3a0833ffdd3b8ea884f966


1.5 如何卸载软件

仍然是一条命令:

Centos

sudo yum remove lrzsz

Ubuntu

sudo apt remove lrzsz

我怎么知道要安装什么软件呢?

不知道,但是当自己需求到了,就自然而然的去安装了。


源(软件源/软件仓库)是存放软件包的服务器,它包含了系统所需的各种软件包(RPM格式)。简单来说就是一个软件包的集合点。

Centos里面是yum源,Ubuntu里面是APT源。

一般来说,源默认是国外的,这可能会导致源的访问比较慢,虚拟机的话可能需要更新一下源或者替换源。

云服务器的话,一般厂商已经替换过源了。


常用命令对照表:

功能            Ubuntu(apt)             CentOS(yum)
更新软件包列表   apt update              yum makecache
安装软件        apt install package     yum install package
删除软件        apt remove package      yum remove package
升级系统        apt upgrade             yum update
搜索软件        apt search keyword      yum search keyword
查看软件信息     apt show package        yum info package

2. Linux开发工具

Linux编辑器-vim使用

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。我们统一按照vim来进行讲解。


2.1 vim的基本概念

vim有很多模式,我们掌握三个就可以了:命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

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

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

插入模式(Insert mode)

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

末行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。

要查看你的所有模式:打开vim,底行模式直接输入

:help vim-modes

415c12b86017a26f045a2c3602b794b6

刚打开的时候是命令模式(默认模式),用户所有的输入都会被当作命令,一般不会作为文本输入。

330e7e078070bef61f7fe27775cc42f5

输入:i,进入插入模式

a9f8b1c71f94a04aacb2659f3f130ddf

从插入模式退出到命令模式按Esc键就可以了。

9708b838ee2067afd845784f1c54f26b

不过我们想要退出要从末行模式退出。

命令模式下,按:Shift+;就进入末行模式了。这个时候会出现一个

输入wq回车,就可以退出了。

e85043a6636799b277bdcb0d35a18fac

这里不推荐使用奇怪的快捷键退出。当时可能没事,一段时间后可能会导致一些奇怪的bug。

29838218cf25e0c76e10663b5232c5ca


命令模式:

常用命令模式:

gg:定位光标到最开始行

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

n+shift+g(nG):光标定位到n

shift+$:定位光标到当前行结尾。

shift+^:定位光标到当前行开头。

shift+~:将当前行小写转大写。

shift+R:批量化替换模式(把当前行替换,不需要删除操作)也叫替换模式,对内容进行整体替换 --> 第四种模式

w,b:光标按照单词进行行内跨行移动

h,j,k,l:左,下,上,右

(n)yy:复制光标所在的n

(n)p:粘贴(n重复行)到光标所在行的下一行

(n)r:将光标后的字符批量替换

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

dd:剪切,删除

u:撤销

Ctrl+R:撤销之前的撤销


我们如果想要分屏写代码也可以。

:vs test1.c

test1.c不存在的话就会默认生成然后打开,存在的话就会打开。

2ea98bff0b0f6366cdacd4f3958abebe

光标在哪里就在那里写代码。

Ctrl+www:窗口光标的切换。

我们也可以把原来的代码复制过去。

10yy,Ctrl+www,p

397834f052bf5eb5f1797b8a30ecb129

光标在哪个窗口里面,就对哪个窗口进行操作,退出也是。

:w!:强制保存

:q!:强制退出

:wq!:强制保存并退出

:set nu:调出行号

8c8217e0d5a6eee0aefb807fb6a72b8f

68fbb6dcb0b4885adb57576613189470

:set nonu:去掉行号


2.2 简单vim配置

配置文件的位置

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

而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。

切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~

打开自己目录下的.vimrc文件,执行 vim .vimrc

常用配置选项,用来测试

  • 设置语法高亮: syntax on

  • 显示行号: set nu

  • 设置缩进的空格数为4: set shiftwidth=4

一个用户一个vim的配置文件,不会互相影响。不建议给root做配置。

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

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

相关文章

漫话架构师|什么是系统架构设计师(开篇)

~犬📰余~ “我欲贱而贵,愚而智,贫而富,可乎? 曰:其唯学乎” 关注犬余,共同进步 技术从此不孤单

DevOps实用场景:在哪些业务中应用DevOps最有效

随着科技的迅猛发展和客户需求的不断变化,IT初创公司在不断追求更高的效率、更快速的交付和更强的市场适应力。在这个背景下,DevOps成为了推动组织成功的关键策略之一。本文将帮助您了解什么是DevOps,哪些团队或企业最适合实施DevOps&#xf…

如何学习网络安全?有哪些小窍门?

学好网络安全其实没有所谓的捷径,也没有什么小窍门。 入门网络安全首先要有浓厚的学习兴趣,不然很容易就变成了从入门到放弃了。 其次要能静下心,踏踏实实的打好基础。如果你是零基础,建议从Web安全入手,课程难度相对…

Windows下载MySQL8.0

Windows下载MySQL8.0 MySQL :: Download MySQL Installer (Archived Versions) 在这个网页中选择相应的版本,点击下载即可。 但是在下载之前需要保证: 电脑用户名是英文相应的防火墙要关闭以前的mysql要在系统中卸载干净在控制命令里,以管…

使用Java Socket实现GPS定位数据处理

在许多应用场景中,如车辆追踪、移动设备定位等,GPS定位数据的实时获取和处理至关重要。本文将介绍如何使用Java Socket编程来接收GPS设备发送的数据并进行处理。 业务说明: 车辆追踪系统需要实时获取车辆的GPS定位信息。车辆上的GPS设备通过…

【Unity踩坑】Unity中提示缺少Visual Studio组件

问题: 在Unity中选择UWP平台时,提示Visual Studio缺少组件。 Selected Visual Studio is missing required components and may not be able to build the generated project. 解决方案: 在Visual Studio Installer里,安装上&quo…

ADC(Analog-to-digital converter)模拟-数字转换器

ADC简介 ADC(Analog-to-Digital Converter),即模拟-数字转换器,是一种将模拟信号转换成数字信号的电子设备。它在现代电子系统中扮演着至关重要的角色,广泛应用于传感器信号处理、通信系统、医疗设备、工业自动化等多…

ASP.NET Core - 日志记录系统(二)

ASP.NET Core - 日志记录系统(二) 2.4 日志提供程序2.4.1 内置日志提供程序2.4.2 源码解析 本篇接着上一篇 ASP.NET Core - 日志记录系统(一) 往下讲,所以目录不是从 1 开始的。 2.4 日志提供程序 2.4.1 内置日志提供程序 ASP.NET Core 包括…

从零开始深度学习:(1)张量的常用操作

孩子们,懒大王回来了! 正如标题所说,今天我们继续开始新的篇章,我们要开始高强度学习深度学习的相关内容,这个专栏内容较多、全是干货,我们还会在合适的地方进行拓展一些额外的语法或者别的相关知识&#…

【Idea】编译Spring源码 read timeout 问题

Idea现在是大家工作中用的比较多的开发工具,尤其是做java开发的,那么做java开发,了解spring框架源码是提高自己技能水平的一个方式,所以会从spring 官网下载源码,导入到 Idea 工具并编译,但是发现build的时…

C++|CRC校验总结

参考: Vector - CAPL - CRC算法介绍 开发工具 > CRC校验工具 文章目录 简介CRC-8CRC-16CRC-32 简介 循环冗余校验(Cyclic Redundancy Check,简称CRC)是一种数据校验算法,广泛用于检测数据传输或存储过程中的错误。…

【Linux】11.Linux基础开发工具使用(4)

文章目录 3. Linux调试器-gdb使用3.1 背景3.2 下载安装3.3 使用gdb查询3.4 开始使用 3. Linux调试器-gdb使用 3.1 背景 程序的发布方式有两种,debug模式和release模式 Linux gcc/g出来的二进制程序,默认是release模式 要使用gdb调试,必须…

windows系统“acadres.dll”文件丢失或错误导致游戏运行异常如何解决?windows系统DLL文件修复方法

acadres.dll是存放在windows系统中的一个重要dll文件,缺少它可能会造成部分游戏不能正常运行。当你的电脑弹出提示“无法找到acadres.dll”或“计算机缺少acadres.dll”等错误问题,请不用担心,我们将深入解析DLL文件错误的成因,并…

小程序如何引入腾讯位置服务

小程序如何引入腾讯位置服务 1.添加服务 登录 微信公众平台 注意:小程序要企业版的 第三方服务 -> 服务 -> 开发者资源 -> 开通腾讯位置服务 在设置 -> 第三方设置 中可以看到开通的服务,如果没有就在插件管理中添加插件 2.腾讯位置服务…

【AIGC-ChatGPT进阶提示词指令】心灵修复师:一个基于情感共鸣的智慧对话系统设计

引言 在当今快节奏的生活中,心理健康问题日益凸显。如何借助人工智能技术,构建一个既富有温度又专业可靠的心理支持系统,成为了一个值得深入探讨的课题。本文将详细介绍一个名为"心灵修复师"的对话系统设计,这个系统通…

计算机网络 (44)电子邮件

一、概述 电子邮件(Electronic Mail,简称E-mail)是因特网上最早流行的应用之一,并且至今仍然是因特网上最重要、最实用的应用之一。它利用计算机技术和互联网,实现了信息的快速、便捷传递。与传统的邮政系统相比&#…

《leetcode-runner》【图解】如何手搓一个debug调试器——调试程序【JDI开发】【万字详解】

前文: 《leetcode-runner》如何手搓一个debug调试器——引言 《leetcode-runner》如何手搓一个debug调试器——架构 《leetcode-runner》如何手搓一个debug调试器——指令系统 本文主要聚焦于如何编写调试程序 背景 在leetcode算法背景下,用户只编写了…

小米vela系统(基于开源nuttx内核)——openvela开源项目

前言 在 2024 年 12 月 27 日的小米「人车家全生态」合作伙伴大会上,小米宣布全面开源 Vela 操作系统。同时,OpenVela 项目正式上线 GitHub 和 Gitee,采用的是比较宽松的 Apache 2.0 协议,这意味着全球的开发者都可以参与到 Vela…

【 PID 算法 】PID 算法基础

一、简介 PID即:Proportional(比例)、Integral(积分)、Differential(微分)的缩写。也就是说,PID算法是结合这三种环节在一起的。粘一下百度百科中的东西吧。 顾名思义,…

使用 WPF 和 C# 绘制覆盖网格的 3D 表面

此示例展示了如何使用 C# 代码和 XAML 绘制覆盖有网格的 3D 表面。示例使用 WPF 和 C# 将纹理应用于三角形展示了如何将纹理应用于三角形。此示例只是使用该技术将包含大网格的位图应用于表面。 在类级别,程序使用以下代码来定义将点的 X 和 Z 坐标映射到 0.0 - 1.…