zoukankan      html  css  js  c++  java
  • vim的使用与软件安装

    一、vim文本编辑器

    1.Vim常用操作

    Vim 简介
    Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。Vim 没有菜单,只有命令。

    • 举例:

      • 创建一个叫 haven.msg的编辑文件 vim haven.msg
      • 输入i进入插入模式(同windows中记事本下的编辑模式)
      • 按下 ESC键 进入命令模式,$ :set number 加行号(命令模式下输入冒号进入命令的编辑模式,命令以回车结束运行)
      • $ :wq! 保存并退出文件后,显示下图表示保存成功
    • 插入命令

    命令 作用
    a 在光标所在字符后插入
    A 在光标所在行尾插入
    i 在光标所在字符前插入
    I 在光标所在行首插入
    o 在光标下插入新行
    O 在光标上插入新行
    • 定位命令
    命令 作用
    :set nu 设置行号
    :set nonu 取消行号
    gg 定位到第一行
    G 到最后一行
    nG 到第n行
    :n 到第n行
    $ 移至行尾
    0 移至行首
    • 删除命令
    命令 作用
    x 删除光标所在处的字符
    nx 删除光标所在处后的n个字符
    dd 删除光标所在行,ndd删除n行
    dG 删除光标所在行到文件末尾的内容
    D 删除光标所在处到行尾的内容
    :n1,n2d 删除指定范围的行
    • 复制和剪切命令
    命令 作用
    yy 复制当前行
    nyy 复制当前行以下n行
    dd 剪切当前行
    ndd 剪切当前行以下n行
    p、P 粘贴在当前光标所在行下或行上
    • 替换和取消命令
    命令 作用
    r 取代光标所在处的字符
    R 从光标所在处开始替换字符,按Esc结束
    u 取消上一步操作
    • 搜索和搜索替换命令
    命令 作用
    /string 搜索指定字符串

    搜索时忽略大小写 :set ic
    n 搜索指定字符串下一个出现的位置
    :%s/old/new/g 全文替换指定字符串
    :n1,n2s/old/new/g 在一定范围内替换指定字符串
    • 保存和退出命令
    命令 作用
    :w 保存修改
    :w new_filename 另存为指定文件
    :wq 保存修改退出
    ZZ 快捷键,保存修改退出
    :q! 不保存修改退出
    :wq! 保存修改并退出(文件所有者和root可使用)

    2.Vim使用技巧

    • 导入命令执行结果 :r !命令

      1. 编辑issue文件 vim /etc/issue
      2. $ :r /etc/issue 将issue文件中的内容导入到当前文件光标所在位置
    • $ :r !date 将当前日期内容导入到当前文件光标所在位置

    • 定义快捷键 :

      • map 快捷键 触发命令
        范例: : map ^P I# 使用该命令后,在命令模式时按下ctrl + p 则可以跳到行首并插入#注释号(即 I 的作用)

        • 注:图中^P要同时按下ctrl + v + p

          按下ctrl + p 便可注释当前行

    二 、Linux 软件安装

    1.软件包管理简介

    • 软件包分类
      • 源码包(脚本安装包,例如C源码包)
      • 二进制包(RPM包、系统默认包)(即源码经过编译后生成的二进制包)
    • 源码包
      • 源码包的优点是:
        • 开源,如果有足够的能力,可以修改源代码
        • 可以自由选择所需的功能
        • 软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
        • 卸载方便
      • 源码包的缺点
        • 安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误
        • 编译过程时间较长,安装比二进制安装时间长
        • 因为是编译安装,安装过程中一旦报错新手很难解决
    • RPM包
      • 二进制包的优点
        • 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
        • 安装速度比源码包安装快的多
      • 二进制包缺点
        • 经过编译,不再可以看到源代码
        • 功能选择不如源码包灵活
        • 依赖性(安装过程由于依赖性,手动安装很繁琐)

    2.RPM包管理-rpm命令管理

    包命名与依赖性

    1. RPM包命名原则

      • httpd-2.2.15-15.el6.centos.1.i686.rpm(包全名)
        httpd----- 软件包名
        2.2.15----- 软件版本
        15----- 软件发布的次数
        el6.centos----- 适合的Linux平台
        i686----- 适合的硬件平台
        rpm----- rpm包扩展名
    2. RPM包依赖性

      • 树形依赖: a→b→c(安装时则需要按c、b、a的顺序安装,卸载时按a、b、c顺序卸载)
      • 环形依赖: a→b→c→a (解决办法,a,b,c 同时安装)
      • 模块依赖: 模块依赖查询网站:www.rpmfind.net

    安装升级与卸载

    1. 包全名与包名

      • 包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径
      • 包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库
    2. RPM安装

      rpm –ivh 包全名
      
      选项:
      -i(install) 安装
      -v(verbose)  显示详细信息 
      -h(hash) 显示进度
      --nodeps  不检测依赖性
      
    3. RPM包升级

      rpm -Uvh 包全名
      选项:-U(upgrade) 升级
      
    4. 卸载

      rpm -e 包名
      选项:-e(erase)  卸载
                  --nodeps 不检查依赖性
      $ rpm -e httpd 卸载apr(阿帕奇)
      

    命令管理与查询

    1. 查询是否安装

      rpm -q 包名           # 查询 httpd(阿帕奇) 包是否安装
      选项:
      -q  查询(query)
      -a  所有(all)
      
      rpm –qa             		   # 查询所有已经安装的 RPM 包
      rpm –qa | grep httpd           # 查询所有已经安装的 与httpd有关的RPM 包
      
    2. 查询软件包详细信息

      rpm –qi 包名   
      选项:-i  查询软件信息(information)
           -p  查询未安装包信息(package)
          
      # rpm –qi httpd     #查询软件包httpd详细信息
      # rpm –qip 包全名      #查询未安装软件包的详细信息
      
    3. 查询包中文件安装位置

      rpm –ql 包名
      选项:-l  列表(list)
       	-p  查询未安装包信息(package)
      
      # rpm –ql httpd      #查询软件包httpd的文件安装位置 
      
    4. 查询系统文件属于哪个RPM包

      rpm –qf 系统文件名
      选项:
      -f 查询系统文件属于哪个 软件包(file)
      
      # rpm –qf  /var/www/icons/up.gif     #查询系统文件 up.gif 属于哪个RPM包
      
    5. 查询软件包的依赖性

      rpm –qR 包名
      选项:-R 查询软件包的依赖性(requires)
      	 -p 查询未安装包信息(package)
      
      rpm –qR httpd      #查询软件包httpd(阿帕奇)属于哪个RPM包
      

    校验和文件提取

    1. RPM包校验

      rpm –V 已安装的包名
      选项:-V 校验指定RPM包中的文件(verify)
      
      无提示,可见未修改过
      

      例:修改 /etc/httpd/conf/httpd.conf 目录下的httpd.conf文件,保存后,再校验得可见S、5、T改变

      img

      验证内容中的8个信息的具体内容如下:

      • S 文件大小是否改变
      • M 文件的类型或文件的权限(rwx)是否被改变
      • 5 文件MD5校验和是否改变(可以看成文件内容是否改变)
      • D 设备的中,从代码是否改变
      • L 文件路径是否改变
      • U 文件的属主(所有者)是否改变
      • G 文件的属组是否改变
      • T 文件的修改时间是否改变

      文件类型

      • c 配置文件(config file)
      • d 普通文档(documentation)
      • g “鬼”文件(ghost file),很少见,就是该文件不应该被这个RPM包包含
      • l 授权文件(license file)
      • r 描述文件(read me)
    2. RPM包中文件提取(主要用来文件修复)

      rpm2cpio 包全名 | cpio -idv .文件绝对路径
      rpm2cpio    # 将 rpm 包转换为 cpio 格式的命令
      cpio    	# 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件
      
      cpio 选项 < [文件|设备]
      选项:
      -i:copy-in模式,还原
      -d:还原时自动新建目录
      -v:显示还原过程
      
      例:删除ls命令后再修复
      
      rpm -qf /bin/ls        	# 查询 ls 命令属于哪个软件包
      mv /bin/ls /tmp/       # 将ls命令所在的文件移动到tmp中,造成 ls 命令误删除假象,则ls命令失效
      rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19.el6.i686.rpm | cpio -idv ./bin/ls   # 提取 RPM 包中 ls 命令复制到当前目录的 /bin/ls 下
      
      cp /root/bin/ls /bin/        ---------# 把 ls 命令复制会 /bin/ 目录,修复文件丢失
      

    3.RPM包管理-yum在线管理(自动在线安装)

    IP地址配置和网络yum源

    1. IP地址配置

      setup #使用setup工具

    2. 网络yum源(即网络地址池)

      默认在:vi /etc/yum.repos.d/CentOS-Base.repo 打开CentOS-Base.repo文件

      • [base] 容器名称,一定要放在[]中
      • name 容器说明,可以自己随便写 mirrorlist 镜像站点,这个可以注释掉
      • baseurl 我们的yum源服务器的地址。默认是CentOS官方的yum源服务器,是可以使用的,如果你觉得慢可以改成你喜欢的yum源地址
      • enabled 此容器是否生效,如果不写或写成enable=1都是生效,写成enable=0就是不生效
      • gpgcheck 如果是1是指RPM的数字证书生效,如果是0则不生效
      • gpgkey 数字证书的公钥文件保存位置。不用修改

    yum命令

    1. 常用yum命令

      • 查询

        yum list               # 查询所有可用软件包列表
        
        yum search 关键字           # 搜索服务器上所有和关键字相关的包
        
        yum search httpd             #  搜索服务器上和httpd相关的包
        
      • 安装

        yum –y install 包名
        选项:install  安装
        	 -y 自动回答yes
            
        $  yum -y install gcc     #便可以自动完成gcc编译器的安装,不需要考虑依赖性,相当于会自动安装(所有的源码包必须通过gcc编译器才能翻译成计算机可以识别的机器语言)
         rpm -q 包名           # 查询 gcc 包是否安装
        
      • 升级

         yum -y update 包名
         选项:update  升级
        	  -y 自动回答yes
        
      • 卸载(不是很安全)

        yum -y remove 包名
           选项:remove  卸载
           		-y   自动回答yes
        
    2. YUM软件组管理命令

      yum grouplist          #列出所有可用的软件组列表
      yum groupinstall 软件组名        #安装指定软件组,组名可以由grouplist查询出来
      yum groupremove 软件组名       #卸载指定软件组
      

    光盘yum源搭建步骤

    • 第一步:挂载光盘
      mount /dev/sr0 /mnt/cdrom
    • 第二步:让网络yum源失效
      把/etc/yum.repos.d/文件里除了CentOS-Media.repo文件的其他文件全部改名,把repo后缀改了,随便改一个,比如.bak
      还可以让每个文件里面的enabled=0
    • 第三步:修改光盘yum源文件
      vim CentOS-Media.repo
      [容器] 改为c6-media 叫什么都可以
      name=CentOS-$releaserver - Media 名称叫什么都可以
      baseurl=file:///mnt/cdrom 地址为自己的光盘挂载地址 file:// 为固定格式不能省略 /mnt/cdrom为光盘挂载地址
      把下面两个多余地址用#注释了
      然后把enabled=0改为enabled=1 让源配置文件生效
      注意:千万不要随意改配置文件格式,加注释,加空格缩紧 都会造成命令错误!!!!!

    4.源码包管理

    源码包和RPM包的区别

    1. 区别

      • 安装之前的区别:概念上的区别
      • 安装之后的区别:安装位置不同
    2. RPM包安装位置

      是安装在默认位置中

    RPM包默认安装路径
    /etc/ 配置文件安装的目录
    /usr/bin/ 可执行命令安装的目录
    /usr/lib/ 程序所使用的函数保存位置
    /usr/share/doc/ 基本的软件使用手册保存位置
    /usr/share/man/ 帮助文件保存位置
    1. 源码包安装位置

      • 安装在指定位置当中,一般是/usr/local/软件名/

        $ rpm -ql httpd 查看阿帕奇安装包的安装位置

    2. 安装位置不同带来的影响

      • RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方法是:
        /etc/rc.d/init.d/httpd start(启动方法一)

        service httpd start(启动方法二,红帽系列专有命令,如果没有只能靠/etc/rc.d/init.d./启动)

      • 而源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理,如:/usr/local/apache2/bin/apachectl start

    源码包安装过程

    这里举例(安装Apache)说明一下:

    1. 安装准备
      安装C语言编译器
      使用命令:
      yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake
      下载源码包
      http://mirror.bit.edu.cn/apache/httpd/
      选择任何版本,比如:
      httpd-2.4.43.tar.bz2 版本

    2. 注意事项
      源码包保存位置:/usr/local/src
      软件安装位置:/usr/local
      然后确定安装过程报错:
      安装过程停止,并出现error,warning或者no提示,即发生错误
      把电脑本机下载好的源码包传输到Linux系统或者服务器上
      Windows下载WinSCP软件进行本机与虚拟机或者远程传输
      Mac连接远程阿里云服务器,终端使用命令 scp进行传输:
      scp -r localfile.txt username@192.168.0.1:/home/username/
      其中,
      1)scp是命令,-r是参数
      2)localfile.txt 是文件的路径和文件名
      3)username是服务器账号,一般为root
      4)192.168.0.1是要上传的服务器ip地址
      5)/home/username/是要拷入的文件夹路径,一般为/root 家目录
      例子:
      scp -r /Users/yangyangyang/Desktop/httpd-2.4.43.tar.bz2 root@47.95.5.171:/root

    3. 解压下载到源码包
      使用命令 tar -jxvf httpd-2.4.43.tar.bz2
      如果是tar.gz压缩包可以使用 tar -zxvf 命令

    4. 进入解压缩目录
      输入命令:cd httpd-2.4.43
      INSTALL:安装说明
      README:使用说明
      进入安装说明:vi INSTALL
      $ ./configure --prefix=PREFIX 编译前准备
      $ make 进行编译
      $ make install 编译安装
      $ PREFIX/bin/apachectl star 启动命令
      这些为详细的安装步骤,其中:
      ./configure为软件配置与检查 我们也称编译前准备
      1.定义需要的功能选项。
      2.检测系统环境是否符合安装要求
      3.把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑。**

    5. 定义安装路径
      退出之后
      输入命令:./configure --prefix=/usr/local/apache2
      如果报错显示:
      进以下网址寻求解决办法
      http://www.cnblogs.com/yuzhaokai0523/p/4382974.html

    6. 完成定义
      输入命令:make 进行编译

    7. 完成编译
      输入命令:make install 编译安装

    8. 启动
      输入命令:/usr/local/apache2/bin/apachectl start
      $ PREFIX/bin/apachectl star中 $ PREFIX为软件安装路径
      启动apache遇到错误:httpd: Could not reliably determine the server’s fully qualified domain name
      解决办法:
      1.cd /usr/local/apache2/conf
      2.vi httpd.conf
      找到#ServerName www.example.com:80
      并且在下面一行添加
      ServerName localhost:80 localhost可以换成阿里云的IP
      3.保存并退出
      4.再重新启动apache
      /usr/local/apache2/bin/apachectl start

    5.脚本包管理

    脚本包安装

    1. 脚本包:
      • 脚本安装包并不是独立的软件包类型,常见安装的是源码包。

      • 是人为把安装过程写成了自动安装的脚步,只要执行脚本,定义简单的参赛,就可以完成安装。

      • 非常类似于Windows下软件的安装方式。

      • 安装程序以.sh结尾 下一步点回车

      • 再输入的时候如果想删除字符按ctrl+退格键

      • 比如安装Webmin 网页系统用户管理,图形化工具管理

  • 相关阅读:
    HTML5学习笔记-2.HTML基础
    HTML5学习笔记-1.网页入门
    Java学习笔记-8.多线程编程
    Java学习笔记-7.Java IO流
    Java学习笔记-6.Java异常处理
    Java学习笔记-5.常用数据结构
    Java学习笔记-4.继承与多态
    Java学习笔记-3.类与对象
    C语言学习笔记-10.文件
    .net core 中threadpool用法
  • 原文地址:https://www.cnblogs.com/maqian/p/14272247.html
Copyright © 2011-2022 走看看