当前位置: 首页 > news >正文

Linux开发工具【上】

目录

一、软件包管理器

1.1 什么是软件包

1.2 生态问题

1.3 yum具体操作

1.3.1 查看软件包

1.3.2 安装软件

1.3.3 卸载软件

1.3.4 注意事项

1.4 安装源

二、Vim 

2.1 vim 的三种模式

2.2 命令模式

1)n + gg 

2)n + shift + g :

3)shift + $(4):

4)shift + ^ (6): 

5)方向:hjkl

6)n + w / b

7)n + yy / p

8) u  与 ctrl+  r

9)n + dd

10)n +  x/X

11) shift + ~

12) n +r


一、软件包管理器

1.1 什么是软件包

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

2. 这样很麻烦, 所以有些人把一些常用的软件提前编译好 , 做成软件包 (可以理解成windows 上的安装程序 ) 放在一个服务器上 , 通过包管理器就可以很方便的获取到这个编译好的软件包 , 直接进行安装 。

3 . 软件包 和 软件包管理器  , 就好比 “ APP ” 和 "应用商店"  这样的关系 。 

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

5. Ubuntu : 主要使用apt ( Advanced Package Tool ) 作为其包管理器 。 apt 同样提供了自动解决依赖关系 、 下载 和 安装软件包的功能 。

1.2 生态问题

操作系统的好坏评估 -- 生态问题。

软件包依赖问题:

 国内镜像源:

1)Linux 机器上,有对应的给 yum / apt 提供的配置文件( URL 或者 IP 地址)

2)云服务器的内置的配置文件已经是国内的了。

  以下是⼀些国内Linux软件安装源的官方链接[由文心一言成]:

阿里云镜像源

  • 官方链接:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区
  • 特点:阿里云提供了丰富的Linux发行版镜像,包括CentOS、Ubuntu、Debian等,用户可以通过该镜像站快速下载和更新软件包。

清华大学开源软件镜像站

  • 官方链接:清华大学开源软件镜像站 | Tsinghua Open Source Mirror
  • 特点:清华大学镜像站提供了多种Linux发行版的镜像,以及Python、Perl、Ruby等编程语言的扩展包。它位于北方,对北方用户较为友好,且学术网络优化较好。

中国科学技术大学开源镜像站

  • 官方链接:USTC Open Source Software Mirror
  • 特点:中科大镜像站提供了多种Linux发行版的镜像,以及常用的编程语言和开发工具。它位于华东地区,对华东用户较为友好,且IPv6支持完善。

网易开源镜像站

  • 官方链接:欢迎访问网易开源镜像站
  • 特点:网易镜像站提供了多种Linux发行版的镜像,以及相关的软件仓库和工具。它位于华南地区,对华南用户较为友好,且是老牌稳定的镜像源。

腾讯云镜像源

  • 官方链接:腾讯软件源
  • 特点:腾讯云也提供了针对多种Linux发行版的镜像源,用户可以通过该镜像站快速下载和更新软件包。它位于华南/华东地区,BGP线路优化较好。

其他高校及机构镜像源

  • 上海交通大学开源镜像站:Index of /
  • 北京交通大学自由与开源软件镜像站:首页 - 北京交通大学自由与开源软件镜像站
  • 中国科学院软件研究所镜像站:http://mirror.iscas.ac.cn

这些镜像源都提供了丰富的Linux软件资源,用户可以根据自己的地理位置和网络环境选择合适的镜像源进行使用。在使用时,用户需要替换系统中的默认源列表文件(如/etc/apt/sources.list/etc/yum.repos.d/目录下的文件)中的官方源地址为相应的国内镜像源地址,并更新软件包列表以确保能够正确下载和安装软件包。

1.3 yum具体操作

1.3.1 查看软件包

yum list | grep XXX   //centosapt search XXX       //ubuntu

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

2.  “x86 64"后缀表示64位系统的安装包,"686"后缀表示32位系统安装包 , 选择包时要和系统匹配

3.  "el7"表示操作系统发行版的版本  ,   "el7'表示的是 centos7/redhat7 ,   "el6"表示 centos6/redhat6.

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

1.3.2 安装软件

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

2.  yum/apt安装软件只能一个装完了再装另一个 , 正在yum/apt安装一个软件的过程中 , 如果再尝试用yum/apt安装另外一个软件,yum/apt会报错


3.  如果 yum/apt报错,请自行百度

sudo yum install -y XXXX    //Centos
sudo apt install -y XXXX    //Ubuntu

1) yum / apt 会自动找到都有那些软件包需要下载 , 这时候敲 'y' 确认安装。

2)出现 ”complete“ 字样或者中间未出现报错 , 说明安装完成

问 : 在张三的用户下装了一个软件 , 李四能用吗?王五能用吗?

先明确一点,不是张三安装的 , 是root 安装的 。 就算是在张三用户下,安装也要进行指令提权, 以root 权限安装的 。所以李四、王五都能用 。 总而言之 , Linux 下软件只要安装一次,other 都能用!!!

1.3.3 卸载软件

仍然是⼀条命令 : 

sudo yum remove [-y] XXXXX  //cemtos
sudo apt remove [-y] XXXXX  //ubuntu

1.3.4 注意事项

关于 yum / apt 的所有操作必须保证主机(虚拟机)网络畅通!!!(如果是买的云服务器就不需要担心这个,因为云服务器24小时一直联网)

可以通过 ping 指令验证 :

ping www.baidu.com//当天 yum / apt 也能离线安装,但是和我们当前无关,暂不关心

1.4 安装源

centos安装源路径:

CentOS-Base.repo # 标准源
epel.repo # 扩展源
/etc/yum.repos.d/

ubuntu 安装源路径:

cat /etc/apt/sources.list # 标准源
$ ll /etc/apt/sources.list.d/ # 扩展源
# ubuntu 安装扩展源,就结合未来具体场景

知识拓展:

我们得知道,软件刚开发出来的时候,不会直接丢到 核心的软件源 的地方 , 而是会放在一个扩展软件源 。 直到软件被时间验证了,安全性得以验证 , 才会被放在核心软件源里。

注:扩展软件不单单只有一个 。如果没有epel.repo , 可以下载一下 。如果没有epel.repo这个软件源 , 可能有一些想要的软件安装不了 。

sudo yum install -y epel-release

如何切换软件源?

切换软件源 ->  本质上就是替换配置文件。

应该安装什么软件呢?

根据需求安装 。 不过可以玩一下 一些好玩的软件 :Linux下的好玩的命令-CSDN博客

二、Vim 

1. vim 是一个专注的编辑器

2. vim 支持多模式编写

直接输入 vim :

其实 vim 就是 vi 的升级版 , 提一嘴 , vi 写的很恶心 。不过现在我们都用不到 vi , 都是用 vim 了。vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于xwindow、windows.mac os。

然后 : 【 shift + : 】 -> q , 退出

2.1 vim 的三种模式

vim的三种模式(其实有好多模式,这三种为核心) , 分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

这里:⼀共有12种模式:six BASIC modes和six ADDITIONAL modes

1) 默认打开的是命令模式

2)命令模式是 vim 的核心和精华 

3)如果你不知道自己在哪一个模式 , 无脑一直按 【Esc 】 进入到命令模式。

2.2 命令模式

由于Linux 不支持鼠标 , 所以首先需要关注的就是如何进行光标定位!一下操作如果没有特殊说明都是在命令模式,为了表述清晰,我们先把行号调出来 :

vim 文件 ->          shift + :         ->         set nu   ->           Esc 

1)n + gg 

gg : 快速定位到文本的最开始

n + gg : 快速定位到 第 n 行

2)n + shift + g :

gg : 快速定位到文本的最结尾

n + gg : 快速定位到 第 n 行

 

3)shift + $(4):

定位到某行的最结尾

4)shift + ^ (6): 

 定位到某行的最开头

5)方向:hjkl

h : 左             j : 下               k:上                   L : 右

6)n + w / b

光标以单词为单位进行前后移动。(这里的单词不是指英文单词 , 而是被Vim 判断为独立块的东西,像 printf 为一个 , )  为一个 ,/ 为一个 

  • w : 以单词为单位向后移动
  • n + w :  向后移动 n 个单词 
  • b : 以单词为单位向前移动
  • n + b :  向前移动 n 个单词 

7)n + yy / p

在windows 的时候,复制粘贴可以使用快捷键 , 其实快捷键本质上也是命令 。命令模式下输入的都是命令 , 可以提高我们的编辑效率。

  • yy : 复制当前行
  • n + yy : 复制 n 行
  • p : 粘贴
  • n + p : 粘贴 n 行

8) u  与 ctrl+  r

u : 撤销

ctrl + r : 把撤销给撤销了

u 和 ctrl +r 可以互相撤销,它两是环状的。

只要不退出 vim 就可以撤销 , 如果你退出了 vim , 撤销就不支持了 。

9)n + dd

dd : 删除

n + dd : 删除 n 行

剪切: dd      --->   随后 p 

10)n +  x/X

  •  n + x : 以光标为基准,向后删除 n 个字符
  • n + X(shift + x) :    以光标为基准,向前删除 n 个字符

11) shift + ~

shift + ~ : 快速大小写切换

12) n +r

n + r : 小范围的文本替换

如果先要进行大规模的文本替换呢?

切模式 : 替换模式 (shift + r)

如果想要回到命令模式 : 无脑Esc

相关文章:

  • win11共享打印机主机设置
  • 使用 Python 监控系统资源
  • LeetCode 解题思路 45(分割等和子集、最长有效括号)
  • 程序员学商务英语之Shipment Claim 运输和索赔
  • LeetCode 每日一题 2025/4/28-2025/5/4
  • Go语言——string、数组、切片以及map
  • 代码mark:脚本获取包含全角字符的字符串的长度
  • Grafana-新增用户
  • 【AI】如何自己训练AI大模型
  • 20250506| 物化视图学习
  • 【Python】--实现多进程
  • FastComposer论文问题与解决
  • 信息论06:信息增益——量化不确定性的艺术与科学
  • STM32H743单片机实现ADC+DMA多通道检测
  • 匿名函数对编译错误的影响
  • day17 天池新闻数据KMeans、DBSCAN 与层次聚类的对比
  • SpringSecurity配合Thymeleaf实现详解,以及实战用例
  • 【计网】ipconfig、ping、arp、tracert
  • mysql中select 1 from的作用
  • 嵌入式MCU语音识别算法及实现方案
  • 李彦宏:技术迭代速度之快从业30年来未见过,要提升执行力战胜对手
  • 全国首例在沪完成,这项近视治疗手术不到10秒
  • 秦洪看盘|受阻回落,蓄积新做多能量
  • 吴清:推动公募基金高质量发展的行动方案今天将会发布
  • 五角大楼要裁一批四星上将
  • 三百余英国王室藏品,一览爱德华时代的优雅