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
什麼是進程?
進程就是被載入內存的一個指令集合。
在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時運行
用於建立自動備份,清除臨時文件。