1. 程式人生 > >嵌入式開發應該掌握的一些Linux命令

嵌入式開發應該掌握的一些Linux命令

dd 
1.作用 
dd命令用來複制檔案,並根據引數將資料轉換和格式化。 
2.格式 
dd [options] 
3.[opitions]主要引數 
bs=位元組:強迫 ibs=<位元組>;及obs=<位元組>;。 
cbs=位元組:每次轉換指定的<位元組>;。 
conv=關鍵字:根據以逗號分隔的關鍵字表示的方式來轉換檔案。 
count=塊數目:只複製指定<塊數目>;的輸入資料。 
ibs=位元組:每次讀取指定的<位元組>;。 
if=檔案:讀取<檔案>;內容,而非標準輸入的資料。 
obs=位元組:每次寫入指定的<位元組>;。 
of=檔案:將資料寫入<檔案>;,而不在標準輸出顯示。 
seek=塊數目:先略過以obs為單位的指定<塊數目>;的輸出資料。 
skip=塊數目:先略過以ibs為單位的指定<塊數目>;的輸入資料。 
4.應用例項 
dd命令常常用來製作Linux啟動盤。先找一個可引導核心,令它的根裝置指向正確的根分割槽,然後使用dd命令將其寫入軟盤: 
$ rdev vmlinuz /dev/hda 
$dd if=vmlinuz of=/dev/fd0 
上面程式碼說明,使用rdev命令將可引導核心vmlinuz中的根裝置指向/dev/hda,請把“hda”換成自己的根分割槽,接下來用dd命令將該核心寫入軟盤。 
find
 

1.作用 
find命令的作用是在目錄中搜索檔案,它的使用許可權是所有使用者。 
2.格式 
find [path][options][expression] 
path指定目錄路徑,系統從這裡開始沿著目錄樹向下查詢檔案。它是一個路徑列表,相互用空格分離,如果不寫path,那麼預設為當前目錄。 
3.主要引數 
[options]引數: 
-depth:使用深度級別的查詢過程方式,在某層指定目錄中優先查詢檔案內容。 
-maxdepth levels:表示至多查詢到開始目錄的第level層子目錄。level是一個非負數,如果level是0的話表示僅在當前目錄中查詢。 
-mindepth levels:表示至少查詢到開始目錄的第level層子目錄。 
-mount:不在其它檔案系統(如Msdos、Vfat等)的目錄和檔案中查詢。 
-version:列印版本。 
[expression]是匹配表示式,是find命令接受的表示式,find命令的所有操作都是針對表示式的。它的引數非常多,這裡只介紹一些常用的引數。 
—name:支援統配符*和?。 
-atime n:搜尋在過去n天讀取過的檔案。 
-ctime n:搜尋在過去n天修改過的檔案。 
-group grpoupname:搜尋所有組為grpoupname的檔案。 
-user 使用者名稱:搜尋所有檔案屬主為使用者名稱(ID或名稱)的檔案。 
-size n:搜尋檔案大小是n個block的檔案。 
-print:輸出搜尋結果,並且列印。 
4.應用技巧 
find命令查詢檔案的幾種方法: 
(1)根據檔名查詢 
例如,我們想要查詢一個檔名是lilo.conf的檔案,可以使用如下命令: 
find / -name lilo.conf 
find命令後的“/”表示搜尋整個硬碟。 
(2)快速查詢檔案 
根據檔名查詢檔案會遇到一個實際問題,就是要花費相當長的一段時間,特別是大型Linux檔案系統和大容量硬碟檔案放在很深的子目錄中時。如果我們知道了這個檔案存放在某個目錄中,那麼只要在這個目錄中往下尋找就能節省很多時間。比如smb.conf檔案,從它的檔案字尾“.conf”可以判斷這是一個配置檔案,那麼它應該在/etc目錄內,此時可以使用下面命令: 
find /etc -name smb.conf 
這樣,使用“快速查詢檔案”方式可以縮短時間。 
(3)根據部分檔名查詢方法 
有時我們知道只某個檔案包含有abvd這4個字,那麼要查詢系統中所有包含有這4個字元的檔案可以輸入下面命令: 
find / -name '*abvd*' 
輸入這個命令以後,Linux系統會將在/目錄中查詢所有的包含有abvd這4個字元的檔案(其中*是萬用字元),比如abvdrmyz等符合條件的檔案都能顯示出來。 
(4) 使用混合查詢方式查詢檔案 
find命令可以使用混合查詢的方法,例如,我們想在/etc目錄中查詢大於500000位元組,並且在24小時內修改的某個檔案,則可以使用-and (與)把兩個查詢引數連結起來組合成一個混合的查詢方式。 
find /etc -size +500000c -and -mtime +1 
mv 

1.作用 
mv命令用來為檔案或目錄改名,或者將檔案由一個目錄移入另一個目錄中,它的使用許可權是所有使用者。該命令如同DOS命令中的ren和move的組合。 
2.格式 
mv[options] 原始檔或目錄 目標檔案或目錄 
3.[options]主要引數 
-i:互動方式操作。如果mv操作將導致對已存在的目標檔案的覆蓋,此時系統詢問是否重寫,要求使用者回答“y”或“n”,這樣可以避免誤覆蓋檔案。 
-f:禁止互動操作。mv操作要覆蓋某個已有的目標檔案時不給任何指示,指定此引數後i引數將不再起作用。 
4.應用例項 
(1)將/usr/cbu中的所有檔案移到當前目錄(用“.”表示)中: 
$ mv /usr/cbu/ * . 
(2)將檔案cjh.txt重新命名為wjz.txt: 
$ mv cjh.txt wjz.txt