美文网首页
Linux 从 0 到 1 (五) - 源码安装,Vim 使用

Linux 从 0 到 1 (五) - 源码安装,Vim 使用

作者: Zoulf | 来源:发表于2018-03-26 22:01 被阅读0次

    源码安装

    有些软件并没有包含在软件仓库中,那么我们只能手动来安装了,也就是只能下载软件的源代码,编译以生成可执行文件。

    首先尝试找deb安装包

    首先,我们得声明:

    这一部分涉及到的软件包安装等知识点是基于Debian一族的Linux发行版,包括Ubuntu。

    其他不是Debian一族的Linux发行版,例如Fedora,Redhat,CentOS,等等。其实安装软件的方式大同小异,就是每个Linux发行版之间所用的命令不一样,软件包的名称有点区别罢了。

    大部分Ubuntu下的软件都可以在软件仓库中找到,你只要用apt-get命令就可以安装它们。但是,有少部分比较新的或者还在开发中的或者还不是很有名的软件,就没有被收录到软件仓库中,那你就不能用apt-get来获取到了。

    在这种情况下,事情会变得复杂一些。在Windows下面,要安装某个软件,我们很习惯于先去软件的官网,然后下载.exe结尾的安装文件。

    因为Linux存在极为多样的发行版(比如Ubuntu,Fedora,CentOS,SUSE,等等),每个发行版又有不同版本号。而且又有不同的处理器种类(32位的和64位的CPU,ARM架构,Intel架构,等等)要适配,不像Windows因为是微软自己定义,没有太多变数。

    因此,要为每种Linux创建一个安装文件几乎成了不可能的事。

    当我们要找的软件不在Ubuntu的软件仓库中时,我们可以试试去软件的官方网站找后缀是.deb(deb是Debian的缩写)的安装包。.deb的安装包只能用于Debian一族的操作系统,包括Ubuntu。而Redhat一族(包括Fedora)用的则是后缀为.rpm(rpm是Redhat Package Manager的缩写)的安装包。

    有个软件可以帮忙将rpm安装包转换为deb安装包。这个软件是alien

    # alien默认没有安装,所以首先要安装它。
    sudo apt-get install alien
    # 将rpm转换为deb,完成后会生成一个同名的xxxx.deb。
    sudo alien xxxx.rpm
    # 安装deb安装包。注意,用alien转换的deb包并不能保证100%顺利安装,所以可以找到deb最好直接用deb。
    sudo dpkg -i xxxx.deb
    

    如果你有幸直接在网上找到了软件的deb安装包,那么下载下来,双击安装包(或者用上面的命令行的形式:sudo dpkg -i xxxx.deb)来安装即可。

    如果安装过程没出错,那很好。如果有错误,一般可能是因为:

    也许你下载的deb安装包不符合你的电脑环境。可能位数搞错了,32位和64位有区别的。

    也许你没有安装那些依赖软件。因为apt-get工具会帮我们自动下载各种依赖软件,所以不需要我们亲自动手。但现在你需要自己动手安装缺失的依赖软件,可以根据提示信息,缺什么就装什么。

    编译安装

    如果你要安装的软件既不在软件仓库里,你在网上又找不到相应的deb安装包的话,你就只能回到“石器时代”,用编译源代码的方式来安装了。

    什么是编译?
    简单来说,编译就是将程序的源代码转换成可执行文件的过程。就好比我们做糕点,用到的原料(如鸡蛋,面粉等)等就是源代码,而最终制成的蛋糕就是可执行文件。在这个比喻中,编译就是制作蛋糕的过程。

    大多数Linux的程序都是开放源码的,我们可以比较轻易地获取它们的源代码,然后将其编译成适合我们的电脑和操作系统属性的可执行文件。

    编译安装软件的步骤根据软件的不同有所区别。有些软件的编译安装非常复杂,可能会让你抓狂(特别是一些非标准,非主流的软件),需要很多准备工作。

    不过一般安装手册(一般是下载下来源代码时附带的README文本文件,read是英语“阅读”的意思,me是英语“我”的宾语形式。所以read me就是“阅读我”的意思)都会说明详细的安装步骤。

    在编译之前,你需要安装编译的工具。在Ubuntu下有一个方法可以一次性安装跟编译有关的工具,就是build-essential(build是“构建”或“编译”的意思,essential是“必要的”的意思,顾名思义就是“进行构建/编译所需的必要工具”),运行如下命令安装:

    sudo apt-get install build-essential
    

    安装完编译需要的基本工具,我们就可以开工了。

    我们就用一个小软件作为例子来讲解吧。这个软件是htop。之前我们学过top命令,它可以查看电脑中运行的各种进程状态,占用多少内存,cpu用量等等,有点类似Windows中的任务管理器。htop就是类似于top的一个小软件。

    虽然htop这个软件从apt-get中也可以安装。但是我们为了演示编译安装的过程,就拿它来“开刀”啦

    第一步去软件的官网:http://hisham.hm/htop/
    下载以下文件

    htop-1.0.3.tar.gz
    

    解压

    tar zxvf htop-1.0.3.tar.gz
    

    然后进入目录中:

    cd htop-1.0.3
    

    我们运行它:

    ./configure
    

    configure这个程序会分析你的电脑,确认是否编译所必须的所有工具都安装了。它的执行需要些时间,因为要做不少检测。

    然后我们就可以开始编译了。用make命令:

    make
    

    也没错误,编译完成。

    最后一步用make install命令来安装 (需要加上sudo以用root权限来安装软件):

    sudo make install
    

    没有问题。安装完成。

    Vim

    三种模式理解 Vim:

    1. 交互模式:Interactif Mode。也有称之为命令模式(Command mode)的。这是Vim的默认模式,每次我们运行Vim程序的时候,就会进入这个模式。在这个模式中,你不能输入文本(是的,我知道,这有点不符合文本编辑器的“一贯作风”)。因此,别乱按键盘上的字母,你也许会把情况搞得一团糟。交互模式是很强大的,它可以让我们在文本间移动,删除一行文本,复制粘贴文本,跳转到指定行,撤销操作,等等。你在键盘上按键也许会触发特定操作(按下u这个字母键,就是撤销最近的一次操作。因为u是undo的首字母,是英语“撤销”的意思)。

    2. 插入模式:Insert Mode。这就是我们熟悉的文本编辑器的“一贯作风”。我们输入文本,文本就被插入到光标所在之处。为了进入这个模式,有几种方法,最常用的的方法是按字母键i(i是insert的首字母,是英语“插入”的意思)。为了退出这种模式,只需要按下Esc键(一般在键盘左上角)。Esc是escape的缩写,是英语“脱离,逃脱”的意思。

    3. 命令模式:Command Mode。也有称之为底线命令模式(Last line mode)的。这个模式下,我们可以运行一些命令,例如“退出”,“保存”,等等。也可以用这个模式来激活一些Vim的配置(例如语法高亮,显示行号,等等)。甚至我们还可以发送一些命令给终端命令行,例如 ls,locate,cp,等等。为了进入这个模式,需要首先处于交互模式(Interactif Mode)下,然后按下冒号键(在一般的键盘上是要按下Shift键+分号键)。输入命令后,再按回车,就会执行此命令。执行命令后,就又回到交互模式了。

    基本操作

    移动 :h, j, k, l (上下左右移动)

    按键 作用
    h 向左移动一个字符
    j 向下移动一个字符
    k 向上移动一个字符
    l 向右移动一个字符
    0和$ :移动到行首和行末
    w :一个单词一个单词地移动
    x :删除字符
    d :删除单词,行,等等
    • dd :删除行
    • dw :删除一个单词
    • d0和d$ :删除行首或行末
    yy :复制行到内存中
    p :粘贴
    r :替换一个字符
    u :撤销操作
    g :跳转到指定行
    • 要跳转到最后一行,按下G(大写的G,Shift+g)
    • 要跳转到第一行,按下gg(两次g键)
    • 跳转到指定行:行号+G 或 行号+gg
    / :从光标处开始查找
    ? :从文件最开始处查找
    :r :合并文件
    :! :运行外部命令
    :s 查找并替换
    • :s/旧字符串/新字符串 :替换光标所在行的第一个匹配的字符串

    • :s/旧字符串/新字符串/g :替换光标所在行的所有匹配的字符串

    • :#,#s/旧字符串/新字符串/g :替换文件中第#行到第#行的所有匹配的字符串

    • :%s/旧字符串/新字符串/g :替换文件中所有匹配的字符串(应该是最常用的吧)

    分屏
    • :sp :横向分屏
    • :vsp :垂直分屏
    分屏模式下的主要快捷键
    • Ctrl + w 然后再按 Ctrl + w :从一个viewport移动光标到另一个viewport。

    • Ctrl + w 然后按j :移动光标到下方的viewport。如果是h,k,l,那么是分别对应移动到如下表所示的viewport:

    按键 作用
    Ctrl + w 然后按h 移动光标到左边的viewport
    Ctrl + w 然后按j 移动光标到下边的viewport
    Ctrl + w 然后按k 移动光标到上边的viewport
    Ctrl + w 然后按l 移动光标到右边的viewport

    相关文章

      网友评论

          本文标题:Linux 从 0 到 1 (五) - 源码安装,Vim 使用

          本文链接:https://www.haomeiwen.com/subject/kimxcftx.html