Vim: 文本编辑器
   vim   文件名
   vim  + n(行号)  如  vim  + 3  /etc/passwd 光标在第三行;
        + /word       光标在有word的行首; 
Vim主要有三种模式:
命令,输入,末行这三种模式
  命令模式 —>  输入模式
   1) i   I
       2) a   A
       3) o   O
       4) c   C
       命令模式 —>  末行模式
          : 
在命令模式下:  光标移动: h(左) , l (右); k(上) , j(下)
                单词间跳转: w  下一个单词的词首
                             e   下一个单词的词尾
                             b    前一个单词的词首
                 行首行尾间跳转: ^(非空字符的行首)0(空字符行首)
                                  $(此行最后的字符)
                  句间跳转: )    下一句句首;  (   前一句句首
                  段间跳转: }      下一段段首;  {    上一段段首
                  行间跳转: nG 或:n   跳到第n行;  G   跳到最后一行; 
                             1G  跳到第一行; 
                    Ctrl+f   向下翻一屏;  crtl+b   向上翻一屏 ; 
                    Ctrl+d   向下翻半屏;  ctrl+u   向上翻半屏;
           编辑的命令:
              x: 删除一个字符    d  dd dw de db d),d$等是删除到光标定位的位置。删除掉的内容不会马上清空,而是保存在缓冲区内的。
              p: 粘贴;
              y: 复制;
              u: 撤销最近一次的操作;U  撤销上回的所有操作;ctrl+r 撤销撤销
              . : redo 重做;
           查找并替换的命令:s///gi   s 表示搜索替换;g表示全局替换;i表示忽略大小写
配置vivim
   动态配置  :set (列举一小部分重要的配置项目)或 :set all (例举所有配置项目)
   :set  number  设置行号; :set  autoindentai)  自动缩进
   :set  ignorecaseic) 忽略大小写;  :set  nowrap   不拆行显示
    Syntax  enable  on off enable, clear  语法着色。
若是取消用 :set no[]   如  :set  noai
永久配置:  ~/.vimrc  或者 ~/.exrc
   要保存这些配置,因此每次启动编辑器时都能够使用它们,需要把那些配置项目的命令放在~/.vimrc文件中。如果该文件不存在,vivim就会读取较老的~/.exrc文件。
vi中我们还可以分屏查看,在末行模式中输入:split,或ctrl+ws  会水平分割屏幕;
Ctrl+wv  会垂直分割屏幕;ctrl+w,方向键会在窗口切换
  当我们分割的不是一个文件而是多个文件时:vim  +o  1.diff  2.diff   水平分割2个文件; +O  垂直分割 查看我们也可以用ctrl+w,方向键。
   当我们用  vim  1..diff  2.diff  时  这时会先显示1..diff 然后再末行模式输next  会显示 2..diff; previous 会显示 1.diff ; last 显示最后一个; first显示第一个文件;
退出时我们用 qall  关闭全部;qall!;wall
网络设置
查看使用 ifconfig [ethx] 命令配置接口
   ifconfig  -a  显示所有网卡的信息。若是没有-a只显示活动的网卡信息。其中网卡l0-->loopback  测试传输TCP协议的。
   ifconfig  eh0  IP/NETMASK  临时配置网卡IPNETMASK的但会立即生效。
      如  ifconfig  eth0  192.168.1.2/24
配置以太网设备
    此配置文件保存在   /etc/sysconfig/network-scripts/ifcfig-ethX
      此配置会永久有效但不会立即生效,这就需重启服务后才能有效:service  network restart  或用  ifdown  ethX    ifup  ethX
    在此文件的选项有:DEVICE=ethX
                      HWADDR=0:02:8A:A6:30:45
                      BOOTPROTO=dhcp/static
                      ONBOOT=yes/no
                      TYPE=Ethernet
              当BOOTPROTO=static
                     IPADDR=192.168.1.2
                     NETMASK=255.255.255.0
                     GATEWAY=192.168.1.1
    使用route  -n  可以看到网关信息。
主机名的配置
      我们可以查看此文件 /etc/sysconfig/network  设置有:
           NETWORKING=yes   是否启用联网;
           HOSTNAME=server1.example.com  系统的主机名;
           GATEWAY=192.168.1.1 设置网关;
         在当文件..../ifcfig-ethX中也定义了网关时会用这个文件...../ifcfig-ethX中网关的配置。
         此方法配置不会立即生效但会永久有效,而命令hostname   【主机名】 会立即有效但不会永久有效。则同时运用这两个配置即会立即有效也会永久有效。
DNS配置
   域名服务器把主机名转换成网络地址
   服务器的地址被dhcp或在/etc/resolv.conf中指定。
      search  example.com  cracker.org
      nameserver 192.168.0.254
      nameserver 192.168.1.254
我们最多可以添加3nameserver行因为服务被一次使用,所以应该把最快的和最先可用的服务器放在最前面。
 search 指令指定了在给定了不完整的DNS名称时你应该搜索的域。例如上个search中指定的域,如果运行ping server1这个命令,系统首先试图解析searver.example.com这个名称,只有在企图失败后才会试用server1.cracker.org
   对一个网卡配置多个IP地址,我们可以给这个网卡起别名
        eth0 --->eh0:0/eth0:1
              DEVICE=
              BOOTPROTO=
              IPADDR=
              NETMASK=
              ONBOOT=
为什么我们的网卡名称叫ethX呢?这就定义在文件/etc/modprobe.conf
 我们还可以用route  add [--net|--host]  Dest  netmask   MASK   gw  gwdev)配置网关信息
     如: route  add  -net  0.0.0.0  netmask 0.0.0.0  gw  192.168.0.254
 此设置也不会永久有效,若要则需在/etc/sysconfig/network-scripts
   Vim  route-eth0    添加  10.0.0.0 255.0.0.0 via 192.168.0.254
      
 什么是进程? 
   进程就是被载入内存的一个指令集合。
   在Linux系统中,触发任何一个事件,系统都会将定义成为一个进程,并且给这个进程一个ID,称为PID,同时根据这个进程的用户与相关属性关系,给这个PID一组有效的权限设置。Linux内核通过进程的PID来跟踪他的方方面面,运行信息位于/proc目录中,其中进程号在1——32767中产生。进程号1永远属于init这个进程。因为init是你启动linux时的第一个进程。而后其他进程都是他衍生出来的,是她的子进程。子进程都是从父进程衍生出来的。我们可以用命令“pstree”来看产生的进程。
   内核的几大功能:内存管理,进程管理,硬件管理,cpu管理,文件系统管理。
   查看进程信息(ps)  包括所有终端的进程;
             系统中有两种进程:用户进程(终端进程) ; 守护进程(在启动Linux时都运行了)
                      x  显示不包括终端进程,显示守护进程;
                      u  显示进程所有者的信息,谁发起了这个进程。
                      o  显示定制的信息  如 pid  tty
                      -e  显示所有信息(=ax
                      -f   显示完整格式的信息  如  ps  -ef
Pid   进程号
Command   那个命令启动了这个进程
%cpu  cpu使用率
%men  内存使用率
State   进程状态   D(不可打断的休眠)   Rrunning) SsleepingTstoppedXdead<(高优先级进程)  N(低优先级进程) L(被锁定在内存中) Zzombie) l(多线程)+(在前台运行的程序) start(进程的开始时间)
Tty    
Euser  effictive  user name
Ruser   发起者
Vsz    占用虚拟内存大小
Rss     非虚拟内存大小
Time  占用cpu的累加时间
我们也可以用  ps  aux | grep  x  显示特定进程。
Pgrep  支持正则表达式的命令
   Pgrep  -U  root
          -G    student
 Pgrep -l  1  ;   pgrep  -U  root  -v   反向显示;
按确切的程序名称: pidof  如  pidof  bash
进程之间通讯的信号;常用信号,
信号15, term(默认)  整洁终止
信号 9,  kill    立即终止
信号1,   hup   重读配置文件
 我们可以用man  7  signal  显示完整列表;
给进程发送信号
   按PID : kill  pid  如  kill  3428 
   按名称:  killall  comm   如  killall  httpd
   按模式:   pkill   pattern   关闭某些匹配模式的进程
调度优先性决定对CPU的使用:
 优先性受进程的(Nice value)影响,这个值的范围是-2019之间,默认为0!值越小说明对cpu的使用越优先。
我们可以改变调度优先值:
   在启动进程时:  nice  -n  5  命令(如ifconfig
   在启动后:  renice  5  PID    如   renice  15  -p  PID
只有根用户才能降低nice的值(提高其优先性),普通用户只能提高nice值。
查看nice值:  ps  axo  pid nice
显示实时的进程信息,动态查看进程信息的命令 top
Top默认每隔5秒刷新一次。
   #top
Cpus0.0%us(用户发起的进程) 0.1%sy(系统发起的进程) 0.0%ni(修改nice值的百分比) 99.4%idcpu的空闲率) 0.0%wacpu等待) 0.0%hi(硬件中断)0.0%si(软中断)0.0%st(被虚拟机偷走的时间)
Top   -b  -n 2
在后台运行进程:在命令行添加一个&
暂停某个运行进程:使用ctrl+z或发送信号17stop
管理后台进程和暂停进程
   列举进程的号码和名称:jobs  jobs -l  同时也显示进程号: -r  仅列出那些运行状态的作业;  -s  仅列出那些停止状态的作业
   在后台运行:bg  %作业号码;  %可以省略
   在前台运行:fg   %作业号码;
   发送信号:kill  -[信号] [%作业号码]  %不可省略
一次性运行进程使用at (用mail查看创建的进程已经完成),重复性运行使用crontab
   At  time  创建    使用ctrl+d结束             crontab  -e
       -l    列举                               crontab  -l
       -c  作业号码   详情
       -d  作业号码   删除                     crontab -r
Crontab 包括以下几段:
  Min  hour   day  month   week-day   command
  如   10  3,9  *  *  *  echo how  are  you!”
    在每天的9:103:10分别发送
crtontab编写的文件保存在/var/spoo/cron/
为了弥补crontab24小时在线的缺点,这时使用anacron,他可以在开机后执行所没有执行的作业。
Trap 捕捉信号  如  trap  do not interrup me!” INT  ctrl+c
环境变量
   Path  命令搜索路径        
   声明坏境变量:export A 或 declare  -x  A
某些通用变量
  Ps1  变量设置提示符;默认常用的转义序列包括:
    \h  主机名; \u  用户名;\w  当前工作目录; \$ 若是root用户显示#,若是普通用户显示$
别名(aliase
   如  alias dir= 'ls  -l'
撤销别名  unalias 别名
如果想使用rm命令本身而不通过它的别名,需用\rm
   如  alias  rm=rm  -i
       \rm  -r  junk
登录shell和非登录shell
   登录shell是某个用户登录到系统后启动的shell。非登录的shell是使用其他方式启动的shell,可能是被用户或程序发出bash命令后启动。
Bash启动任务:profile
  保存在/etc/profile文件(全局)和~/.bash_profile文件(用户)中
   只为登录shell运行。
   用于设置环境变量,运行命令(如邮件检查程序脚本)
   /etc/profile shell脚本是登录shell启动后运行的第一个启动脚本,它只为登录的shell运行;非登录shell不会引用这个脚本。
  登录shell 首先调用/etc/profile这个文件,该文件调用/etc/profile.d。然后,~/.bash_profile这个文件被调用。
Bash 启动任务: bashrc
   保存在/etc/bashrc文件(全局)和~/.bashrc文件(用户)中
为所有shell运行
用于设置本地变量,定义别名。
Bash退出任务
  保存在~/.bash_logout文件中(用户)
   在退出登录shell时运行
   用于创建自动备份,清除临时文件。