嵌(qian)入式(shi)學習(xi)筆記:linux入門(men)基礎(chu),比(bi)較全面
時間:2018-09-11 來源:未知(zhi)
學習linux也不(bu)是那(nei)么(me)難,首先你就(jiu)必(bi)須掌握這些入門知識(shi),這樣(yang)才能讓你從(cong)新手變(bian)老手,下面(mian)就(jiu)從(cong)幾個方(fang)面(mian)來教你學linux
【1】Linux介紹
【2】vi編輯器(qi)
(1)三種模式:
(2)vi命令
【1】Linux介紹
(1)四個重要的人(ren)物
肯.湯(tang)姆森 B語言(yan)發(fa)明者,發(fa)明UNIX系(xi)統,發(fa)明了(le)C語
言
丹尼斯.里奇 發明了(le)C語言(yan),c預言(yan)之父,UNIX之父
理查德.斯托(tuo)曼 自由軟件之(zhi)父,GNU計劃
林納斯.托瓦茲 發明了(le)linux
(2)快捷鍵
ctrl + alt + t:打開終端
crtl+shift+n在新(xin)的終端打(da)開(kai)一(yi)個和之前終端同(tong)級目錄
crtl+shift+t在同一(yi)個(ge)終端(duan)打開一(yi)個(ge)和之(zhi)前終端(duan)同級目錄
關閉終(zhong)端:ctrl+shift+q或者 ctrl + d
字體調整(zheng):crtl+shift+(+) 放(fang)大crtl+(-) 縮小
(3)嵌入式系統
嵌入式系統是以(yi)應用為(wei)中心(xin),以(yi)計算(suan)機(ji)技術為(wei)基礎,并且軟硬件可裁剪(jian),適用于(yu)對
功能、
可靠性(xing)、成本、體積、功耗(hao)有嚴格要求的專用計算機系統(tong)。
(4)內核介紹
uname -r:查看系(xi)統內(nei)核(he)版(ban)本內(nei)核(he)下載網址(zhi):www.kernel.org
3.11.0-26-generic
內核版(ban)本號(hao):主(zhu)版(ban)本號(hao).次版(ban)本號(hao).修(xiu)訂版(ban)本號(hao)ubunt版(ban)本:cat /etc/issue
(5)Linux體系結構
Linux內(nei)核(he)———>Shell————>文(wen)件系統————>實用(yong)程(cheng)序
Shell是一個命令行解釋器,它使得用戶能夠與操作系(xi)統進行交互
(6)linux@ubuntu:~$
linux :用戶(hu)名,代表當前用戶(hu)
ubuntu:主機名
路徑: ~:家目錄
/ :根目(mu)錄
權限提示符:
$:代表的是普通用戶權(quan)(quan)限(xian),一般工(gong)作在此權(quan)(quan)限(xian)下
#:代(dai)表的是管理員權限
進(jin)入管理(li)員權限:su root 然后輸(shu)入root密(mi)碼退出(chu)管理(li)員權限:exit
如(ru)果當前(qian)已經(jing)在普(pu)通(tong)用戶(hu)權限(xian)下,exit可以(yi)退(tui)出終端指(zhi)令(ling)前(qian) + sudo:臨時使用管理員(默(mo)認)權限(xian)執行命令(ling)
(7)如(ru)何添加(jia)共(gong)享文件夾
虛擬機 --> 設(she)置(zhi) --> 選項 --> 共享(xiang)文件夾 -->總是啟(qi)用-->添加路徑-->確(que)定(ding) cp /mnt/hgfs/share/file1.txt .
(8)關機重啟命令(ling)
關機命令:
sudo shutdown -h now 立即關機
sudo shutdown -h +n n分鐘(zhong)后關機
其他(ta)關(guan)機命(ming)令:halt poweroff init 0
重啟命令:
sudo shutdown -r now 立即重啟(qi)
sudo shutdown -r +n n分鐘(zhong)后重啟
其他重啟命令:sudo reboot now init 6
【2】vi編(bian)輯器(qi)
vi是(shi)Linux中最常用的文本編輯器,嵌入式系統(tong)開發人(ren)員要(yao)能熟練使用這個工具,vim是(shi)其改進版本
vi + 普通文(wen)件名
如果該文(wen)件存在,則打(da)開,如果不存在,創建并打(da)開
將(jiang)光(guang)標停留在某(mou)個(ge)函數(shu)上,Shift + k 可(ke)以(yi)直接跳入man手冊
(1)三種(zhong)模(mo)式:
命令(ling)行模(mo)式:主要用于進入(ru)插入(ru)模(mo)式、復制(zhi)、粘貼(tie)等功(gong)能(neng),剛打開的編(bian)輯器為命令(ling)模(mo)式,
或者在其他模式(shi)下按ESC進(jin)入命令模式(shi)
yy(Yank);拷貝光標所在行的內容
[n]yy:拷貝自光標那一行起n行的內容
dd(Delete):剪切(qie)、刪除光(guang)標所在行(xing)的內容 [n]dd:剪切(qie)、刪除自光(guang)標那一行(xing)起n行(xing)
的(de)內(nei)容 p(Put):在(zai)光標(biao)行的(de)下一行粘貼(tie)
P:在光標行的(de)上一行粘貼
u(Undo):撤銷 ctrl + r 恢(hui)復
[n]x(Expurgate):剪切光(guang)標所在n個字符
gg:光標定(ding)位到第一行
G:光標定位(wei)到最后(hou)一(yi)行(xing)
插入模式:
i,a,o,s ,r,c
a:(append)進(jin)(jin)入(ru)編輯狀態,從光(guang)(guang)標(biao)(biao)(biao)的(de)位置后開始(shi)插入(ru)資(zi)料(liao)(liao)A:從光(guang)(guang)標(biao)(biao)(biao)所(suo)(suo)(suo)在列 后面(mian)(mian)的(de)地方開始(shi)新(xin)增資(zi)料(liao)(liao)i:(Insert)進(jin)(jin)入(ru)編輯狀態,從光(guang)(guang)標(biao)(biao)(biao)的(de)位置前開始(shi)插入(ru)資(zi)料(liao)(liao)I:從光(guang)(guang)標(biao)(biao)(biao)列的(de)第一個非空白字(zi)符前面(mian)(mian)開始(shi)插入(ru)資(zi)料(liao)(liao)o:在光(guang)(guang)標(biao)(biao)(biao)所(suo)(suo)(suo)在行(xing)下新(xin)增一行(xing)并(bing)進(jin)(jin)入(ru)輸(shu)入(ru)模(mo)式O:在光(guang)(guang)標(biao)(biao)(biao)所(suo)(suo)(suo)在行(xing)上(shang)新(xin)增一行(xing)并(bing)進(jin)(jin)入(ru)輸(shu)入(ru)模(mo)式s:刪除光(guang)(guang)標(biao)(biao)(biao)所(suo)(suo)(suo)處位置的(de)單個字(zi)符并(bing)進(jin)(jin)入(ru)輸(shu)入(ru)模(mo)式S:刪除光(guang)(guang)標(biao)(biao)(biao)所(suo)(suo)(suo)在行(xing)的(de)所(suo)(suo)(suo)有字(zi)符并(bing)進(jin)(jin)入(ru)輸(shu)入(ru)模(mo)式 r 修(xiu)改光(guang)(guang)標(biao)(biao)(biao)所(suo)(suo)(suo)在字(zi)符,r 后接著要修(xiu)正的(de)字(zi)符
R 進入取(qu)代(dai)模式,新增資(zi)料會覆蓋原先資(zi)料,直到(dao)按ESC回到(dao)指令(ling)模式下(xia)
c$ 刪除光標(biao)至行尾的所有字符,并進入插入模式 C 等同 c$
c0 刪(shan)除光標至行首的(de)所(suo)有字符(fu),并(bing)進入插入模式(shi)
cc 刪除當前行,并進入(ru)插入(ru)模(mo)式 等同(tong) S
:!Command 在vi中執行外部命(ming)令(ling)Command 按Esc后繼續工作
:!date 查詢當(dang)前時(shi)間按esc切換(huan)回命令行模式
底行模式:
在命令行(xing)(xing)模式下按:或者sapce進(jin)入(ru)底行(xing)(xing)模式按esc返(fan)回(hui)命令行(xing)(xing)模式,連續兩次esc快(kuai)速返(fan)回(hui)w:(write)保(bao)存
w 文件名 存入另一(yi)個(ge)文件中
r filename:讀入(ru)filename指定的文(wen)件(jian)的內容插入(ru)到光標位(wei)置
w!:強制保存
q:(quit)退(tui)出(chu)沒(mei)有修(xiu)改的文(wen)件(若(ruo)文(wen)件被(bei)修(xiu)改了而沒(mei)有保存,則此命令無效)
q!:強制退出但不保存修改過的內容
wq:保存并退出 同:x
!date:查(cha)詢時(shi)間
vsp:左(zuo)右分(fen)屏(ping) sp上下分(fen)屏(ping)
wqa:保存并退(tui)出所(suo)有打開(kai)的文(wen)件(jian)
5,8y :拷貝第5行到底8行內容
5,8d:剪切或者刪除第(di)5行到底8行內容
(2)vi命令
vi光標命令
h:方向(xiang)鍵,向(xiang)左移動光標(biao)一個(ge)字符(fu)的位置,相當于(yu)鍵“←”
j:方向(xiang)鍵(jian),向(xiang)下移動(dong)光標(biao)一(yi)個字符的位(wei)置,相當于鍵(jian)“↓”
k:方向鍵(jian),向上移動光(guang)標一(yi)個字符的(de)位置,相當于鍵(jian)“↑”
l:方向(xiang)鍵,向(xiang)右移動光標一個字(zi)符的位置,相當于鍵“→”
1G:移(yi)動(dong)光(guang)標到(dao)文件的第1行
G:移動光標到文件(jian)的 后一(yi)行
:N 移動光標到第N行(N待定)
:set number(或nu) 設置顯示行號
:set nonumber(或nonu)取消顯示(shi)行(xing)號
vi查找命令
/string:可以查找某(mou)個字符串
支(zhi)持(chi)正則表達式比如(ru):/^the (找到以the為首(shou)字(zi)符包(bao)含空的(de)一行)
/end$(找到以(yi)end為結尾的一行)
n 繼續(xu)查找
N 反向繼續查找
nohl 取(qu)消高(gao)亮
vi替換命令
利用(yong)s命(ming)令可(ke)以(yi)實現字符串的替換
:s/str1(舊串)/str2(新 對當前(qian)行第一個出現(xian)的(de)str1進(jin)行替換( '/' 左斜杠)
串)
:s/str1/str2/g對當前行所有的str1進行替換 g:表示(shi)全部(bu)替換
:.,$s/str1/str2/g從當前行(xing)到(dao)后(hou)一行(xing)進行(xing)替(ti)換(.:表(biao)示當前行(xing) $:表(biao)示最后(hou)一
行)
:N1,N2s/str1/str2/g從N1行到N2行進行替換
:1,$s/str1/str2/g從(cong)第一行到后(hou)一行進行替換(全文(wen)替換)
:%s/str1/str2/g從第一行(xing)到(dao)后一行(xing)進行(xing)替換(huan)(全(quan)文替換(huan))
vi復制和剪(jian)切命令(ling)
y0:將(jiang)光標至行(xing)首(shou)的字符拷入剪貼板
y$:將光標(biao)至行尾的字符拷(kao)入(ru)剪貼板
d0:將光標至行首的字符剪切入剪貼(tie)板
d$:將光標至(zhi)行尾的(de)字符剪(jian)切入(ru)剪(jian)貼板
N1,N2y :塊(kuai)復制(從N1到N2)
N1,$d:塊剪切(從N1到$)
創建(jian)c程序文(wen)件(jian)(jian) vi 文(wen)件(jian)(jian)名(ming).c gcc 編譯成一個二進制可執行文(wen)件(jian)(jian)a.out
./a.out 執(zhi)行

