vim文本編輯器

文本編輯器,字處理軟件

1,vi,vim(vi improved)

2,Emacs

vim ,linux   模式化的編程器:
    1、輸入模式
    2、命令模式(編輯模式)
    3、末行模式

vim如何打開文件:
vim FILE 

vim +n FILE  讓光標處在第n行行首

vim +/PATTERN FILE   +/PATTERN   正則表達式過濾字符串本身
 

不支持兩次打開同一編輯器,否則會報錯。

vim如何關閉文件:
:wq   保存退出
:q!  不保存  退出
:q   沒有輸入內容,直接退出

a   轉換輸入模式,在當前光標處後面
A   當前光標行尾,轉換輸入模式
i   當前光標所在處轉化到輸入模式
I   行首轉換到輸入模式
o   開啓一個新行,在當前光標下一行開啓
O   在當前光標上一行開啓一個新行

Esc鍵編輯模式轉換到輸入模式
:    編輯模式轉換到末行模式
兩下ESC 

光標移動:h  左   j  下    k  上    l 右

w  跳轉到下個單詞詞首   
e  調到前一個單詞詞尾(本單詞光標不在詞尾,跳轉到本單詞詞尾)   
b  調到前一個單詞詞首(本單詞光標不在詞首,跳轉到本單詞詞首)

^  行首第一個非空白字符
0  行首第一個絕對字符
$  行尾

行間跳轉
G    10G   快速跳到第10行
     G     調到文件底部

:n   末行模式下敲:n  快速跳到第n行

如何時間翻屏:
Ctrl+f    往尾部翻一屏
Ctrl+b    往首部翻一屏

Ctrl+d    往尾部翻半屏
Ctrl+u    往首部翻半屏

編輯操作:
x   刪除當前光標所在處的字符    5x  刪除當前光標之後5個字符

d   刪除命令
dd  刪除光標所在行
ndd  刪除光標所在行一直向下的n行

dw  
de
db
d^
dG

末行模式也能進行刪除:
ADDR1,ADDR2d
:1,8d
:8d

.   表示當前行
$   表示最後一行
.,$-1   當前行到倒數第二行

改寫操作:
c
cc:刪除光標所在行,並轉換至輸入模式
ncc:  刪除光標所在行,並轉換至輸入模式

c$  刪除光標所在位置到行尾 
c0  刪除光標所在位置至行首
ncw
ncb
nce

複製操作:
y
yy
nyy
y$,y0
3yw   複製光標後三個字符


粘貼:
小寫p   複製的行,當前光標所在行的下面粘貼
大寫P   複製行,當前光標所在行的上面粘貼

撤銷命令:
u (undo)   撤銷上一次的操作  默認保存50次操作
U  撤銷緩衝區裏的操作

撤銷上一次的撤消操作:
Ctrl+r

.   重複上一次的操作

r   把上一個字符替換成r後的字符

用法:a
      r A

可視化模式
v小寫   按字符選中
V大寫   按行選中

如何一次打開多個文件:
vim FILE1 FILE2 FILE3
在多個文件之間跳轉:
跳轉到第一個  first
跳轉到前一個  prev
跳轉到下一個  next
跳轉到最後一個  last

多一個文件實現分頁查看 

上下分頁:
vim -o   文件名

窗口間切換:Ctrl w arrow

左右分頁:
vim -O

對一個文件進行窗口拆分:
Ctrl+w,s   水平拆分
Ctrl+w,v   垂直拆分

設置vim的工作特徵:
末行模式:set nu     顯示行號
        :set nonu   取消行號顯示

定義縮進:
末行模式:set ai
        :set noai

語法高亮(顏色顯示)
:syntax on
:syntax off

全局配置:
      /etc/vimrc
個人設置:
      ~/.vimrc

搜索具有特色特徵的字符串:
/PATTERN
?PATTERN  從尾部到首部搜索

查找並替換:
在末行模式下使用s命令來實現

:ADDR1,ADDR2s/PATTERN/string/g全局替換(同一行中的相同內容)i

global:
ignore-case:

s/ab/AR/g

m,n
.,80
.,+20


%s@ftp://instructor.example.com/pub@http://192.168.0.254/yum@g  把ftp替換成hettp
%s@      @     @g   中間@是分隔符   g表示全局替換    %s表示從第一行到最後一行

vimtutor  這裏有vim的教程   可以打開看看

進程 Process: 計算資源的分配單位

PID  內存結構的組成部分

cpu:32bit   64bit

cell

文本編輯器:
IO密集型:
cpu密集型:

進程狀態:
運行態
就緒態
睡眠態:可中斷睡眠;不可中斷睡眠
停止態:由於外力的作用
僵死態:zombie
init,1

父process--》子process

進程狀態之間怎麼轉換:

pstree  進程樹

persona
security context 

ps命令:
    -e   顯示所有進程(默認不加-e  只顯示前臺進程(前臺是那些某個tty相關的進程;後臺是跟tty無關))
    -u [USER]  顯示跟用戶相關的進程
     a    所有跟終端相關的進程
     x    表示所有和終端無關的進程
     -f   完全格式的列表
     -F   prints extra information
     -axo  pid,%cpu
ps  aux
   ps  aus | grep sendmail
   ps aus  | wc -l
ps  -eF
ps  -ef


加了中括號的表示這是一個內核線程

ps ax中的STAT
S:處於睡眠  sleeping
s:會話的領導進程  session leader
<:high priority   高優先級
N:low priority   低優先級
l:多線程進程  multithread
+:前臺進程組中的進程
D:不可中的的睡眠
S:可中斷的睡眠
R:可以運行   running or runable
T:停止態stopped
Z:僵死態
     
pgrep:
    -U   跟用戶相關的特定進程
    -G   跟組相關的特定進程
    -v   顯示匹配不到的進程   反向過濾
   
pidof   查找正在運行的進程的進程號

top  
   -d N   延遲
  

pstree

進程間通信:IPC
     通過信號
     通過共享內存
     /proc
    
信號:
   man 7 singal
   kill -l

mywebserver /etc/mywebserver.conf

1  表示信號
SIGHUP 
HUP  
   
SIGINT

SIGKILL

SIGCONT

19SIGSTOP   讓對方處於停止態

kill\killall

kill -singal PID  

httpd

killall -signal command

kill 123   默認信號是15

kill -HUP httpd

pkill 

kill 1
kill %1  
如何改變系統的優先級:
      動態優先級:內核會根據動態特徵獨立控制的優先級(0-99)  數字越小,優先級越高
      靜態優先級:(100-139)
 
nice值:-20-19 
啓動系統的nice值0,對應優先級是120

調整一個系統的nice值,有兩種方式:、
1、nice -n N command   剛啓動一個命令的時候
2、renice N PID   調整某個進程的PID

作業控制:

作業的運行方式:
前臺運行
後臺運行

前臺--》後臺:停止運行
Ctrl+z

將進程從前臺送到後臺(讓送往後臺並停止了的進程在後臺繼續運行):
     bg[%jobnum]


後臺送到前臺:
     fg[%jobnum]

作業號碼:
    fg %2

jobs 查看當前進程

COMMAND &

man nohup,tty

nohup COMMAND &

命令或腳本的退出狀態:
0-255
正確:0
失敗:1-255
1
2
7     被系統預留
$?  狀態碼

exit 8   定義退出的錯誤碼是8
exit 0-255

表達式之間的邏輯關係:
!expression
expression1 && expression2
兩者都爲真  才真
所以判斷第一個是假,一定是假
這就是短路操作
expression1 || expression2


真 或 假

!0=1
!1=0

fedora

for  in {1..10}; do
useradd $user
grep "$user" |


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章