Linux中vim的使用和進程管理

來源:互聯網
上載者:User

 

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    前一個單詞的詞首

                 行首行尾間跳轉:^(非Null 字元的行首),0(Null 字元行首)

                                  $(此行最後的字元)

                  句間跳轉: )    下一句句首;  (   前一句句首

                  段間跳轉:}      下一段段首;  {    上一段段首

                  行間跳轉: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  支援Regex的命令

   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時運行

   用於建立自動備份,清除臨時檔案。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.