Linux中vim的使用和进程管理


 

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表示忽略大小写

配置vi和vim

   动态配置  :set (列举一小部分重要的配置项目)或 :set all (例举所有配置项目)

   :set  number  设置行号; :set  autoindent(ai)  自动缩进

   :set  ignorecase(ic) 忽略大小写;  :set  nowrap   不拆行显示

    Syntax  enable  on ,off ,enable,clear  语法着色。

若是取消用 :set no[]   如  :set  noai

永久配置:  ~/.vimrc  或者~/.exrc

   要保存这些配置,因此每次启动编辑器时都能够使用它们,需要把那些配置项目的命令放在~/.vimrc文件中。如果该文件不存在,vi和vim就会读取较老的~/.exrc文件。

在vi中我们还可以分屏查看,在末行模式中输入:split,或ctrl+w,s  会水平分割屏幕;

Ctrl+w,v  会垂直分割屏幕;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  关闭全部;

 

什么是进程?

   进程就是被载入内存的一个指令集合。

   在Linux系统中,触发任何一个事件,系统都会将定义成为一个进程,并且给这个进程一个ID,称为PID,同时根据这个进程的用户与相关属性关系,给这个PID一组有效的权限设置。Linux内核通过进程的PID来跟踪他的方方面面,运行信息位于/proc目录中,其中进程号在1——32767中产生。进程号1永远属于init这个进程。因为init是你启动linux时的第一个进程。而后其他进程都是他衍生出来的,是她的子进程。子进程都是从父进程衍生出来的。我们可以用命令“pstree”来看产生的进程。

   内核的几大功能:内存管理,进程管理,硬件管理,cpu管理,文件系统管理。

   查看进程信息(ps)  a 包括所有终端的进程;

             系统中有两种进程:用户进程(终端进程) ; 守护进程(在启动Linux时都运行了)

                      x  显示不包括终端进程,显示守护进程;

                      u  显示进程所有者的信息,谁发起了这个进程。

                      o  显示定制的信息  如pid  tty

                      -e  显示所有信息(=ax)

                      -f   显示完整格式的信息  如  ps  -ef

Pid   进程号

Command   那个命令启动了这个进程

%cpu  cpu使用率

%men  内存使用率

State   进程状态   D(不可打断的休眠)   R(running)S(sleeping)T(stopped)X(dead)<(高优先级进程)  N(低优先级进程)L(被锁定在内存中)Z(zombie)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)影响,这个值的范围是-20到19之间,默认为0!值越小说明对cpu的使用越优先。

我们可以改变调度优先值:

   在启动进程时:  nice  -n  5  命令(如ifconfig)

   在启动后:  renice  5  PID    如   renice  15  -p  PID

只有根用户才能降低nice的值(提高其优先性),普通用户只能提高nice值。

查看nice值:  ps  axo  pid ,nice

显示实时的进程信息,动态查看进程信息的命令top

Top默认每隔5秒刷新一次。

   #top

Cpu(s)0.0%us(用户发起的进程)0.1%sy(系统发起的进程)0.0%ni(修改nice值的百分比) 99.4%id(cpu的空闲率)0.0%wa(cpu等待)0.0%hi(硬件中断)0.0%si(软中断)0.0%st(被虚拟机偷走的时间)

Top   -b  -n 2

在后台运行进程:在命令行添加一个&

暂停某个运行进程:使用ctrl+z或发送信号17(stop)

管理后台进程和暂停进程

   列举进程的号码和名称: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:10和3:10分别发送

用crtontab编写的文件保存在/var/spoo/cron/中

为了弥补crontab要24小时在线的缺点,这时使用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时运行

   用于创建自动备份,清除临时文件。

相关内容

    暂无相关文章