在我们的手机端或者Windows上下载软件,可以在相应的应用商店或者官网进行下载,这样对于用户来说十分的方便和便捷。而在Linux上,也有类似的安装方式,我们来一一了解一下。
Linux安装软件的3种方法
源代码安装
在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序。
- 获取源代码:
- 通常可以从软件的官方网站或源代码仓库(如GitHub)下载源代码。
- 使用
wget
、curl
或git
等工具来下载源代码。
- 解压缩源代码包:
- 如果源代码是压缩文件,使用
tar
、gzip
、zip
等工具进行解压缩。 - 例如:
tar -xzvf source-code.tar.gz
- 如果源代码是压缩文件,使用
- 配置构建环境:
- 进入源代码目录。
- 运行
./configure
脚本,它可以检测系统环境并设置编译选项。 - 可能需要指定参数来定制编译选项.
- 安装软件:
- 使用
make install
命令来安装编译后的程序到系统(通常需要管理员权限)。 - 例如:
sudo make install
可以看到这种安装方式非常的麻烦,而且对于新手来说很不友好。
- 使用
yum安装
上面的方法比较麻烦,所以有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装。软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系。
yum的三个指令
在讲指令之前,我们先来安装一个rzsz软件,这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件,安装完毕之后可以通过拖拽的方式将文件上传过去。关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!!
yum list
我们来学习第一条指令。当我们在手机上想要下载一个软件的时候,常常会先搜索这个软件的名称,然后再进行下载。那么在Linux上也可以,当你想下载某个软件的时候,可以通过 yum list 命令罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用 grep 命令只筛选出我们关注的包. 例如:yum list | grep lrzsz
。结果如下:
这样我们就找到了要下载的软件,.x86_64
表示该软件在64位计算机系统上运行,i686
表示32位系统安装包,选择包时要和系统匹配。0.12.20-36.el7
是版本号,el7
表示的是centos7/redhat7
。最后,base表示的是“软件源”的名称,是哪个发行方提供的,类型于“xx应用商店”这样的概念。
一般而言,软件的提供方有两种,base
和epel
。
- Base源:通常指的是Linux发行版默认的软件仓库,它包含了该发行版官方支持和维护的基本软件包。例如,在CentOS和RHEL中,base源是
base
或os
,它提供了系统运行所需的核心软件包。 - EPEL源(Extra Packages for Enterprise Linux):是一个由Fedora社区维护的第三方仓库,为RHEL及其衍生版(如CentOS)提供额外的软件包。EPEL源的目的是提供那些不在默认仓库中的软件包,以增强系统的功能。
其实epel源相当于第三方软件安装包,更新可能更频繁,而base源相当于官方在维护,更新频率可能较低,以确保系统的稳定性。
yum install
通过 yum, 我们可以通过很简单的一条命令完成 gcc 的安装,基本语法:yum install 软件名
yum 会自动找到都有哪些软件包需要下载, 这时候敲 “y” 确认安装。出现 “complete” 字样, 说明安装完成。
注意事项:
- 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
- yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错.
- 如果不想询问你的意见,想直接安装,那么可以加上
-y
指令。
yum remove
可以下载软件当然也可以卸载软件。基本语法:yum remove 软件名
.
yum源
那么yum是如何知道要去哪里下载软件的呢?我们可以找到/etc/yum.repos.d/
下面的文件:
repos表示仓库,d表示目录,在该目录下,会存储大量的网址,yum会到对应的网址内部查找软件。使用vim /etc/yum.repos.d/CentOS-base.repo
指令就可以看到下图,这就是CentOS-base.repo
的内部,可以看到内部有许多的链接,Linux就是到这些连接内部下载软件的。当然这些链接可以在浏览器上直接搜索到,由于我用的是华为云的服务器,所以软件就是在这里面下载的,当然还有其他的yum源,如阿里云
,腾讯源
,清华源
等等
Linux编辑器——Vim
vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。
vim的基本概念
我们先来学习3种模式,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
- 正常/普通/命令模式(Normal mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。此模式下,不能自由进行文本编辑。
- 插入模式(Insert mode):只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。
- 底行模式(last line mode):文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。要查看你的所有模式:打开vim,底行模式直接输入。
想要通过vi/vim编辑器编辑文件,输入如下命令:vi 文件路径/vim 文件路径
,vim兼容全部都vi功能
- 如果文件路径表示的文件不存在,那么此命令会用于编辑新文件
- 如果文件路径表示的文件存在,那么此命令会用于编辑已有文件
命令模式的常用操作有:
模式之间的切换看上面的图片就可以了。这里直接讲如何退出vim模式
退出vim及保存文件,在 [正常模式]下,按一下「:」冒号键进入「Last line mode」,例如: - : w (保存当前文件)
- : wq (输入「wq」,存盘并退出vim)
- : q! (输入q!,不存盘强制退出vim)
正常模式的指令集
- 插入模式
- 按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
- 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
- 按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
- 移动光标
- vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格
- gg:定位光标到最开始行
- G:定位光标到最结尾行
- nG:定位光标到底n行,如:3G,表示定位到第三行。
- shift+$:定位光标到当前行的结尾
- shift+^:定位光标到当前行开始
- w,b:光标按照单词进行行内跨行移动。w即光标跳到下个单词的开头,b即光标回到上个单词的开头
- 复制
- (n)yy:复制光标所在行。3yy表示复制三行
- (n)p:粘贴(n行重复行)到光标所在行的下一行
- shift+~:大小写转换
- (n)r:对光标字符+之后的n个字符进行批量化替换
- shift+R:替换模式。对内容进行整体替换
- 删除文字
- (n)x:对光标字符之后的n个字符进行删除(包含自己在内)
- (n)X:删除光标所在位置的“前面”(n)个字符(包含自己)
- (n)dd:从光标所在行开始删除(n)行
- 撤销
- u:撤销
- Ctrl+r:撤销之前的撤销
底行模式指令集
在使用底行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式。
- 列出行号
- 「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号
- 跳到文件中的某一行
- 「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。
- 查找字符
- 「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止
- 「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。
- 保存文件
- 「w」: 在冒号输入字母「w」就可以将文件保存起来
- 「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。
- 「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。
底行模式中,vs 文件名
表示创建一个新文件并打开一个文件编辑窗口,ctrl+ww
:窗口光标切换。