嵌入式開發必備linux基礎

2021-08-02 12:45:24 字數 4741 閱讀 3621

一、菜鳥級基礎篇

關機:shutdown -h now

資料寫入磁碟:sync

linux環境下注釋:#

檢視當前目錄下檔案:  ls      #僅列出檔名

ls -l    #列出檔名與檔案詳細資訊

ls -al   #列出包含隱藏檔案在內的檔名與檔案詳細資訊

ls -l filiename  #僅列出

filename

的詳細資訊

顯示當前目錄:pwd

進入指定目錄:cd 相對路徑

/絕對路徑

相對路徑:不從根目錄寫起的路徑

絕對路徑:從根目錄「/

」寫起的路徑 「-

」表檔案;「

d」表目錄;「

l」表連線檔案,相當於

windows

下的快捷方式

檔名前有「.

」表明該檔案為隱藏檔案

檔名有「*

」表明列出與「

*」其餘部分關鍵字重合的檔案

touch 檔名:建立檔案

cat -n 檔名:列印行號檢視檔案

tab鍵按兩次:補齊內容操作

man 命令:命令簡介

.    #當前目錄

..   #上一層目錄

~   #主目錄

二、查詢

file 檔名  

#查詢檔案型別

locate/whereis 檔案或目錄  

#快速查詢,從現有資料庫中查詢,而非磁碟

find 路徑

-name

檔名/

預設類檔名

*  #find

man find

三、檔案與目錄

linux下目錄即相當於

windows

下的資料夾

檔案與目錄的複製、刪除與移動:

常用複製命令:cp 原始檔 目標檔案   

#普通複製,複製時會將執行者的許可權一同複製

cp -a   #將原始檔所有屬性一起複製過來  

cp -i   #互動模式,若目標檔案已存在,覆蓋時會事先詢問是否覆蓋

cp -r   #遞迴複製,用於目錄複製時

常用刪除命令:rm 檔案或目錄

rm -r   #遞迴刪除,用於目錄刪除時

rm -i   #互動模式,刪除前詢問使用者是否刪除

常用移動命令:mv 原始檔或目錄(可以多個) 目錄  

#mv也可作為更名操作

mv -i:互動模式,若目標檔案已存在會詢問是否覆蓋  

建立目錄:mkdir -m *** 目錄名  

#建立時直接設定目錄許可權

mkdir -p 目錄名   

#遞迴建立

刪除目錄:rmdir 目錄名  

#僅刪除空的目錄

rmdir -p 目錄名

#連同上層空的目錄一起刪除

四、許可權設定

一般設定:chown -r 賬號名稱 檔案或目錄  

#遞迴修改所有者,多個賬號用冒號隔開

chgrp -r 賬號名稱 檔案或目錄   

#遞迴修改所屬使用者組

chmod -r *** 檔案或目錄     

#遞迴修改許可權,

r:4  w:2  x:1

chmod u=r/w/x ,g=,o=  檔案或目錄

chmod u+r/o+w 檔案或目錄

特殊許可權:chmod ***x 檔案或目錄

#第乙個x:

4為suid,2

為sgid,1

為sbit

。當有x

的許可權時才可設定特殊許可權。三者特殊許可權僅對二進位制程式起作用,

suid

表示執行者在執行過程中會獲得所有者的許可權,

sgid

表示程式執行時會獲得所屬使用者組的許可權,

sbit

表示只針對目錄有效當使用者對目錄擁有

wx許可權時,使用者在該目錄建立的檔案或目錄,只有自己與

root

才可以刪除。 三者設定完成後通常會在

x位置分別顯示s,

s,t空狀態(沒有

x的許可權)時為大寫。

chmod u+s,g+t 檔案或目錄  

#符號法設定

acl許可權設定:

acl主要目的是提供傳統的許可權之外的具體許可權的設定。

acl可以針對單一使用者,單一檔案或目錄來進行r,

w,x的許可權設定。對於需要特殊許可權的使用狀況非常有幫助。

啟動acl:

使用mount

,可以直接檢視掛載引數的功能。如果沒有

acl,則說明掛載的時候沒有開啟

acl許可權。那麼我們可以使用

dump2fs -h /dev/sda2

命令來檢視該塊裝置的狀態資訊。其中有一行

default mount options: *****,

如果****

中有acl

,則說明支援

acl。接下來,我們可以使用

mount -o remount,acl /

的命令來重新掛載根分割槽,這樣就開啟了

acl許可權。

如果想要每次開機都生效,可以編輯

/etc/fstab,

並修改相關引數。

/dev/sda1 / ext4 defaults,acl 1 1

acl設定技巧:

setfacl [-bkrd] [ acl

引數]  

目標檔名

引數: -m:設定後續的

acl引數給檔案使用,不可以與

-x合用。

-x:刪除後續的

acl引數,不可與

-m合用。

-b:刪除所有的

acl設定引數。

-k:刪除預設的

acl引數。

-r:遞迴設定

acl。

-d:設定預設的

acl引數,只對目錄有效。在該目錄下新建的資料會用此預設值。

設定acl許可權:

setfacl -m u:(使用者名稱

):(賦予的許可權

)    

目錄或檔案

setfacl -m u:st:rx    /project/

setfacl -m g:(組名

):(賦予的許可權

)  目錄或檔案

setfacl -m g:tgroup2:rwx   /project/

檢視acl設定:

getfacl 目錄

刪除指定組使用者的acl許可權:

setfacl  -x  g:組名

檔名

刪除指定使用者的acl許可權

setfacl  -x  u:使用者名稱

檔名

刪除檔案下所有acl許可權

setfacl  -b  檔名

預設acl許可權和遞迴

acl許可權的區別

1、預設的只對新建的檔案和目錄會繼承該

acl許可權

,以前建立好的,沒有這個功能,如果以前建立好的檔案和目錄要有該

acl許可權,得用遞迴

acl許可權。

2、遞迴的

alc許可權,只對以前建立好的檔案和目錄能有該

acl許可權,對於後來新建的沒有,預設和遞迴的作用正好相反。

3、預設

acl許可權

setfacl  -m d  u:

使用者名稱:

許可權 -r   目錄

遞迴acl

許可權 setfacl  -m    u:

使用者名稱:

許可權 -r   目錄

五、使用者與使用者組

su - 使用者名稱   

#更改登入使用者

sudo -u 使用者名稱 操作

#更換使用者執行某操作

groups  #查詢當前使用者所屬使用者組

newgrp 使用者組

#更改有效使用者組

useradd -u  uid號

-g 初試使用者組 使用者名稱

#新增使用者並指定初試使用者組和

uid號

passwd 使用者名稱  

#更改使用者密碼,新建使用者不設密碼不能使用

userdel  -r 使用者  

#連同使用者主資料夾一同刪除

groupadd  使用者組

#新建使用者組

groupdel 使用者組

#刪除使用者組

程序管理

ps -a #檢視所有程序

pstree #顯示程序樹

kill -9 程序號

#刪除程序

top 顯示記憶體資訊   

七、打包與壓縮

打包:tar -czvf filename.tar dirname

解包:tar -zxvf filename.tar

壓縮:gzip -v filename     解壓:

gzip -d filename.gz

壓縮:bzip2 -v filename    解壓:

bzip2 -d filename.bz2

八、磁碟管理

fdisk -l #檢視磁碟分割槽

linux嵌入式開發

我的環境 主機 ubuntu 64位 開發板 mini2440 6 makefile檔案修改 在 opt friendlyarm mini2440 linux 2.6.29下執行 sudo vi.makefile 搜尋arm linux得到乙個結果 cross compile?arm linux 然...

嵌入式linux基礎

缺頁中斷和時鐘中斷都屬於中斷,在核心態執行。程序排程屬於系統呼叫,在核心態執行,命令解釋程式屬於命令介面,在使用者態執行。1 insmod和modprobe都可以用來載入驅動模組,請描述這兩者的差異。2 請給出三種以上linux驅動模組載入失敗的可能原因。1 modprobe和insmod類似,都是...

嵌入式linux基礎

一 嵌入式系統定義 嵌入式系統是以應用為中心,以計算機技術為基礎,並且軟硬體可裁剪,適用於應用系統對功能,可靠性,成本,體積,功耗有嚴格要求的專用計算機系統。二 嵌入式學習的重點 1 站在全域性進行領會,不糾纏細節 2 了解嵌入式系統開發的流程 3 學習嵌入式系統開發的理念 4 了解嵌入式系統開發的...