因為要在Linux操作系統(tǒng)下寫HDL待讳,所以需要對Linux系統(tǒng)下的一些命令比較熟悉疚膊,以下做一下對Linux系統(tǒng)做一些概述性的東西,以便用到時進(jìn)行查閱青瀑。
一、終端和Shell
當(dāng)用戶通過終端登錄到系統(tǒng)時萧诫,其實使用的是shell程序斥难。Shell用戶可以通過Shell提供的命令程序與操作系統(tǒng)進(jìn)行交互以完成相關(guān)的工作。Linux中的Shell程序有多種帘饶,如bash哑诊、sh、csh等及刻。Ubuntu默認(rèn)的是bash镀裤。
1、Shell提示符
xuqing@master: ~ $
<用戶名>@<計算機(jī)名>:<當(dāng)前目錄>
“~”符號在Linux中表示“當(dāng)前用戶主目錄”缴饭,當(dāng)前用戶的目錄是“/home/xuqing”
2暑劝、Shell命令格式
<命令> [選項] [參數(shù)]
命令:必須輸入,是Shell的命令
選項:可選輸入颗搂,是包含一個或多個字母的代碼担猛,主要是用來改變命令執(zhí)行的方式,一般以“-”開頭,用于區(qū)分參數(shù)傅联。
-
參數(shù):可選輸入先改,指定命令要操作的對象,如文件名或者目錄名蒸走。
xuqing@master: ~ $ ls -al /usr
3仇奶、查看幫助
- 查看外部命令,man <外部命令>或者<外部命令> --help
例如:man ls
或者ls --help
- 查看內(nèi)部命令比驻,help <內(nèi)部命令>
例如:help if
二该溯、文本編輯器
用戶在使用Linux過程中經(jīng)常需要編輯文本文件,比如創(chuàng)建Verilog HDL的源程序文件别惦,編寫Shell程序自動執(zhí)行命令等朗伶,因此必須掌握至少一種文本編輯器以便高效地輸入文本和修改文本文件。
- gedit: 圖形化文本編輯器程序步咪;
- vim:在Shell中運行的基于命令行的文本編輯器。
1益楼、gedit
在終端中輸入gedit或者gedit&猾漫,就會出現(xiàn)圖形界面,其使用方式類似于Windows下的記事本或者寫字板程序感凤,此處不做過多介紹悯周。
2、vim
vim不需要圖形化環(huán)境陪竿,可以在Shell下直接運行禽翼,其功能強(qiáng)大而且運行速度快。
vim在運行過程中處于三種模式之一
- 正常模式族跛,也叫命令模式闰挡,vim剛啟動時處于該模式下,可以輸入各種命令來控制vim礁哄;
- 文本模式长酗,該模式下可以進(jìn)行文字的輸入;
-
命令行模式桐绒,也叫底行模式夺脾,在該模式下可以在vim的最下面一行輸入命令來控制vim,例如文件的保存茉继、vim的退出等咧叭。
三種模式的相互轉(zhuǎn)換圖如下:
2.1 vim的基本操作
-
啟動vim
在終端中輸入命令:vim
-
文本輸入
在正常模式下輸入字符“a”或者是“i”進(jìn)入文本編輯模式。 -
文件保存
文本輸入完畢后按下Esc鍵烁竭,進(jìn)入正常模式菲茬,然后輸入冒號“:”,接下來輸入“w test.txt”,這樣就能將內(nèi)容寫入到test.txt中去生均。 -
退出vim
進(jìn)入命令行模式
輸入“:wq”即為保存并退出听想;
輸入“:q”即為退出;
輸入“:wq test.txt”即為將內(nèi)容寫入到test.txt并保存退出马胧;
2.2 vim常用的命令
vim設(shè)計之初宗旨在于只用鍵盤操作就可以快速完成vim所有的操作汉买,因此vim命令眾多。以下是vim較為常用的部分命令(以下命令在正常模式下輸入佩脊,前綴帶有冒號的命令表示命令模式下執(zhí)行)
-
進(jìn)入vim
- vim蛙粘,啟動vim
- vim 文件名,啟動vim并打開或者新建文件
-
光標(biāo)移動
- h威彰,向左移動一個字符
- l出牧,向右移動一個字符
- j,向下移動一行
- k歇盼,向上移動一行
- 0或<HOME>舔痕,移動到行開始(注意是數(shù)字0)
- $或<END>,移動到行尾
- w,移動到下個單詞的詞首
- b,移動到上個單詞的詞首
- e,移動到下個單詞的詞尾
- ge,移動到上個單詞的詞首
- ^,移動到當(dāng)前行的第一個非空白字符上
- g_,移動到當(dāng)前行的最后一個非空白字符上
- nG,跳轉(zhuǎn)到指定的第n行
- gg,跳轉(zhuǎn)到第一行
- G,跳轉(zhuǎn)到最后一行
- H,跳轉(zhuǎn)到當(dāng)前屏幕的首行
- M,跳轉(zhuǎn)到當(dāng)前屏幕的中間一行
- L,跳轉(zhuǎn)到當(dāng)前屏幕的尾行
- ZZ,將當(dāng)前行放到屏幕中央
搜索單字符
- fx,在當(dāng)前行上查找下一個字符x
- Fx,在當(dāng)前行上查找上一個字符x
搜索字符串
- /,先鍵入/豹缀,再輸入想要搜索的字符串伯复,然后回車。.*[]^%/?~$這些具有著特殊的意義邢笙,如果想要搜索這些字符本身啸如,需要在前面加上反斜線\
搜索Word
將光標(biāo)置于Word上,*代表向后查找氮惯,#代表向前查找
vim搜索到的字符一般處于高亮狀態(tài)叮雳,如果你想跳到下一個匹配的字符串,鍵入n,如果是跳到上一個則是N妇汗。
移動到匹配的括號上
- %,默認(rèn)的匹配括號包括三種:()[]{}帘不。當(dāng)多層次時能夠迅速匹配,如果想加入新的匹配符號"<>",可以做如下命令:set mps+=<:>
- '.杨箭,跳到最后修改的那一行
- `.厌均,跳到最后修改的那一點
- gd,跳轉(zhuǎn)到文件第一次出現(xiàn)的地方告唆,通常是變量定義的地方
- ma棺弊,用字母a標(biāo)記當(dāng)前光標(biāo)所在的位置,這里a可以是任意字母
- `a擒悬,跳轉(zhuǎn)到a處
- ``模她,跳轉(zhuǎn)到上一次光標(biāo)所在處
vim中基本的編輯命令形式:編輯命令+作用范圍
刪除:d 復(fù)制:y 改變:c(改變的含義為刪除并進(jìn)行插入)
文本刪除
- dd,刪除當(dāng)前行,3dd刪除3行
- dw懂牧,刪除光標(biāo)所在位置到下一個字的第一個字母(包括空格)
- cw侈净,刪除光標(biāo)所在位置到下一個字的第一個字母(不包括空格)
- daw尊勿,刪除一個單詞(包括詞尾空格)
- diw,刪除一個單詞(不包括詞尾空格)
- das畜侦,刪除一句話
- dfx元扔,刪除光標(biāo)所在位置到本行中下一個字符x出現(xiàn)的位置
-
x,刪除當(dāng)前光標(biāo)下的字符
- nx旋膳,刪除光標(biāo)后n個字符澎语,例如3x
- nX,刪除光標(biāo)前n個字符验懊,例如3X
-
撤消/重做
- u擅羞,恢復(fù)上一條命令
- .,重復(fù)一條命令
-
搜索
- /字符串义图,向下搜索字符串
- 减俏?字符串,向上搜索字符串
- n碱工,繼續(xù)搜索
- N娃承,繼續(xù)向相反方向搜索
替換 [range]substitute/from/to/[flags]
- “.”代表當(dāng)前行;“$”代表最后一行怕篷;“%”代表對所有的進(jìn)行操作草慧,如果不指定范圍,則只替換本行的對象
“+-”相對偏移量匙头,例如:與其等價的描述是在當(dāng)前行鍵入“5:”,在vim的左下角就會出現(xiàn)等價的描述“.,.+4”仔雷,含義為表示從當(dāng)前行下到當(dāng)前行的第5行這個范圍內(nèi)進(jìn)行替換操作蹂析。 - substitute/from/to 可以用s來替換
- flags 這個附加參數(shù)包括i(不區(qū)分大小寫)g(替換一行中所有符合的字符串)p(列出所有被改變的行)c(在執(zhí)行每個替換前都要求用戶確認(rèn)) 如果不指定參數(shù),那么只替換一行中第一次被發(fā)現(xiàn)的目標(biāo)字符串
- ra碟婆,用字母a替換當(dāng)前光標(biāo)下的字符
- R电抚,可以實現(xiàn)多字符替換,其實也就是shift+r鍵
- :s/p1/p2/g,將當(dāng)前行中所有p1均用p2替換
- %s/p1/p2/竖共,將當(dāng)前所有的文本進(jìn)行替換
- :n1,n2s/p1/p2/g蝙叛,將第n1行至n2行中所有的p1均用p2替換
-
:.,.+4s/p1/p2/g,將光標(biāo)所在的當(dāng)前行直至當(dāng)前行的下面4行中所有的p1均用p2替換
- :g/p1/s//p2/g公给,將文件中所有的p1均用p2替換
-
復(fù)制/粘貼
- nyy借帘,將當(dāng)前第n行放入緩沖區(qū)
- yy,復(fù)制一整行
- p淌铐,將緩沖區(qū)的內(nèi)容放到當(dāng)前行下面
- P肺然,將緩沖區(qū)的內(nèi)容放到當(dāng)前位置的上面
三、大小寫轉(zhuǎn)化
visual下腿准,鍵入hjkl選中區(qū)域
- U际起,小寫變大寫
- u,大寫變小寫
- U,小寫變大寫- U街望,小寫變大寫
- Ctrl - p 插入模式下進(jìn)行單詞補(bǔ)齊(向前查找單詞)
- Ctrl - n 插入模式下進(jìn)行單詞補(bǔ)齊(向后查找單詞)
一校翔、查找單詞
- 將光標(biāo)移動到所需要關(guān)注的Word上,按*號灾前,文中所有的這個Word都會被選中高亮防症。
- /word,查找含word的詞
- /<word>豫柬,只查找word這個單詞
二告希、折疊
- normal模式下,移到所要的行烧给,鍵入zf18j(折疊光標(biāo)以下18行)
- visual模式下燕偶,用jklh選中要折疊的文本,鍵入zf础嫡,zo指么,打開折疊;zr,打開所有折疊榴鼎;zc,關(guān)閉折疊伯诬,zm,關(guān)閉所有折疊
3、對齊
左對齊:{range}left[margin],range是需要進(jìn)行對齊的行范圍巫财,margin是對齊后的行首距離窗口最左邊的距離盗似。例::90,100 left 0 左對齊
右對齊:{range}right[width],range是需要進(jìn)行對齊的行范圍,width是對齊后每行的長度
-
保存文件
- :w平项,存盤
- :w 文件名赫舒,存盤至文件
-
退出vim
- :q,退出
- :wq闽瓢,保存退出
- :q!接癌,強(qiáng)制退出
補(bǔ)充:
- VISUAL模式下,選中文本之間按c鍵就可以將選中的文本刪除扣讼,并變?yōu)閕nst模式缺猛。