1.vi命令使用方法

  1)vi命令的基本用法

    步骤一: vi oldboy.txt       --- 利用vi命令打开一个文件

    步骤二: 输入i                                    --- 进入编辑模式

    步骤三: 编辑文件内容

    步骤四: esc                                       --- 退出编辑模式

    步骤五: :wq                                       --- 保存退出文件

  2)vi命令详细使用方法

    vi三种命令模式

      1.命令模式

        命令模式中移动光标

        G           ---移动到文件行尾

        gg             ---移动到文件行首

        ngg                                     ---指定移动到第几行

        $                                         ---光标移动到当前行行尾

        0或^                                    ---光标移动到当前行行首

      2.插入模式(--INSERT--)

      3.底线命令模式(:  /)

    vi三种模式切换方法

      命令模式-->插入模式(移动光标位置,并进入编辑状态)

      i                                                   ---从光标所在位置进入插入模式

      I                                                   ---从光标所在行行首进入插入模式

      o                                                  ---从光标所在行下一行进入插入模式

      O                                                  ---从光标所在行上一行进入插入模式

      A                                                   ---从光标所在行行尾进入插入模式

      a                                                   ---从光标所在字符下一个字符进入插入模式

      C                                                   ---从光标所在位置到行尾进行剪切,并进入插入模式

      cc                                                  ---剪切光标所在行内容,并进入插入模式

      命令模式-->底线命令模式

      :                                                     --- wq 保存   q! 强制退出   

      /                                                     --- 进入搜索状态(向下搜索     n依次向下)

      ?                                                    --- 进入搜索状态(向上搜索     n依次向上)

      退出插入模式: esc

    特殊使用技巧:

      ndd                                                --- 删除n行内容

      dG                                                 --- 删除文件全部内容 

      np                                                  --- 将内容进行n次粘贴

      nyy                                                 --- 复制n行内容

      u                                                     --- 撤回  

2 系统优化项目说明

  1.系统信息查看方法

    cat  /etc/redhat-release                          --- 获得系统发行版本信息

    uname  -a                                               --- 显示电脑即操作系统的相关信息

    

  2.系统基础优化部分    

    1.添加系统普通用户

      创建普通用户

        username oldboytest

        passwd        123456

        

      删除普通用户目录及目录下所有文件

        userdel   -r    oldboytest

      切换用户信息

        su  -  oldboytest                      ---root 用户切换到普通用户不需要密码

        su  -   root                               ---普通用户切换到root用户需要输入密码

        

        su  和  su  -  的区别      su是变换前用户在哪个目录下变换后依旧在哪个目录,su -是变换后切换到登录用户的家目录.exit等价于logout退出当前登录用户,返回前一次登录用户,前一次没有就直接登出系统

      查看用户信息

        whoami

        id

        

    2.命令提示符优化

      命令提示符环境变量

      1.查看命令提示符变量:echo $PS1

      

        当前账户名称@当前主机名  当前所在目录最后一个目录    用户提示符

        \u :当前账户名称

        @ :分隔符

        \h :当前主机名(仅取第一个名字)

        \H :完整的主机名

        \w :完整的工作目录名称

        \W :当前所在目录最后一个目录名称

        \d :日期    weekday  month  date

        \t :24小时时间格式     HH:MM:SS

        \T :12小时时间格式

        \A :24小时格式  HH:MM

        \# :下达的第几个命令

        \$ :提示字符   root:#   普通用户:$

       2.修改命令提示符的内容(/etc/bashrc 或 /etc/profile)

      Linux登陆过程中家在配置文件顺序:/etc/profile > /etc/profile.d/*.sh > ~/.bash_profile > ~/.bashrc > /etc/bashrc.

        1. vi  /etc/bashrc

        

        

        2.vi  /etc/profile

        

        由于/etc/profile 的执行顺序大于/etc/bashrc    所以存在于/etc/profile中的配置会生效

      3.修改命令提示符颜色

      在PS1中设置字符颜色的格式为:[\e[F;Bm\]........[\e[0m\],其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47,[\e[0m\]作为颜色设定的结束。

      颜色对照表:

      F    B

      30  40 黑色

      31  41 红色

      32  42 绿色

      33  43 黄色

      34  44 蓝色

      35  45 紫红色

      36  46 青蓝色

      37  47 白色

        只需将对应数字套入设置格式中即可。

      设置特殊显示 
       0 OFF,关闭颜色
       1 高亮显示
       4 显示下划线
       5 闪烁显示
       7 反白显示
       8 颜色不可见  

      特殊显示可在结束颜色输入里面设置:[\e[ 特殊颜色编号 m] 

      

       永久修改   vi  /etc/profile 

      

        

      

    3.yum下载源优化

      yum  repolist : 检查可用的yum源信息

      1.yum软件的优势:

        1.不需要通过官方网站单独下载软件包(通过yum仓库下载)

        2.可以解决软件的依赖关系(相当于浏览器和flash的关系)

      2.优化方法:

        1.优化基础的yum源文件(yum  Base)

          打开阿里云开源镜像站    https://developer.aliyun.com/mirror/

          

           打开centos

          

           找到centos7  复制curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  执行命令

          

        2.优化扩展的yum源文件(yum epel)

          打开阿里云开源镜像站    https://developer.aliyun.com/mirror/

          

          打开 epel

          

           找到epel(RHEL 7) 复制 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo   执行命令

          

          查看 /etc/yum.repos.d       查找base 和 epel  一个基础一个扩展

          下载软件:  cowsay  sl               yum  install -y cowsay sl

          

          

        3.确认软件是否安装

          1.安装软件出现以下信息,则为已安装

          

 

 

           2.利用rpm命令可管理软件是否安装

          rpm   -q(query-查询)a   软件名  ------------ 查看软件是否安装,未安装则无信息显示

          

 

 

           rpm  -ql(list-列表)  软件名             ------------- 查看软件包中其他相关文件信息

          

 

 

           有些软件名称与软件包的名称不一样,像上述的vim  直接搜vim会显示软件未安装,重新安装vim 又会显示软件已安装,此时需要查看软件属于哪个软件包

          rpm  -qf       文件名(绝对路径)=rpm  -qf  `which 命令`         --------------- 查看文件属于哪个软件包

          

 

 

           注:在linux中   xxx.rpm    意为linux中的软件安装程序

    4.系统安全相关优化(对一些安全服务进行关闭)

      1.防火墙安全服务

        查看防火墙服务状态

          centos6:service iptables status=/etc/init.d/iptables status

          

          centos7:systemctl status firewalld

          

 

 

         临时关闭防火墙

          centos6:services   iptables stop 

              services  iptables  start

          

 

 

           

          centos7:systemctl  stop    firewalld

              systemctl  start   firewalld

          

          

 

 

         永久关闭防火墙

          centos6:chkconfig   iptables    off      ----  开机自动关闭防火墙

              chkconfig   iptables   on      ----  开机自动开启防火墙

              

          centos7:systemctl  disable  firewalld  --- 开机自动关闭防火墙

              

              systemctl enable  firewalld   --- 开机自动开启防火墙

              

 

          centos7简单查看防火墙状态

              systemctl   is-active   firewalld    ------ 查看防火墙关闭与否

              

              systemctl   is-enable  firewalld    ------ 查看防火墙开机自启状态开启与否

              

          企业中服务器是不能随便关机的,对于安全性要求不高的服务器,防火墙的开启有时会阻止网络的访问,此时需要关闭防火墙,临时关闭可用于程序网络的正常访问,结合永久关闭,下次重启时就不需要临时关闭防火墙,但对于安全性要求较高的服务,建议临时关闭防火墙即可

      2.selinux安全服务

        系统中root用户的权限很大,几乎可以干任何事,selinux就是为了控制root用户的权限,增加系统的安全性

        对于安全性要求不高的企业来说,selinux的存在会限制root用户的某些操作,一般情况下selinux都是关闭的(centos6和centos7操作一样)

        查看selinux状态:

          getenforce         ------ 确认selinux服务开启与否

          

 

 

        临时关闭服务: 

          setenforce []         ------ 可直接执行查看可用状态

          

 

 

           Enforcing(强制执行)    等价于   1               ------ 服务开启状态   

           Permissive(许可的)     等价于   0               ------ 服务关闭状态  

          setenforce  Permissive  = setenforce  0      ------ 关闭服务

          

 

 

         永久关闭服务:

          vi  /etc/selinux/config                                   ----- 系统重启服务生效

          SELINUX=disabled

          

    5.字符编码优化(可以显示中文 避免出现乱码)

      字符编码:实现对非英字符的支持

      出现乱码原因:

        1.系统字符集设置有问题

        2.远程软件字符集设置有问题

        3.文件编写字符集和所查看的字符集不统一

      1.出现乱码情况设置:

        echo  $LANG                                ----- 查看系统编码

        export LANG=en_US.UTF-8        ------ 设置系统编码

      2.解决乱码情况: 保持系统与远程连接软件编码一致,一般都是utf-8

        临时修改: export LANG=en_US.UTF-8

        永久修改:(也可用/etc/profile 进行修改,profile优先级大,一般不使用profile)

          centos 6: vi /etc/sysconfig/i18n

          

          

          centos 7: vi /etc/locale.conf

          

 

           在7中还有一种即临时修改又能永久的命令

           localectl  set-locale LANG=en_US.UTF-8

       3.设置系统显示中文

        1.查看当前系统字符集:

          echo $LANG

        2.临时修改:

          export LANG=zh_CN.UTF-8

          

 

         3.永久修改

          centos6 : vi /etc/sysconfig/i18n

          

 

           centos7 : localectl  set-locale  LANG=zh_CN.UTF-8

          

    6.shell远程连接优化(远程连接速度加快)

           步骤一:修改ssh服务配置文件   /etc/ssh/sshd_config
                  79    no
                  115   no   去*号
           步骤二:修改hosts文件    /etc/hosts
              10.0.0.200(主机地址)    主机名
           步骤三:重启ssh远程服务
                systemctl restart sshd