linux系統入門學習,讓(rang)你從linux基礎開(kai)始
時間(jian):2018-08-24 來源:未(wei)知(zhi)

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