嵌入式linux學習筆記:01_開發環境及linux基本命令

一、嵌入式技術分析

軟件應用層: 程序 = 接口 + 語法 + 邏輯 + 算法
硬件底層: 程序 = 硬件 + 內核 + 語法

1、嵌入式開發系統 --> linux

2、編程語言 --> C語言

3、嵌入式開發平臺:GEC6818 平臺

二、安裝嵌入式開發環境?

1、什麼是虛擬機vmware?

其實虛擬機就是物理主機內部新建一臺虛擬主機(基於物理機),虛擬機可以用於運行操作系統,虛擬機雖然是虛擬出來一臺主機,我們摸不着。但是虛擬機實際佔用物理內存空間。

2、爲什麼要安裝虛擬機vmware?

主機 --> windows
虛擬機 --> linux
因爲安裝了虛擬機就可以在熟悉的windows環境下使用不熟悉的linux。

三、什麼是Ubuntu系統?

ubuntu(標準教學系統).rar -> linux系統的鏡像

解壓 -> ubuntu -> Ubuntu-12.04.vmx -> 虛擬系統文件(可以使用虛擬機直接打開)

1、linux與ubuntu有什麼關係?

一個嵌入式系統由內核、界面、操作模式、交互等組成。

linux只是指內核而已,並不代表界面、操作模式、交互。

ubuntu指的是以linux內核爲內核,加上Ubuntu獨有的界面、操作模式、交互組成的一個完整系統。

結論:ubuntu就是以linux內核爲內核的其中的一個版本。

2、 如何使用虛擬機訪問ubuntu系統?

1)雙擊打開vmware
2)點擊第二個按鈕 -> “打開虛擬機”
3)選擇Ubuntu虛擬系統鏡像文件路徑 -> 打開
4)登陸界面
gec -> 普通用戶登陸 -> 需要密碼"123456"(小鍵盤)
Guest session -> 客人會話 -> 不需要密碼 -> 登陸沒有任何權限訪問系統
5)全屏顯示系統界面
虛擬機菜單欄 -> “查看” -> “立即適應客戶機”

3、分析ubuntu系統特點?

1)圖形簡陋 -> 開發效率高
2)交互操作模式 -> 命令行 -> 在linux中,所有行爲都是使用命令來進行控制!
3)內核源碼開源,免費。

四、linux命令行

在linux下,想操作linux系統,就必須使用命令,而命令就是寫在命令行。

1、命令行在哪裏?

終端terminal

2、如何打開終端?

方式一: 雙擊terminal圖標

方式二: ctrl + alt + T

3、如何調整字體大小?

放大: “ctrl” + “shift” + “+”

縮小: “ctrl” + “-”

4、 分析命令行,由什麼東西來組成?

gec@ubuntu:~$

gec -> 用戶名

@ -> 分隔符號,用於分開用戶名與主機名。 用戶名@主機名

ubuntu -> 主機名
  -> 分隔符號,用於分開主機名與當前的工作路徑    主機名:當前的工作路徑
 -> 當前的工作路徑

$ -> 用戶申請 $->代表當前是普通用戶 #->代表當前是超級用戶

5、 命令寫在哪裏?

寫在命令行後面,例如:

gec@ubuntu:~$ asjdfgsadufgsdf

asjdfgsadufgsdf: command not found -> 命令沒有找不到!

五、linux系統目錄架構?

1、windows目錄架構與linux系統有什麼區別?

windows是一個容器,內層目錄永遠小於/等於外層目錄。

linux是一顆樹內存,內層目錄與外層目錄之間沒有大小包含關係,只有索引。

2、 研究linux目錄架構?

“/” -> 根目錄,在linux下所有目錄都是由根目錄引申出來的。

“~” -> 家/主目錄,等價於 “/home/gec/”

六、linux基本命令

1、 查看當前的工作路徑?

方式一: 通過命令行來查看。

gec@ubuntu:~$ -> 代表當前的工作路徑就是在家目錄

方式二: 使用linux命令來查看。

gec@ubuntu:~$ pwd

/home/gec 等價於 /home/gec/ 等價於 ~ -> 家目錄

2、 查看某個路徑下文件?

用法: ls + [路徑] + [參數]

gec@ubuntu:~$ ls -> 默認列出當前工作路徑下的全部文件,但是不包括隱藏文件。

Desktop Download examples.desktop

gec@ubuntu:~$ ls -a -> 列出所有的文件,包括隱藏文件。

Desktop Download examples.desktop

… -> 父目錄

. -> 當前目錄

結論: “ls” 等價於 “ls .”

gec@ubuntu:~$ ls … -> 列出上一級目錄的內容

gec

結論: “ls …” 等價於 “ls …/” 等價於 “ls ./…/” 等價於 “ls ./…”
ls/cd/pwd ->沒有修改系統資源,只是瀏覽linux系統,所以在任何的路徑下都可以使用,沒有受到權限限制。
例題: 假設當前在家目錄,輸入"ls ./…/…/ -a" 得到什麼東西?
根目錄的全部內容,包括隱藏文件。

3、 切換工作路徑

1)用法:cd + [路徑參數]
2)例子1: 假設當前在家目錄下,想切換到根目錄?
gec@ubuntu:~$ cd / -> 使用絕對路徑

gec@ubuntu:/$ pwd

/

gec@ubuntu:~$ cd …/…/ -> 使用相對路徑 -> 參照物: 當前目錄"." -> 可以省略!

gec@ubuntu:/$ pwd

/

3)問題: 假設當前在家目錄下,切換到home目錄下?
絕對路徑: cd /home

相對路徑: cd …

結論: 絕對路徑特徵開頭一定是"/",相對路徑特徵開頭一定是"."(可以省略)

4)幾個關於cd常用的特殊命令
切換到家目錄 cd ~ 等價於 cd /home/gec/ 等價於 cd (cd什麼參數都不加,默認切換到家目錄)

切換到剛剛去過的路徑 cd -(只能記住一次) 與環境變量有關

4、 創建普通文件? -> touch

用法: touch + [新文件的路徑] + … -> 既可以是絕對,又可以是相對。

例子1: 假設當前在家目錄,想在家目錄下創建一個新的文件,名字叫test.c。

相對: touch ./test.c 等價於 touch test.c

絕對: touch /home/gec/test.c

例子2: 假設當前在/home目錄,想在根目錄下創建一個新的文件,名字叫example.txt。

相對: touch …/example.txt

絕對: touch /example.txt

提示錯誤: touch: cannot touch `…/example.txt’: Permission denied -> 權限拒絕!

1)爲什麼會出現這個錯誤?
Permission denied -> 因爲權限不足導致執行失敗!

當前$,代表一個普通用戶,在家目錄擁有一切的權限,可以在家目錄下操作任何的東西都不會受到權限問題。

如果不在家目錄下,則如果修改了系統(增加/刪除),都會受到權限的拒絕!

2)如果真的需要在家目錄以外的路徑下創建/刪除文件?
方式一:臨時切換到超級用戶來執行這個命令。 sudo + 命令

gec@ubuntu:/home$ sudo touch …/example.txt

[sudo] password for gec: -> 在linux輸入密碼,不會回顯給用戶。

結果: 當前還是一個普通用戶。

方式二:切換到超級用戶,再執行命令。

gec@ubuntu:/home$ sudo su -> 切換到超級用戶

root@ubuntu:/home#

超級管理員名字: root

當前身份: #

root@ubuntu:/home# touch …/test.txt -> 直接執行命令,就不會受到權限干擾。

root@ubuntu:/home# exit -> 切換到普通用戶

exit

gec@ubuntu:/home$

5、 刪除普通文件? -> rm命令

用法: rm + [需要刪除的文件的路徑]

   假設當前在家目錄

練習1: 刪除家目錄下test.c

      rm ./test.c

練習2: 刪除根目錄下example.txt和test.txt

     sudo rm ../../example.txt ../../test.txt   -> 可以跟多個文件的路徑
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章