前言
本期分享6个Linux中常用的基本工具,以确保后续的学习能够进行。
零、软件生态与yum
抛出一个问题:软件的下载?
具体拆分
- 软件从哪里下?
- 软件由谁提供?
- 怎么下载?
软件,肯定不在本地(自己的电脑),要不也不用下载了;那软件一定在远端(别人的服务器)。
谁的服务器呢?开源开发者,为自我价值实现提供免费的软件;企业,为了钱提供付费软件,或为了流量变现提供免费软件。
怎么提供到我们手上呢?电脑上下载某软件通常在某软件的官网找下载链接,下载本质上就是通过链接找到别人服务器上的数据,下载到本地。而手机上的软件商店也是这个道理,不过封装起来了。
既然我们学Linux,当然也要落于其上,谈谈它的软件生态又是如何。
同样的问题
- 软件从哪里下?
- 软件由谁提供?
- 怎么下载?
一样是远端,Linux的软件都放在Linux社区的服务器上。
Linux是伟大的开源项目,软件自然是伟大的开源开发者们提供。
通过yum指令(软件包管理工具)找到其源配置文件内的下载链接,再下载。而国内这样访问自然比较慢,Linux软件生态在中国慢慢本地化。大企业或高校,把国外的Linux软件镜像到他们自己的服务器上,再将其中软件的链接组成yum源配置文件。这样一来,我们使用yum来下载Linux软件的时候就能直接访问国内的服务器并下载数据。
嗯……我大概了解软件生态是怎么回事了,你说讲些工具,但我还是没法在Linux下载这些工具/软件啊。
一、yum
是什么
Linux下的软件包管理工具。
怎么用
-
查看软件包
yum list | grep [sl.x86_64]
yum list 列出所有yum内置的软件下载链接,用grep过滤出我们想找的:sl.x86_64。是一个在命令行打印动态火车的小程序。
-
安装软件包
[sudo] yum install [-y] [sl.x86_64]
yum install 表示下载,-y :“是的我要下载,别问了。”
跑跑看:
能发现安装软件需要root权限,为什么?
安装的本质其实就是拷贝数据到本地的某个位置。而这个位置只有root能写,但所有人都能执行。
-
卸载软件
yum remove [-y] [sl]
拓展
【云服务器和本地间的数据传输】
rz --上传(执行rz会在Xshell弹窗,选择要上传的文件)
sz [filename] --下载(同样弹窗,选择要保存到的地方)
*Xshell还支持拖拽文件进行上传
【看看国内提供的镜像的地儿】
所谓yum的源配置文件,不过就是一堆链接,对应着这里面的各个软件。
【非官方软件集合】
epel,非官方软件集合。刚刚的小火车就是这里面的。
由于收录到OS的软件集合要经过层层严格测试,所以有些软件会选择加入epel的阵容。
【yum解耦】
下载多个软件后,软件之间会有耦合性,而yum会很聪明的帮我们解决这种耦合。
二、vim
是什么
一款功能强大的编辑器。(仅能用键盘操作)
为什么
为什么有vim?为了提高编辑效率。为什么只能用键盘操作?vim诞生的年代并无鼠标。
怎么用
yum install -y vim
touch test.c
vim test.c
有三种模式供使用:命令模式、底行模式、插入模式。
命令模式
是进入vim后的默认模式,其他模式只需无脑esc即可退到命令模式。
此模式主要进行两部分操作:光标移动和文本操作。
【光标移动】
指令名 | 作用 |
---|---|
ctrl + 4 ($) | 跳到行左 |
ctrl + 6 (^) | 跳到行右 |
shift + g (G) | 跳到底部 |
n + G | 跳到第n行 |
h | 逐字符左移(hjkl中的最左边) |
j | 下移(jump下悬崖) |
k | 上移动(king是“皇上”) |
l | 逐字符右移(hjkl中的最右边) |
w / b | 逐词左移/右移 |
【文本操作】
指令名 | 作用 |
---|---|
(n) yy | 复制当前行(开始向下n行)到缓冲区 |
(n) dd | 剪切当前行(开始向下n行)到缓冲区 |
p | 粘贴 |
u | 撤销 |
ctrl + r | 重做 |
shift + r | 当前字符开始向后逐个替换成当前字符 |
(n) r | 当前字符开始向后批量替换成当前字符 |
shift + `(~) | 当前字符开始向后逐个替换大小写 |
c(n)w | 替换从光标位置到单词结尾的字符, 并转为Insert模式 |
插入模式
是真正编辑文件的模式。在命令行模式下按 i/a/o 等进入,esc退出为命令模式。
底行模式
用于保存/退出文件,或设置编辑环境。在命令行模式下按 shift + ; (😃 进入,esc退出为命令模式。
指令名 | 作用 |
---|---|
w | 保存 |
q | 退出 |
! + [command] | 强制执行命令 |
nu | 显示行号 |
nonu | 不显示行号 |
vs [filename] | 与另一文件分屏 |
%s/[XXX]/[YYY]/g | 将所有XXX替换成YYY |
#注释
- ctrl + v:V-BLOCK
- 光标操作 [h/j/k/l] 选中
- shift + i
- 输入要插入的字符(要注释就//,要缩进就tab)
- esc
其实是插入字符,注释是它能实现的一个功能。
其他模式
vim还有许多其他模式,但已讲的三种够用了,不增加学习成本。
配置
原始的vim不太好用,语法缩进、自动补齐等等都没有。所以我们常自己配置,加上想要的功能。
【创建配置文件】
在路径 /home 下,创建 .vimrc 文件
【配置】
在网上找vim功能配置大全,自己烹饪。
sudoers
之前遗留的sudoers问题可以解决了。我们只需要用root进入“白名单文件”,加上想添加的sudoers就可以啦。
vim 打开 /etc/sudoers
按照root的格式,仅改动名字即可~
今天的分享就到这里啦
这里是培根的blog,期待与你共同进步,下期见!