Linux VIM,引导流程解析
Vim/Vi沒有菜單,只有命令
注:熟記vi命令身懷絕技的朋友請路過,以防走火入魔。感覺見到VI命令就頭疼難記的兄弟們,結合心法實際操練。(其中只包括插入、定位、刪除、剪切、復制命令)
--------------------------------------------------------------------------------
行頭尾上,用IAO 插入
標前后下,用i a o ;
--------------------------------------------------------------------------------
哥倆(gg)爭到第一行 , 定位
大哥(G)無奈落尾行 ;
牛哥(nG)定位真夠牛 ,
n變數字行間走 ;
美元(﹩)貶值到行尾,
零是(0)初始到行首 ;
--------------------------------------------------------------------------------
光標定位所在處 , 刪除
愛克斯(x)刪除要記住 ;
牛擦(nx)這人是裁縫,
精準剪掉標后符 ;
弟弟(dd)業內他最強,
定為哪行刪哪行;
的哥(dG)本領也不賴,
從行到尾刪的快;
大弟(D)一直張著嘴,
咬掉光標到行尾 ;
--------------------------------------------------------------------------------
復制有個小二歪(yy), 復制
以下幾行用牛二歪(nyy);
--------------------------------------------------------------------------------
弟弟(dd)絕技屬剪切 , 剪切
前加數字向下剁;
--------------------------------------------------------------------------------
大P小p只管粘 , 粘貼
行上行下不能顛。
先開啟忽略大小寫:set ic,再/string,當不需要搜索忽略大小寫時:set noic,n是往后移動搜索結果,N是往前移動
應用實例
導入文件:r文件名 例如 r /etc/issue
導入命令執行的結果,如導入當前時間:r !date
在Vi中執行命令:!命令 :!ls /root
定義快捷鍵:map快捷鍵觸發命令
范例: :map ^p I#<ESC> ^p必須是用ctrl+v+p敲 出來
取消快捷鍵是unmap ^p
:map ^B 0x
連續行注釋 :n1,n2s/^/#/g 表示從n1到n2行增加#
:n1,n2s/^#//g 表示把n1到n2行首的#去掉
:n1,n2s/^/\/\//g 表示在n1到n2行首增加//
替換:ab sammail samlee@lampbrother.net 當在vi里面輸入semmail時會變成后面的郵件地址
改變vim的配置文件 vi ~/.vimrc
系統引導流程
固件firmware(cmos/bios) → post加電自檢
↓
自舉程序bootloader(GRUB) → 載入內核
↓
載入內核kernel →驅動硬件
↓
啟動進程init
↓
讀取執行配置文件/etc/inittab
常用固件設置
安全設置
可引導介質列表
可引導介質搜索順序
電源管理
啟動細節顯示
……
固件設置實例
Date查看的是軟件的時鐘,hwclock是硬件時鐘,硬件和軟件時鐘不同步的話必須調到一致,
內核 hwclock –htcosys 設置硬件時鐘同步系統時鐘 hwclock –systohtc 設置系統時鐘同步到硬件時鐘,如果硬件和系統時鐘都錯了的話,使用hwclock –set –date=””來設置硬件時間,或者man date,可以看到date的用法,使用date 121511302010.38設置系統時間
Linux版本 比如2.2.16 第二個2,即第2為,如果為偶數代表是正式版,為奇數代表是測試版
Init的工作
Init啟動后讀取inittab文件,執行缺省運行級別,從而繼續引導過程。在unix系統中,普通進程每次開機后PID都不一定是一樣的,但init是第一個可以存在的進程,它的PID恒為1,但它也必須向一個更高級的功能負責:PPID為0的內核調度器(kernel scheduler),從而獲得CPU時間。
Linux的運行級別
使用vi /etc/inittable查看
1模式類似windows的安全模式,1模式只有root可以登錄,而且沒有圖形界面,如果linux無法正常啟動,則可以選擇進入1模式修復,2和3模式基本一樣,都是字符界面,區別是2沒有網絡文件系統這個服務,NFS是用于實現windows和linux之間的文件共享,現在很少使用NFS了,推薦使用FTP,SSH服務,4是沒有使用,但是可以自己定義一個運行級別,5是系統缺省的運行級別
Inittab文件剖析
運行級的切換:
1. 查看當前的運行級
N是指NOW,S是指進行過切換了的當前運行級別
2. 運行級的切換
#init[0123456Ss]或 #telinit[0123456Ss]
telinit是一個軟鏈接,s表示切換到單用戶模式
在inittab中,所有條目采取以下格式:
id:run-levels:action:process
id:標識符,一般為兩位字母或數字
run-levels:指定運行級別,可以指定多個,為空表示所有級別都運行
actino:指定運行狀態
process:指定要運行的腳本/命令
ctrlaltdel:按下ctrl+alt+del時執行process指定的命令
action常用取值:
initdefault:指定系統缺省啟動的運行級別
sysinit:系統啟動執行process中指定的命令
wait:執行process中指定的命令,并等其結束再運行其他命令
once:執行process中指定的命令,不等待其結束
ctrlaltdel:按下ctrl+alt+del時執行process指定的命令
powerfail:當出現電源錯誤時執行process指定的命令,不等待其結束
powerokwait:當電源恢復時執行process指定的命令
respawn:一旦process指定的命令中止,便重新運行該命令
id:3:initdefault:
指定系統默認運行級別為3,如果想系統啟動后自動運行X WINDOWS,則將上面的3改為5
#system initialization
si::sysinit:/etc/rc.d/rc.sysinit
啟動腳本/etc/rc.d/rc.sysinit,完成系統服務程序啟動,如系統環境變量設置,設置系統時鐘,加載字體,檢測加載文件系統,生成系統啟動信息日子文件等。只要系統啟動都會執行/etc/rc.d/rc.sysinit這個腳本,如果想執行某個操作,則可以在/etc/rc.d/rc.sysinit的末尾后面添加腳本代碼,這樣每次系統啟動就會自動執行腳本了
/etc/rc.d/rc的作用是判斷默認運行級別,調用相應的/etc/rc.d/rc num腳本,執行相應運行級別目錄中的服務程序,完成相應運行級別的初始化設置
/etc/rc.d/init.d
該目錄下包含各個運行級別的服務程序腳本,如何啟動某個服務看下圖
/etc/rc.d/rc[0123456].d
分別存放對應于運行級別的服務程序腳本的符合鏈接,鏈接到inint.d目錄中的相應腳本
S表示start,表示在此運行級別要啟動,K表示不啟動 數字表示啟動的順序,數字越小越優先啟動,最后一部分是腳本的名稱
Firmware
|
Bootloader
|
Kernel
|
Init
|
/etc/inittab
|
Initdefault
|
/etc/rc.d/rc.sysinit
|
/etc/rc.d/rc
|
/etc/rc.d/rcN.d N=0-6
|
Username password
Linux有6種終端,按ctrl+alt+F1-F6可以在不同的終端切換,按ctrl+alt+F7是切換到圖形終端,如果在虛擬機里面是切換不了的,因為鍵位設置有沖突,要在vmware里面更改鍵位設置才行
/etc/rc3.d實際上是rc.d/rc3.d的軟鏈接,但是在unix下是實際存放在/etc/rc3.d下的
轉載于:https://blog.51cto.com/nizhuan/724127
總結
以上是生活随笔為你收集整理的Linux VIM,引导流程解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 忘记Oracle中System和Sys密
- 下一篇: linux进程与它的堆栈空间