天天看點

嵌入式學習之linux基礎

看完朱有鵬老師的嵌入式學習視訊0章第二集的零基礎學習Linux之後,現在來記錄一下關鍵的知識點,友善以後檢視。

1;首先了解一些作業系統

目前主流的作業系統:windows、、android、iOS、symbian、linux/unix。

其中linux是為專業的開發人員使用的,使用起來比較複雜。

Android:移動作業系統,android是基于linux開發的。

最後再看看我們要學的嵌入式是基于哪些系統開發的——

嵌入式是基于linux開發 ,但是應用層使用android系統。

2;嵌入式開發,我們采用的是虛拟機配linux系統進行開發

虛拟機就是一款Windows軟體 但是他可以模拟一台計算機是以我們可以為他配上linux系統

我們接下來的開發采用的是 VMware虛拟機加上ubantu的linux系統。

這是虛拟機和ubantu的下載下傳連結

連結: https://pan.baidu.com/s/18X90mrNYI6khCDDsF3lH3A 密碼: yr4k

直接按步驟安裝即可,

3;了解一些小的基礎知識點;

3.1;關于隐藏檔案與非隐藏檔案

在Windows中我們可以進行相關的設定來調出

而在linux系統中呢?

linux中隐藏檔案特點是檔案名以.開頭,跟檔案屬性無關。在linux中檢視隐藏檔案用ls -a指令(普通顯示ls)

linux進入指令行也就是進入terminal終端 ————的快捷方式就是 ctrl+alt+t;

然後在輸入ls -a

嵌入式學習之linux基礎

3.2;相對路徑與絕對路徑

路徑就是用來辨別一個檔案在作業系統的檔案系統的存儲位置也就是pathname

Windows舉例

E:\移動網際網路開發平台配套CD光牒-CDMI-L01-12\附件\傳感器資料 全路徑 pathname

E:\移動網際網路開發平台配套CD光牒-CDMI-L01-12\附件 路徑 path

傳感器資料 檔案名 name

絕對路徑:路徑是從絕對位置開始的。譬如Windows中從某一個盤符開始(C:\),linux中從根目錄/開始、linux中的絕對路徑一定是/開頭

相對路徑:指明路徑的時候,是從目前所在的位置開始的。../表示上層目錄

舉例:

D:\我的檔案\123\123.txt

D:\我的檔案\abc\abc.txt

目前在123.txt,但是要去abc.txt

方式1:采用絕對路徑。D:\我的檔案\abc\abc.txt

方式2:采用相對路徑。../abc/abc.txt

從目前路徑開始,往上走一層,再往下走一層(abc)就到了

4;linux常用指令

4.1;ls (list 清單)

作用就是把目前檔案夾下所有檔案列出來

後面可以接參數

-a 顯示所有檔案 包括隐藏檔案

-l 以詳細資訊顯示

兩者還可以任意組合表兩種作用同時

ls -a -l ls -l -a ls -la ls -al 四種方式都是可以的

4,2;cd(change directory,更改目錄)

作用:用來切換目錄

涉及到相對路徑和絕對路徑

絕對路徑

cd .. ..代表上一層目錄

.代表目前目錄

嵌入式學習之linux基礎

4.3; pwd(print work directory,列印工作目錄)

作用:列印出目前的絕對路徑

4.4;(4) mkdir(make directory,建立檔案夾)

作用:建立空檔案夾

mkdir -p 級聯建立檔案夾

4.5 rm(remove,去除,删除)

作用:用來删除檔案,檔案夾

rm 檔案pathname 檔案被打開時是可以被删的

rm -r 檔案夾pathname

嵌入式學習之linux基礎

4.6 rmdir(remove directory,删除檔案夾)

作用:删除空檔案夾

rmdir和rm -r的差別:rmdir隻能删除空檔案夾,而rm -r可以删除空檔案夾和非空檔案夾

注意當我們建立或者删除檔案或檔案交在一些關鍵目錄下時,普通使用者是沒有這個權限的,我們需要擷取root傳限,有兩種方法

1;使用sudo指令 短暫擷取root傳限 sudo mv abc

2;使用su root指令進入root

3;使用su 使用者名 退出root

注意當我們初次擷取root時會認證失敗,是因為你根本沒有設定root,是以我們需要初始化指令。

嵌入式學習之linux基礎

然後就解析上面幾條指令的實戰

嵌入式學習之linux基礎
嵌入式學習之linux基礎

4.6 touch

作用:建立空檔案

touch pathname

注意與mkdir指令 的差別 ,mkdir是建立空檔案夾。而tonch是建立空檔案。

4.7 mv (move 移動)

作用 :在目錄間移動檔案 也可重命名

mv 源檔案pathname 目的檔案pathname

4.8cp(copy,複制)

作用:複制檔案或檔案夾

cp 源檔案pathname 目标檔案pathname

cp -r 用來複制檔案夾

cp -f 強制複制

實際操作時,一般都是cp -f複制檔案,

cp -rf複制檔案夾

嵌入式學習之linux基礎

4.9cat

作用:直接在指令行下顯示檔案内容

也可以用來向檔案輸入,

嵌入式學習之linux基礎

4.10vi基礎使用

*使用vi來打開/建立一個檔案,vi pathname

*vi的兩種模式:

指令模式:當vi打開時預設為指令模式,要轉入輸入模式,需要按a或者i鍵。在指令模式下,此時鍵盤上輸入的所有東西都被vi當作指令來對待。

在指令模式下,最好不要亂輸入。此時應該輸入相應的指令,來讓vi做相應的事。

輸入模式:輸入模式用來向檔案輸入内容。可以從指令模式中按a或者i進入輸入模式。進入輸入模式後,就可以随意按鍵盤進行輸入了。輸入完成後如果要儲存,要先退回到指令模式(因為儲存也是一種指令)。在輸入模式下按ESC鍵退回到指令模式。

注:注意看螢幕左下角,當指令模式時無提示資訊或者提示檔案名等資訊,等處于輸入模式時,提示 – INSERT –

在指令模式下如何儲存:

:wq 儲存并且退出

:w 隻儲存不推出

:q 不儲存退出 進來看了一下沒改退出

:q! 不儲存強制退出

:wq! 儲存并強制退出

嵌入式學習之linux基礎
嵌入式學習之linux基礎

vi的進階使用

* 查找

在指令模式下,輸入/xxx,就可以查找到xxx

  • 快速切換行

    在指令模式下,輸入:num,就可以快速切換到num行

  • 設定顯示行号

    在指令模式下,輸入:set nu,就可以顯示行号

注:設定不顯示行号,指令模式輸入:set nonu

設定永久顯示行号,需要修改vi的配置檔案。打開vi的配置檔案~/.vimrc,在其中輸入set nu即可。

  • 行删除

    指令模式下,先将光标移動到要删除的行,然後輸入dd

    如果要删除連續多行,譬如要删除連續的3行,使用3dd

  • 行複制粘貼

    複制:指令模式下,nyy

    粘貼:指令模式下,p

    細節,複制時要把光标放在多行的第一行,粘貼時實際

    粘貼到目前光标所在行的下一行。

4.11 ln (link 連接配接檔案)

在Linux中有兩種連接配接方式

一種是軟連接配接 (也叫符号連接配接)等同于Windows下的快捷鍵方式一樣,連接配接删除檔案不受影響 檔案删除連接配接失效

一種就是硬連接配接 硬連結相當于有一個指向這個硬碟檔案的接口。删掉檔案 我們依舊可以用硬連結來通路檔案 删掉硬連結我們可以通過檔案來通路,這就是硬連結 ,無不幹擾的;

建立軟連接配接檔案: ln -s 源檔案名 符号連接配接檔案名

舉例:ln -s src.c,linker.c, linker.c就是源檔案src.c的一個符号連接配接檔案

建立硬連接配接檔案 : ln 源檔案名 連接配接檔案名

嵌入式學習之linux基礎
嵌入式學習之linux基礎

man 相當于離線手冊一樣

作用:查詢man手冊,獲得幫助資訊

man 1 ls 1表示查詢的是linux指令

man 2 xxx 2表示查詢的是linux api

man 3 xxx 3表示查詢的是C庫函數

注意:在man手冊中查詢時,退出按Q鍵(Q就是quit的縮寫)

apt-get

作用:在ubuntu中用來線上安裝、解除安裝軟體的程式

apt-get install vim

apt-get remove vim

注意,安裝和解除安裝都是線上的,也就是說ubuntu必須能上網才能使用apt-get

rwx與權限表示

當我們使用ls -l指令顯示檔案/檔案夾的詳細資訊時,前面會出現rwx等字母,他們就表示的是檔案權限以及類型。

嵌入式學習之linux基礎

最前面有10個字母 分為四組 第一個字元一組 後面每三個一組分别3組

第一個字元表示檔案類型

- 表示普通檔案。普通檔案指文本檔案和二進制

. 檔案,如a.c 1.txt a.out都是普通檔案

d 表示檔案夾,d是directory的縮寫

l 表示符号連接配接檔案,後面會用->列印出它指向的檔案

s 表示socket檔案

p 表示管道檔案 pipe

後面三組表示不同級别的相關權限

前三個表示此檔案的屬主對檔案的權限

中間三個表示此檔案屬主所在的組對檔案的權限

最後三個表示其他使用者對檔案的權限

rwx怎麼解析:r代表可讀,w代表可寫,x代表可執行

rwx:可讀,可寫,可執行

r-x: 可讀,不可寫,可執行

r–: 可讀,不可寫,不可執行

權限管理

作用:用來管理系統中檔案的權限。

chmod (change mode)修改檔案權限,比較常用,要記得

chown (change owner,修改屬主)

chgrp (change group,修改檔案的組)

ls -l 列出的屬性

-rwxr-xr-x

一共10個字元,第一個表示檔案屬性(d表示檔案夾,-表示普通檔案),剩下的9個分成三組。每組中三個分别表示r可讀w可寫x可執行。如果是字母表示有這個權限,如果是-表示沒這個權限。三組分别表示:第一組表示檔案屬主的權限,第二組表示屬主所在的組使用者的權限,第三組表示其他使用者的權限。

權限還有另一種表示方法,用數字來表示。

編碼規則如下:

r 可讀 4

w 可寫 2

x 可執行 1

- 無權限 0

有了這個編碼規則,則 rwxr-xr-x 編碼後為755

第一種修改權限的方法:

要把權限改成 rwxr–r– 則對應的編碼值為744

修改指令為:chmod 744 檔案名

第二種修改權限的方法:

在原來的權限基礎上進行修改,即增加或減少某權限。

三個組使用者的編碼依次為: 屬主u 屬主所在的組g 其他使用者o

譬如

要屬主增加可執行權限 chmod u+x 檔案名

其他使用者增加可寫權限 chmod o+w 檔案名

屬主所在組使用者去掉可執行權限 chmod g-x 檔案名

嵌入式學習之linux基礎

linux指令行中一些符号的含義:

. 代表目前目錄

.. 代表上一層目錄,目前目錄的父目錄

- 代表前一個目錄,我剛才從哪個目錄cd過來

~ 代表目前使用者的宿主目錄

/ 代表根目錄

$ 普通使用者的指令行提示符

# root使用者的指令行提示符

* 萬能比對符

使用shell的Tab鍵自動補全

在Linux的終端中輸入tab鍵時,有時會出現指令不能補全的情況,此時有一種原因是bash錯誤。

使用 ls -l /bin/sh 指令發現

/bin/sh -> /bin/dash

Tab在linux指令行輸入中可以自動完成。在linux

指令行中使用Tab鍵會極大提高輸入效率

繼續閱讀