修改linux寄存器命令 linux修改內(nèi)存配置參數(shù)

請(qǐng)問(wèn)在linux環(huán)境下中如何操作寄存器?

在linux下控制硬件和在無(wú)操作系統(tǒng)下控制硬件的不同主要在于硬件的地址不一樣,在linux下要使用va(虛擬地址),而在無(wú)操作系統(tǒng)下可以直接使用硬件的pa(物理地址)。

企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對(duì)外擴(kuò)展宣傳的重要窗口,一個(gè)合格的網(wǎng)站不僅僅能為公司帶來(lái)巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺(tái),創(chuàng)新互聯(lián)建站面向各種領(lǐng)域:成都茶藝設(shè)計(jì)成都網(wǎng)站設(shè)計(jì)成都營(yíng)銷網(wǎng)站建設(shè)解決方案、網(wǎng)站設(shè)計(jì)等建站排名服務(wù)。


在linux-2.6.8.1/include/asm-arm/arch-s3c2410/map.h中定義了大部分硬件的物理地址和他們的虛擬地址。

現(xiàn)以gpio

F為例說(shuō)明,gpio

的pa

基址(ba)為0x56000000,GPFCON

pa為0x56000050

即:可見(jiàn)偏移量為0x50,而我們?cè)诳纯碐PFCON

va

,vaba

:0xf0e0

0000,va:0xf0e0

0050,偏移量為0x50。我們只要知道了vaba,和他的偏移量,我們就能計(jì)算出va,從而,就可以對(duì)其進(jìn)行操作了。

如何獲取vaba:在linux-2.6.8.1/include/asm-arm/arch-s3c2410/map.h中有定義。

計(jì)算機(jī)中,分級(jí)分層的思想隨處可見(jiàn),這也是計(jì)算機(jī)上的一個(gè)基本的思想和思路。

在LINUX操作系統(tǒng)中分了三級(jí),三級(jí)偏移,一級(jí)地址的ba為0xf0000000,偏移到第二級(jí),0xf0e0

0000

(以GPIO為例),再次偏移到第三級(jí),0xf0e0

0050

(以GPFCON為例)?,F(xiàn)在,就可以在linux

下通過(guò)0xf0e0

0050來(lái)對(duì)GPFCON

寄存器來(lái)進(jìn)行操作了。

源碼中的實(shí)現(xiàn)過(guò)程如下:

#define

S3C2410_ADDR(x)

(0xF0000000+(x))//map.h

//linux下所有硬件一級(jí)地址vaba:0xF0000000

#define

S3C2410_VA_GPIO

S3C2410(0X00E00000)//map.h

//GPIO的偏移量0x00E00000,加上這個(gè)偏移量后,到了GPIO器件

#define

S3C2410_GPIOREG(x)

((x)+S3C2410_VA_GPIO)

#define

S3C2410_GPFCON

S3C2410_GPIOREG(0x50)//regs-gpio.h

//GPFCON寄存器的偏移量0x50,加上這個(gè)偏移量后,到了具體的寄存器,可以對(duì)硬件進(jìn)行操作了

#define

S3C2410_GPFDAT

S3C2410_GPIOREG(0x54)//regs-gpio.h

#define

S3C2410_GPFUP

S3C2410_GPIOREG(0x58)//regs-gpio.h

linux下vi編輯器命令大全

高級(jí)一些的編輯器,都會(huì)包含宏功能,vim當(dāng)然不能缺少了,在vim中使用宏是非常方便的:

:qx 開(kāi)始記錄宏,并將結(jié)果存入寄存器x

q 退出記錄模式

@x 播放記錄在x寄存器中的宏命令

稍微解釋一下,當(dāng)在normal模式下輸入:qx后,你對(duì)文本的所有編輯動(dòng)作將會(huì)被記錄下來(lái),再次輸入q即退出了記錄模

式,然后輸入@x對(duì)剛才記錄下來(lái)的命令進(jìn)行重復(fù),此命令后可跟數(shù)字,表示要重復(fù)多少次,比如@x20,可以重復(fù)20次。這個(gè)在文本的批處理中是非常有用的。

同時(shí)編輯多個(gè)文件

在vim眾多的插件中,有一個(gè)叫minibuffer的插件,就是下面所說(shuō)的標(biāo)簽頁(yè)功能了,可以支持同時(shí)編輯多個(gè)文件。

標(biāo)簽命令

:tabe fn 在一個(gè)新的標(biāo)簽頁(yè)中編輯文件fn

gt 切換到下一個(gè)標(biāo)簽頁(yè)

gT 切換到上一個(gè)標(biāo)簽頁(yè)

:tabr 切換到第一個(gè)標(biāo)簽頁(yè)

:tabl 切換到最后一個(gè)標(biāo)簽頁(yè)

:tabm [N] 把當(dāng)前tab移動(dòng)到第N個(gè)tab之后

對(duì),正如你所想象的那樣,跟eclipse, ue等的標(biāo)簽頁(yè)是一個(gè)意思!

窗口命令

ctrl+w s 水平分割窗口

ctrl+w w 切換窗口

ctrl+w q 退出當(dāng)前窗口(由于同時(shí)有多個(gè)文件,此命令不會(huì)影響其他窗口)

ctrl+w v 垂直分割窗口

其他

vim在保存之前不會(huì)對(duì)文件做實(shí)際的修改,只是加載到緩沖區(qū)中,對(duì)文件的編輯其實(shí)是對(duì)緩沖區(qū)的編輯,直到:w時(shí)才會(huì)存入物理文件。

:e file 把file加載到新的緩沖區(qū)中

:bn 跳轉(zhuǎn)到下一個(gè)緩沖區(qū)

:bd 刪除緩沖區(qū)(關(guān)閉文件)

:sp fn 分割窗口,并將fn加載到新的窗口中

退出編輯器

:w 將緩沖區(qū)寫入文件,即保存修改

:wq 保存修改并退出

:x 保存修改并退出

:q 退出,如果對(duì)緩沖區(qū)進(jìn)行過(guò)修改,則會(huì)提示

:q! 強(qiáng)制退出,放棄修改

查找替換

/pattern 向后搜索字符串pattern

?pattern 向前搜索字符串pattern

n 下一個(gè)匹配(如果是/搜索,則是向下的下一個(gè),?搜索則是向上的下一個(gè))

N 上一個(gè)匹配(同上)

:%s/old/new/g 搜索整個(gè)文件,將所有的old替換為new

:%s/old/new/gc 搜索整個(gè)文件,將所有的old替換為new,每次都要你確認(rèn)是否替換

復(fù)制粘貼

dd 刪除光標(biāo)所在行

dw 刪除一個(gè)字(word)

x 刪除當(dāng)前字符

X 刪除前一個(gè)字符

D 刪除到行末

yy 復(fù)制一行,此命令前可跟數(shù)字,標(biāo)識(shí)復(fù)制多行,如6yy,表示從當(dāng)前行開(kāi)始復(fù)制6行

yw 復(fù)制一個(gè)字

y$ 復(fù)制到行末

p 粘貼粘貼板的內(nèi)容到當(dāng)前行的下面

P 粘貼粘貼板的內(nèi)容到當(dāng)前行的上面

]p 有縮進(jìn)的粘貼,vim會(huì)自動(dòng)調(diào)節(jié)代碼的縮進(jìn)

"a 將內(nèi)容放入/存入a寄存器,可以支持多粘貼板

附:比如常用的一個(gè)寄存器就是系統(tǒng)寄存器,名稱為+,所以從系統(tǒng)粘貼板粘貼到vim中的命令為"+p,注意此處的+不表示操作符,二十一個(gè)寄存器。

移動(dòng)光標(biāo)

在vim中移動(dòng)光標(biāo)跟其他的編輯器中有很大的區(qū)別,不過(guò)一旦學(xué)會(huì)了,就會(huì)飛速的在文本中移動(dòng)了。

h,j,k,l 上,下,左,右

ctrl-f 上翻一頁(yè)

ctrl-b 下翻一頁(yè)

% 跳到與當(dāng)前括號(hào)匹配的括號(hào)處,如當(dāng)前在{,則跳轉(zhuǎn)到與之匹配的}處

w 跳到下一個(gè)字首,按標(biāo)點(diǎn)或單詞分割

W 跳到下一個(gè)字首,長(zhǎng)跳,如end-of-line被認(rèn)為是一個(gè)字

e 跳到下一個(gè)字尾

E 跳到下一個(gè)字尾,長(zhǎng)跳

b 跳到上一個(gè)字

B 跳到上一個(gè)字,長(zhǎng)跳

0 跳至行首,不管有無(wú)縮進(jìn),就是跳到第0個(gè)字符

^ 跳至行首的第一個(gè)字符

$ 跳至行尾

gg 跳至文件的第一行

gd 跳至當(dāng)前光標(biāo)所在的變量的聲明處

[N]G 跳到第N行,如0G,就等價(jià)于gg,100G就是第100行

fx 在當(dāng)前行中找x字符,找到了就跳轉(zhuǎn)至

; 重復(fù)上一個(gè)f命令,而不用重復(fù)的輸入fx

tx 與fx類似,但是只是跳轉(zhuǎn)到x的前一個(gè)字符處

Fx 跟fx的方向相反

),( 跳轉(zhuǎn)到上/下一個(gè)語(yǔ)句

* 查找光標(biāo)所在處的單詞,向下查找

# 查找光標(biāo)所在處的單詞,向上查找

`. 跳轉(zhuǎn)至上次編輯位置

在屏幕上移動(dòng)

H 移動(dòng)光標(biāo)到當(dāng)前屏幕上最上邊的一行

M 移動(dòng)光標(biāo)到當(dāng)前屏幕上中間的一行

L 移動(dòng)光標(biāo)到當(dāng)前屏幕上最下邊的一行

書簽

ma 把當(dāng)前位置存成標(biāo)簽a

`a 跳轉(zhuǎn)到標(biāo)簽a處

編輯

r 替換一個(gè)字符

J 將下一行和當(dāng)前行連接為一行

cc 刪除當(dāng)前行并進(jìn)入編輯模式

cw 刪除當(dāng)前字,并進(jìn)入編輯模式

c$ 擦除從當(dāng)前位置至行末的內(nèi)容,并進(jìn)入編輯模式

s 刪除當(dāng)前字符并進(jìn)入編輯模式

S 刪除光標(biāo)所在行并進(jìn)入編輯模式

xp 交換當(dāng)前字符和下一個(gè)字符

u 撤銷

ctrl+r 重做

. 重復(fù)上一個(gè)編輯命令

~ 切換大小寫,當(dāng)前字符

g~iw 切換當(dāng)前字的大小寫

gUiw 將當(dāng)前字變成大寫

guiw 將當(dāng)前字變成小寫

將當(dāng)前行右移一個(gè)單位

將當(dāng)前行左移一個(gè)單位(一個(gè)tab符)

== 自動(dòng)縮進(jìn)當(dāng)前行

插入模式

i 從當(dāng)前光標(biāo)處進(jìn)入插入模式

I 進(jìn)入插入模式,并置光標(biāo)于行首

a 追加模式,置光標(biāo)于當(dāng)前光標(biāo)之后

A 追加模式,置光標(biāo)于行末

o 在當(dāng)前行之下新加一行,并進(jìn)入插入模式

O 在當(dāng)前行之上新加一行,并進(jìn)入插入模式

Esc 退出插入模式

可視模式

標(biāo)記文本

v 進(jìn)入可視模式,單字符模式

V 進(jìn)入可視模式,行模式

ctrl+v 進(jìn)入可視模式,列模式,類似于UE的列模式

o 跳轉(zhuǎn)光標(biāo)到選中塊的另一個(gè)端點(diǎn)

U 將選中塊中的內(nèi)容轉(zhuǎn)成大寫

O 跳轉(zhuǎn)光標(biāo)到塊的另一個(gè)端點(diǎn)

aw 選中一個(gè)字

ab 選中括號(hào)中的所有內(nèi)容,包括括號(hào)本身

aB 選中{}括號(hào)中的所有內(nèi)容

ib 選中括號(hào)中的內(nèi)容,不含括號(hào)

iB 選中{}中的內(nèi)容,不含{}

對(duì)標(biāo)記進(jìn)行動(dòng)作

塊右移

塊左移

y 復(fù)制塊

d 刪除塊

~ 切換塊中內(nèi)容的大小寫

Linux常用基本命令大全介紹

學(xué)習(xí)Linux系統(tǒng),命令是最基礎(chǔ)的一部分,有著很重要的地位,所以入門必須掌握好常用命令。下面由我為大家整理了Linux系統(tǒng)常用的基本命令入門篇,希望對(duì)大家有幫助!

Linux系統(tǒng)常用的基本命令入門篇一、基礎(chǔ)命令

1.Linu x的進(jìn) 入與退出系統(tǒng)

進(jìn)入Linux系統(tǒng):

必須要輸入用戶的賬號(hào),在系統(tǒng)安裝過(guò)程中可以創(chuàng)建以下兩種帳號(hào):

1.root--超級(jí)用戶帳號(hào)(系統(tǒng)管理員),使用這個(gè)帳號(hào)可以在系統(tǒng)中做任何事情。

2.普通用戶--這個(gè)帳號(hào)供普通用戶使用,可以進(jìn)行有限的操作。

一般的Linux使用者均為普通用戶,而系統(tǒng)管理員一般使用超級(jí)用戶帳號(hào)完成一些系統(tǒng)管理的工作。如果只需要完成一些由普通帳號(hào)就能完成的任務(wù),建議不要使用超級(jí)用戶帳號(hào),以免無(wú)意中破壞系統(tǒng)。影響系統(tǒng)的正常運(yùn)行。

用戶登錄分兩步:第一步,輸入用戶的登錄名,系統(tǒng)根據(jù)該登錄名識(shí)別用戶;第二步,輸入用戶的口令,該口令是用戶自己設(shè)置的一個(gè)字符串,對(duì)其他用戶是保密的,是在登錄時(shí)系統(tǒng)用來(lái)辨別真假用戶的關(guān)鍵字。

當(dāng)用戶正確地輸入用戶名和口令后,就能合法地進(jìn)入系統(tǒng)。屏幕顯示:

[root@loclhost/root] #

這時(shí)就可以對(duì)系統(tǒng)做各種操作了。注意超級(jí)用戶的提示符是ldquo;#rdquo;,其他用戶的提示符是ldquo;$rdquo;。

2.修改口令

為了更好的保護(hù)用戶帳號(hào)的安全,Linux允許用戶隨時(shí)修改自己的口令,修改口令的命令是passwd,它將提示用戶輸入舊口令和新口令,之后還要求用戶再次確認(rèn)新口令,以避免用戶無(wú)意中按錯(cuò)鍵。如果用戶忘記了口令,可以向系統(tǒng)管理員申請(qǐng)為自己重新設(shè)置一個(gè)。

3.虛擬控制臺(tái)

Linux是一個(gè)真正的多用戶 操作系統(tǒng) ,它可以同時(shí)接受多個(gè)用戶登錄。Linux還允許一個(gè)用戶進(jìn)行多次登錄,這是因?yàn)長(zhǎng)inux和UNIX一樣,提供了虛擬控制臺(tái)的訪問(wèn)方式,允許用戶在同一時(shí)間從控制臺(tái)進(jìn)行多次登錄。虛擬控制臺(tái)的選擇可以通過(guò)按下Alt鍵和一個(gè)功能鍵來(lái)實(shí)現(xiàn),通常使用F1-F6例如,用戶登錄后,按一下Alt-F2鍵,用戶又可以看到"login:"提示符,說(shuō)明用戶看到了第二個(gè)虛擬控制臺(tái)。然后只需按Alt-F1鍵,就可以回到第一個(gè)虛擬控制臺(tái)。 一個(gè)新安裝的Linux系統(tǒng)默認(rèn)允許用戶使用Alt-F1到Alt-F6鍵來(lái)訪問(wèn)前六個(gè)虛擬控制臺(tái)。虛擬控制臺(tái)可使用戶同時(shí)在多個(gè)控制臺(tái)上工作,真正體現(xiàn)Linux系統(tǒng)多用戶的特性。用戶可以在某一虛擬控制臺(tái)上進(jìn)行的工作尚未結(jié)束時(shí),切換到另一虛擬控制臺(tái)開(kāi)始另一項(xiàng)工作。

退出系統(tǒng)

不論是超級(jí)用戶,還是普通用戶,需要退出系統(tǒng)時(shí),在shell提示符下,鍵入exit命令即可。

4.查看命令幫助信息

man命令

man命令用于查詢命令和程序的使用 方法 和參數(shù)。

例如:

man ls

將顯示ls命令的基本格式和使用方法

Linux系統(tǒng)常用的基本命令入門篇二、關(guān)機(jī)重啟命令

首先,是關(guān)機(jī)/重啟命令,僅在虛擬機(jī)時(shí)使用,實(shí)際工作中用不到

reboot 一般不跟參數(shù)使用,輸入指令即可重啟

shutdown 一般需要跟參數(shù),例:

shutdown -r 延時(shí)多少分鐘重啟,一般使用now

shutdown -r now 立即重啟

shutdown -f 強(qiáng)制重啟

跟windows一樣,linux也存在注銷功能

exit

1)halt

halt 可不接參數(shù)

halt -f 強(qiáng)制關(guān)機(jī)

2)poweroff

poweroff 可不接參數(shù)使用

poweroff -f 強(qiáng)制關(guān)機(jī)

3)init 0

4)shutdown 不可單獨(dú)使用

shutdown -h 分鐘數(shù) 延時(shí)多久關(guān)機(jī)

shutdown -h now 立即關(guān)機(jī)

Linux系統(tǒng)常用的基本命令入門篇三、vi編輯

vi命令是UNIX操作系統(tǒng)和類UNIX操作系統(tǒng)中最通用的全屏幕純文本編輯器。

Linux中的vi編輯器叫vim,它是vi的增強(qiáng)版(vi Improved),與vi編輯器完全兼容,而且實(shí)現(xiàn)了很多增強(qiáng)功能。

vi編輯器支持編輯模式和命令模式,編輯模式下可以完成文本的編輯功能,命令模式下可以完成對(duì)文件的操作命令,要正確使用vi編輯器就必須熟練掌握著兩種模式的切換。

默認(rèn)情況下,打開(kāi)vi編輯器后自動(dòng)進(jìn)入命令模式。從編輯模式切換到命令模式使用ldquo;escrdquo;鍵,從命令模式切換到編輯模式使用ldquo;Ardquo;、ldquo;ardquo;、ldquo;Ordquo;、ldquo;ordquo;、ldquo;Irdquo;、ldquo;irdquo;鍵。

vi編輯器提供了豐富的內(nèi)置命令,有些內(nèi)置命令使用鍵盤組合鍵即可完成,有些內(nèi)置命令則需要以冒號(hào)ldquo;:rdquo;開(kāi)頭輸入。常用內(nèi)置命令如下:

1 Ctrl+u:向文件首翻半屏;

2 Ctrl+d:向文件尾翻半屏;

3 Ctrl+f:向文件尾翻一屏;

4 Ctrl+b:向文件首翻一屏;

5 Esc:從編輯模式切換到命令模式;

6 ZZ:命令模式下保存當(dāng)前文件所做的修改后退出vi;

7 :行號(hào):光標(biāo)跳轉(zhuǎn)到指定行的行首;

8 :$:光標(biāo)跳轉(zhuǎn)到最后一行的行首;

9 x或X:刪除一個(gè)字符,x刪除光標(biāo)后的,而X刪除光標(biāo)前的;

10 D:刪除從當(dāng)前光標(biāo)到光標(biāo)所在行尾的全部字符;

11 dd:刪除光標(biāo)行正行內(nèi)容;

12 ndd:刪除當(dāng)前行及其后n-1行;

13 nyy:將當(dāng)前行及其下n行的內(nèi)容保存到寄存器?中,其中?為一個(gè)字母,n為一個(gè)數(shù)字;

14 p:粘貼文本操作,用于將緩存區(qū)的內(nèi)容粘貼到當(dāng)前光標(biāo)所在位置的下方;

15 P:粘貼文本操作,用于將緩存區(qū)的內(nèi)容粘貼到當(dāng)前光標(biāo)所在位置的上方;

16 /字符串:文本查找操作,用于從當(dāng)前光標(biāo)所在位置開(kāi)始向文件尾部查找指定字符串的內(nèi)容,查找的字符串會(huì)被加亮顯示;

17 ?name:文本查找操作,用于從當(dāng)前光標(biāo)所在位置開(kāi)始向文件頭部查找指定字符串的內(nèi)容,查找的字符串會(huì)被加亮顯示;

18 a,bs/F/T:替換文本操作,用于在第a行到第b行之間,將F字符串換成T字符串。其中,ldquo;s/rdquo;表示進(jìn)行替換操作;

19 a:在當(dāng)前字符后添加文本;

20 A:在行末添加文本;

21 i:在當(dāng)前字符前插入文本;

22 I:在行首插入文本;

23 o:在當(dāng)前行后面插入一空行;

24 O:在當(dāng)前行前面插入一空行;

25 :wq:在命令模式下,執(zhí)行存盤退出操作;

26 :w:在命令模式下,執(zhí)行存盤操作;

27 :w!:在命令模式下,執(zhí)行強(qiáng)制存盤操作;

28 :q:在命令模式下,執(zhí)行退出vi操作;

29 :q!:在命令模式下,執(zhí)行強(qiáng)制退出vi操作;

30 :e文件名:在命令模式下,打開(kāi)并編輯指定名稱的文件;

31 :n:在命令模式下,如果同時(shí)打開(kāi)多個(gè)文件,則繼續(xù)編輯下一個(gè)文件;

32 :f:在命令模式下,用于顯示當(dāng)前的文件名、光標(biāo)所在行的行號(hào)以及顯示比例;

33 :set nu:在命令模式下,用于在最左端顯示行號(hào);

34 :set nonu:在命令模式下,用于在最左端不顯示行號(hào);

35 :1,3y 復(fù)制第一行到第三行

36 :1,3d 刪除第一行到第三行

37 :1,3s/str/str_new/g 替換第一行到第三行中的字符串

38 :1,3s/str/str_new 替換第一行到第三行中的字符串第一個(gè)字符

39 :1,3 g/str /d 刪除第一行到第三行中含有這個(gè)字符串的行

Linux常用命令一、查詢相關(guān)

find

按規(guī)則查找某個(gè)文件或文件夾,包括子目錄

find . -name '_sh' -- 以.sh結(jié)尾的文件

find . -name '_hannel_ -- 包含channel字符的文件

find . -name 'build_ -- 以build開(kāi)頭的文件

find . -name 'abc??' -- abc后面有兩個(gè)字符的文件

grep

查找內(nèi)容包含指定的范本樣式的文件,Global Regular Expression Print

grep -n pattern files -- 規(guī)則 -n表示顯示行號(hào)

grep -n 'PostsActivity' AndroidManifest.xmlgrep -n '\d' AndroidManifest.xmlgrep 'aapt' build-channel.xml -- 文件中包含字符串的所有地方

grep -n 'aapt' build-channel.xml -- 文件中包含字符串的所有地方,并顯示行號(hào)

ps -e | grep java -- 所有java進(jìn)程

ps -e | grep -i qq --所有qq進(jìn)程,不區(qū)分大小寫

find . -name '_hannel.xml' | xargs grep -n 'aapt' -- 在以channel.xml結(jié)尾的文件中查找包含lsquo;aaptrsquo;關(guān)鍵字的地方

ls | grep 'channel' -- 包含channel關(guān)鍵字的文件

which

在PATH變量指定的路徑中,搜索某個(gè)系統(tǒng)命令的位置,并且返回第一個(gè)搜索結(jié)果

which zipwhich grep

Linux常用命令二、查看命令

tail

tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File]

從指定點(diǎn)開(kāi)始將文件寫到標(biāo)準(zhǔn)輸出。使用tail命令的-f選項(xiàng)可以方便的查閱正在改變的日志文件,tail -f filename會(huì)把filename里最尾部的內(nèi)容顯示在屏幕上,并且不斷刷新,使你看到最新的文件內(nèi)容。

tail -f test.log,循環(huán)查看文件內(nèi)容,Ctrl+c來(lái)終止

tail -n 5 test.log,顯示文件最后5行內(nèi)容

tail -n +5 test.log,從第5行開(kāi)始顯示文件

more

more [-dlfpcsu] [-num] [+/ pattern] [+linenum] [file...]

more命令和cat的功能一樣都是查看文件里的內(nèi)容,但有所不同的是more可以按頁(yè)來(lái)查看文件的內(nèi)容,還支持直接跳轉(zhuǎn)行等功能。

more +3 test.log,顯示文件中從第3行起的內(nèi)容

more -5 test.log,設(shè)定每屏顯示行數(shù)

ls -l | more -5,每頁(yè)顯示5個(gè)文件信息

more +/day3 test.log,查找第一個(gè)出現(xiàn)"day3"字符串的行,并從該處前兩行開(kāi)始顯示輸出

less

less [options] [file...]

與more命令一樣,less命令也用來(lái)分屏顯示文件的內(nèi)容。但是二者存在差別:less命令允許用戶向前或向后瀏覽文件,而more命令只能向前瀏覽。用less命令顯示文件時(shí),用PageUp鍵向上翻頁(yè),用PageDown鍵向下翻頁(yè)。要退出less程序,應(yīng)按Q鍵。

less test.log,查看文件

ps -ef | less,查看進(jìn)程信息并通過(guò)less分頁(yè)顯示

history | less,查看命令歷史使用記錄并通過(guò)less分頁(yè)顯示

less test1.log test2.log,瀏覽多個(gè)文件,n和p切換文件

watch

watch [options] command

每隔一段時(shí)間重復(fù)運(yùn)行一個(gè)命令,默認(rèn)間隔時(shí)間是2秒。要運(yùn)行的命令直接傳給shell(注意引用和轉(zhuǎn)義特殊字符)。結(jié)果會(huì)展示為全屏模式,這樣你可以很方便的觀察改變

watch -n 60 date,執(zhí)行date命令每分鐘一次,輸入^C 退出

watch -d ls -l,查看目錄變化

watch -d rsquo;ls -l | fgrep joersquo;,想找joe用戶的文件

watch -d 'ls -l|grep scf',監(jiān)測(cè)當(dāng)前目錄中 scf' 的文件的變化

watch -n 10 'cat /proc/loadavg',10秒一次輸出系統(tǒng)的平均負(fù)載

watch -n 1 -d netstat -ant,每隔一秒高亮顯示網(wǎng)絡(luò)鏈接數(shù)的變化

watch -n 1 -d 'pstree | grep http',每隔一秒高亮顯示http鏈接數(shù)的變化

Linux常用命令三、文件相關(guān)

vi

vi file

按i鍵,進(jìn)入編輯模式

按esc鍵,進(jìn)入命令模式

:w 保存文件但不退出vi

:w file 將修改另外保存到file中,不退出vi

:w! 強(qiáng)制保存,不推出vi

:wq 保存文件并退出vi

:wq! 強(qiáng)制保存文件,并退出vi

q: 不保存文件,退出vi

:q! 不保存文件,強(qiáng)制退出vi

:e! 放棄所有修改,從上次保存文件開(kāi)始再編輯

chmod

change mode,變更文件或目錄的讀、寫、運(yùn)行權(quán)限

chmod [-cfvR] [--help] [--version] mode file...

mode:權(quán)限設(shè)定字串,格式如下 : [ugoa...][[+-=][rw xX ]...][,...]

u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬于同一個(gè)群體(group)者,o 表示其他以外的人,a 表示這三者皆是

+ 表示增加權(quán)限、- 表示取消權(quán)限、= 表示唯一設(shè)定權(quán)限。

r 表示可讀取,w 表示可寫入,x 表示可執(zhí)行,X 表示只有當(dāng)該檔案是個(gè)子目錄或者該檔案已經(jīng)被設(shè)定過(guò)為可執(zhí)行。

chmod也可以用數(shù)字來(lái)表示權(quán)限,語(yǔ)法為:chmod abc file,如chmod 777 file

其中a,b,c各為一個(gè)數(shù)字,分別表示User、Group、及Other的權(quán)限。 r=4,w=2,x=1

chmod 777 file,等同于 chmod a=rwx file

chmod ug=rwx,o=x file,等同于 chmod 771 file

chmod 4755 filename,可使此程序具有root的權(quán)限

ls -l 可以查看列出當(dāng)前用戶的文件權(quán)限

zip

zip -r filename.zip filesdir

zip -r test.zip ./_把當(dāng)前所有文件壓縮到test.zip

zip -r test.zip test,把test文件所有文件及目錄,要是到test.zip

zip -d test.zip test.txt,刪除壓縮文件中test.txt文件

zip -m test.zip ./test.txt,向壓縮文件中test.zip中添加test.txt文件

zip -r test.zip file1 file2 file3 filesdir,處理多個(gè)文件和目錄,空格隔開(kāi)

unzip

unzip zip-file,解壓到當(dāng)前目錄

unzip -d dst-dir zip-file,解壓到指定的目錄,-d后為指定目錄

unzip -n zip-file,不覆蓋已經(jīng)存在的文件,-n為不要覆蓋原有的文件

unzip -n -d dst-dir zip-file,解壓到指定的目錄,不覆蓋已經(jīng)原有的文件

unzip -o -d dst-dir zip-file,-o不必先詢問(wèn)用戶覆蓋原有文件

unzip -l zip-file,僅查看壓縮文件內(nèi)所包含的文件

tar

tar cvf test.tar test,把test下所有文件和目錄做備份tar czvf test.tar.gz test,把test下所有文件和目錄做備份并進(jìn)行壓縮tar xzvf test.tar.gz,把這個(gè)備份文件還原并解壓縮tar tvf test.tar | more,查看備份文件的內(nèi)容,并以分屏方式顯示在 顯示器 上

tar czvf test.tar.gz test --exclude=test/svn,備份壓縮并排除目錄

touch

Linux 常用命令(要求全而精)

1、linux分區(qū)

--在linux里面所有的設(shè)備、任何東西,在linux看來(lái)都是文件。

--文件在它看來(lái),有兩種形式:

第一種是字符型(鍵盤輸入、打印機(jī));

第二種是二進(jìn)制型(硬盤、光驅(qū)、U盤)

--linux中所有硬件

--手動(dòng)分區(qū)

--A、至少有兩個(gè)分區(qū)

/ 根分區(qū)

SWAP 交換分區(qū)(物理內(nèi)存大小的兩倍)

--B、個(gè)人桌面分區(qū)

/

/boot 128MB is enough

/usr

SWAP

/tmp(用于光盤刻錄)

2、linux目錄說(shuō)明

--/dev/xxyN

--xx (分區(qū)所在設(shè)備類型:hd--IDE硬盤 sd--SCSI硬盤)

--y (標(biāo)明分區(qū)所在設(shè)備

例如:/dev/hda 第一個(gè)IDE硬盤 或 /dev/hdb 第二個(gè)IDE硬盤 或 /dev/sdb 第二個(gè)SCSI硬盤)

--N (數(shù)字代表分區(qū):1-4--主分區(qū)或擴(kuò)展分區(qū);邏輯分區(qū)從5開(kāi)始!

例如:/dev/hda3 第一個(gè)IDE硬盤上的第三個(gè)主分區(qū)或擴(kuò)展分區(qū)

/dev/sdb6 第二個(gè)SCSI硬盤上的第二個(gè)邏輯分區(qū))

3、linux目錄結(jié)構(gòu)

/ 根目錄,最高級(jí)別

/bin 系統(tǒng)基本命令存放目錄(/usr/bin)

/boot linux的內(nèi)核及引導(dǎo)系統(tǒng)程序文件存放目錄(如:vmlinuz、initrd.img)

一般情況下,GRUB或LILO系統(tǒng)引導(dǎo)管理也位于這個(gè)目錄

/dev 設(shè)備文件存儲(chǔ)目錄,如聲卡、光驅(qū)...

/ect 存放系統(tǒng)設(shè)置文件(如用戶賬號(hào)密碼、服務(wù)器配置文件等)

/home 普通用戶家目錄,默認(rèn)存放目錄

/lib 庫(kù)文件存放目錄

/lost+found 在ext2或ext3文件系統(tǒng)中,當(dāng)系統(tǒng)以外崩潰或機(jī)器意外關(guān)機(jī),而產(chǎn)生一些文件碎片放在這里。

當(dāng)系統(tǒng)啟動(dòng)的過(guò)程中,fsck工具會(huì)檢查這里,并修復(fù)已經(jīng)損壞的文件系統(tǒng)。

有事喜用發(fā)生問(wèn)題,有很多的文件被移到這個(gè)目錄中,可能會(huì)用手工的方式來(lái)修復(fù),或者移文件到原來(lái)的位置上。

/media 即插即用型存儲(chǔ)設(shè)備的掛載點(diǎn)自動(dòng)在這個(gè)目錄下創(chuàng)建。

如USB盤系統(tǒng)自動(dòng)掛在后,會(huì)在這個(gè)目錄下產(chǎn)生一個(gè)目錄;

類似cdrom的目錄

/mnt 存放掛載存儲(chǔ)設(shè)備的掛載目錄,如cdrom等目錄

/opt 表示可選的意思,有些軟件包也會(huì)被安裝在此,也就是自定義軟件包,

比如OpenOffice,或者一些我們自己編譯的軟件包,也可安裝此處。

/proc 操作系統(tǒng)運(yùn)行時(shí),進(jìn)程(正在運(yùn)行的程序)信息及內(nèi)核信息(比如CPU、硬盤分區(qū)、內(nèi)存信息等)存放在此。

/proc目錄是偽裝的文件系統(tǒng)proc的掛載目錄,proc并不是真正的文件系統(tǒng)

/root linux超級(jí)權(quán)限用戶root的家目錄

/sbin 大多是涉及系統(tǒng)管理的命令的存放,只有超級(jí)權(quán)限用戶root才可執(zhí)行命令存放,普通用戶無(wú)權(quán)限執(zhí)行此目錄下的命令

與 /usr/sbin; /usr/X11R6/sbin; usr/local/sbin 目錄相似

(sbin,只有root權(quán)限才能執(zhí)行)

/tmp 臨時(shí)文件目錄,有時(shí)用戶運(yùn)行程序的時(shí)候,會(huì)產(chǎn)生臨時(shí)文件。

/var/tmp目錄和此目錄相似

/usr 系統(tǒng)存放程序的目錄,如命令、幫助文件等。這個(gè)目錄下有很多的文件和目錄。

大部分Linux發(fā)行版提供的軟件包都安裝在此,涉及服務(wù)器的配置文件就安裝在/ect中。

/usr/share/fonts 字體目錄

/usr/share/man 或 /usr/share/doc 幫助目錄

/usr/bin 或 /usr/local/bin 或 /usr/X11R6/bin 普通用戶可執(zhí)行文件目錄

/usr/sbin 或 /usr/local/sbin 或 /usr/X11R6/sbin 超級(jí)權(quán)限用戶root可執(zhí)行命令存放目錄

/usr/include 程序頭文件存放目錄

/var (vary)此目錄經(jīng)常變動(dòng)

/var/log 用來(lái)存放系統(tǒng)日志

/var/www 用來(lái)定義Apache服務(wù)器站點(diǎn)存放

/var/lib 用來(lái)存放一些庫(kù)文件,如MySQL的,以及MySQL數(shù)據(jù)庫(kù)的存放地。

4、基本命令

--查看幫助 *** --help *** --?

--查看詳細(xì)幫助 man ***

--登錄 login

--退出窗口 exit

--關(guān)機(jī) shutdown

--重啟 reboot

--初始化 init (run level -/etc/inittab),0-6看第六部分的g

--進(jìn)入根目錄 cd /

--回上層目錄 cd ..

--相對(duì)路徑 cd dev

--絕對(duì)路徑 cd /dev

--查用戶名 whoami

--查當(dāng)前目錄 pwd

--列出當(dāng)前目錄內(nèi)容 ls

-l(樹(shù)詳細(xì)顯示目錄內(nèi)容)

-m(橫列顯示目錄內(nèi)容,是屏幕長(zhǎng)度顯示)

-a(列出全部文件,包括隱藏文件)

-S(以文檔大小排序)

--創(chuàng)建目錄 mkdir dname

--刪除目錄 rmdir dname

rm -r *** -(遞歸刪除該目錄下所有內(nèi)容,詢問(wèn)每個(gè)準(zhǔn)備刪除的文件)

rm -rf ***-(強(qiáng)制刪除該目錄下所有內(nèi)容,不詢問(wèn))

--創(chuàng)建空白文件 touch ***

(ps:從技術(shù)的角度來(lái)講,linux的文件后綴名沒(méi)有任何意義)

--復(fù)制 cp

cp -r **1 **2 (復(fù)制1到2中)

--移動(dòng) mv

mv -t **1 **2 (把2移動(dòng)到1中)

--編輯文本 vi [文件名]

--查看文本 cat 由第一行開(kāi)始顯示文本內(nèi)容

tac 從最后一行顯示,可以看出 tac 是 cat 的倒著寫

more 一頁(yè)一頁(yè)的顯示文檔內(nèi)容

less 與 more 類似,可以往前翻頁(yè)

head 只看頭幾行

-N(數(shù)字,可根據(jù)行數(shù)顯示)

tail 只看后幾行

-N(數(shù)字,可根據(jù)行數(shù)顯示)

nl 顯示的時(shí)候,順序輸出行號(hào)

od 以二進(jìn)制位的方式讀取檔案內(nèi)容

--查找文本 find [路徑][查找類型][搜索文件名]

如查找rc.local find /etc -name *.local

--查找命令信息及其位置 whereis 命令

如 whereis ls

--查看環(huán)境變量 echo $SHELL

如 echo $PATH (分大小寫:分隔符是:,windows是echo %path%;)

--鏈接 ln

如 ln joe.txt a (硬鏈接,如同復(fù)制一個(gè)新文件,joe.txt刪除后,a還存在)

a是鏈接的名稱,a和joe.txt同步,然后a的內(nèi)容和joe.txt一樣

joe.txt改變,a也跟著變

如 ln -s joe.txt b (軟鏈接,如同創(chuàng)建一個(gè)快捷方式,joe.txt刪除后,b不存在)

--wc 統(tǒng)計(jì)指定文本文件的行數(shù)、字?jǐn)?shù)、字符數(shù)

--grep(很常用) 在指定的文本文件中查找指定的字符串

grep 字符串 文件名

--col 見(jiàn)管道..

--------------------

----信息顯示命令----

--------------------

--date 顯示和設(shè)置日期

--stat 顯示指定文件的相關(guān)信息

--who、w 顯示在線登錄用戶

--whoami 顯示用戶自己的身份

--id 顯示當(dāng)前用戶的id信息

--hostname 顯示主機(jī)名稱

--uname 顯示操作系統(tǒng)信息

--dmesg 顯示系統(tǒng)啟動(dòng)信息

--du 顯示指定的文件(目錄)已使用的磁盤空間

--df 顯示文件系統(tǒng)磁盤空間的使用情況

--free 顯示當(dāng)前內(nèi)存和交換空間的使用情況

--fdisk -l 顯示磁盤信息

--locale 顯示當(dāng)前語(yǔ)言環(huán)境

5、掛載點(diǎn)(mount 設(shè)備目錄 掛載目錄)

--訪問(wèn)設(shè)備 (那設(shè)備當(dāng)成一個(gè)文件,和另外一個(gè)文件夾進(jìn)行綁定)

--例如掛載光驅(qū):步驟 [cd /mnt]---[mkdir cdr]---[mount /dev/cdrom /mnt/cdr]---[cd cdr]--OK!直接訪問(wèn)光驅(qū)內(nèi)容

--卸載掛載設(shè)備(umount /dev/cdrom)--注意必須先退出掛載目錄,否則出現(xiàn)"device is busy"錯(cuò)誤.

6、startup-shutdown(linux啟動(dòng)流程)

--A、boot sequence(important) linux啟動(dòng)過(guò)程

a. load bios(hardware information)

b. read MBR's config to find out the OS

(MBR--Master Boot Record,硬盤第一個(gè)物理扇區(qū),柱面0、磁頭0、扇區(qū)1,包含主引導(dǎo)程序和硬盤分區(qū)表)

c. load the kernel of the OS

(加載為kernel核心的OS)

d. init process starts...

(啟動(dòng)linux第一個(gè)進(jìn)程init)

e. execute /etc/rc.d/sysinit

(執(zhí)行系統(tǒng)最重要的配置文件,后臺(tái)啟用進(jìn)程)

(rc.d--run command)

f. start other modules(stc/modules.conf)

(開(kāi)啟各種模塊,如內(nèi)存管理模塊、硬盤管理模塊)

g. execute the run level scripts

(系統(tǒng)啟動(dòng)是分層次的,根據(jù)情況執(zhí)行,每個(gè)層次之間沒(méi)關(guān)系)

0 - 系統(tǒng)停機(jī)狀態(tài)

1 - 單用戶工作狀態(tài) root

2 - 多用戶狀態(tài)(沒(méi)有NFS)

3 - 多用戶狀態(tài)(有NFS)

NFS - Network File System 網(wǎng)絡(luò)文件系統(tǒng),聯(lián)網(wǎng)系統(tǒng)

4 - 系統(tǒng)未使用,留給用戶

5 - 圖形界面

6 - 系統(tǒng)正常關(guān)閉并重新啟動(dòng)

如:cd /etc -- 有rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d等多個(gè)文件夾,保存著各個(gè)層次執(zhí)行的進(jìn)程文件

h. execute /etc/rc.d/rc.local (重要)

(保存其它進(jìn)程腳本,如tomcat自動(dòng)啟動(dòng),要修改此配置文件)

i. execute /bin/login

(登錄界面)

j. shell started...

7、vi 文本編輯器

--兩種模式:命令模式 編輯模式

--vi [文件名]

(切換到編輯模式)

a append-光標(biāo)后添加

i insert-光標(biāo)前插入

o open-另起一行編輯

esc (切換回命令模式)

:w 存盤

:wq 存盤退出

:q 退出

:q! 不存盤退出

dd 刪除其中一行

dw 刪除一個(gè)單詞

(sudo gedit 文本 常用linux下的文本編輯器,比vi好用)

8、用戶設(shè)置

--切換用戶(switch user) su username

小技巧:直接exit切換

--添加用戶 useradd username [-g] [組名](分配到某個(gè)用戶組)

(創(chuàng)建后會(huì)自動(dòng)在/home目錄下創(chuàng)建該新用戶的文件夾,如/home/username)

--設(shè)置密碼 passwd username

--cd /etc

--查看用戶信息 more password

如新增的用戶信息:username:x:500:500::/home/username:/bin/bash

第一個(gè)數(shù)字,代表用戶組,當(dāng)添加用戶沒(méi)有指定用戶組時(shí),系統(tǒng)會(huì)創(chuàng)建一個(gè)和用戶ID一樣的組ID;

第二個(gè)數(shù)字:用戶ID號(hào);

用戶的目錄是/home/username;

用戶的SHELL是/bin/bash

(命令---SHELL[解釋命令]---kenrel內(nèi)核)

SHELL有多種類型,如csh、bash(常用)、bsh、ksh、sh(最原始)

--添加用戶組 groupadd groupname

--查看用戶組信息 more group

--刪除用戶組 groupdel groupname

--修改用戶 usermod [-g] [組名] [用戶名]

--刪除用戶 userdel username

然后把/home的文件夾刪除了 rm -rf 文件夾

9、權(quán)限file privilege

--linux把文件的權(quán)限分成四種:r:read w:write x:execute -:none

如:-rw-r--r--

lrwxrwxrwx

drwxr-xr-x

drwxr-xr-x

第一個(gè)數(shù)字'-'代表文件,其余是文件夾,后9位分為3組,每組有四種權(quán)限設(shè)置rwx-

第一位表示文件所有者

第二位表示和所有者在同一用戶組的用戶

第三位表示不在同一用戶組的用戶權(quán)限

--設(shè)置權(quán)限 (隨意應(yīng)用,靈活組合!)

1、普通用法

--添加權(quán)限 [chmod +x 文件]

如:-rw-r--r-- --- -rwxr-xr-x

--刪除權(quán)限 [chmod -x 文件]

如:-rwxr-xr-x --- -rw-r--r--

--給自己添加權(quán)限 [chmod ?+x 文件]

如此類推,組--g,其他人--o

如:chmod u+x -rw-r--r-- --- -rwxr--r--

chmod g+x -rw-r--r-- --- -rw-r-xr--

chmod o+x -rw-r--r-- --- -rw-r--r-x

2、專業(yè)用法 chmod 755/777

--原理,八進(jìn)制轉(zhuǎn)二進(jìn)制

如755,111 101 101, rwx r-x r-x

777,111 111 111, rwx rwx rwx

--修改所有者權(quán)限 chown (change owner)

如:chown 原來(lái)文件 file1 的所有者是 root,改成joe的

chown joe file1

10、管道(把上一個(gè)命令執(zhí)行的結(jié)果交給下一個(gè)命令)

--使用方法:

命令1|命令2|命令3......|命令n

--使用舉例

--$ls -Rl /etc | more

(如 ls -Rl /etc (在控制臺(tái)模式下,無(wú)法返回前面過(guò)去的信息),因此需要管道執(zhí)行該查詢,實(shí)現(xiàn)分頁(yè)的工作, ls -Rl /etc | more)

--$cat /etc/passwd | wc

(顯示文件結(jié)果,再數(shù)數(shù)有多少行)

--$cat /etc/passwd | grep lrj

(顯示文件結(jié)果,再查找包含lrj的行)

--#dmesg | grep eth0

(顯示系統(tǒng)啟動(dòng)的信息,再查找包含eth0的行--真正含義,檢查網(wǎng)卡執(zhí)行信息是否正常)

--$man bash | col -b bash.txt

語(yǔ)法:col [-bfx][-l緩沖區(qū)列數(shù)]

補(bǔ)充說(shuō)明:在許多UNIX說(shuō)明文件里,都有RLF控制字符。當(dāng)我們運(yùn)用shell特殊字符""和"",把說(shuō)明文件的內(nèi)容輸出成純文本文件時(shí),控制字符會(huì)變成亂碼,col指令則能有效濾除這些控制字符。

參數(shù):

-b 過(guò)濾掉所有的控制字符,包括RLF和HRLF。

-f 濾除RLF字符,但允許將HRLF字符呈現(xiàn)出來(lái)。

-x 以多個(gè)空格字符來(lái)表示跳格字符。

-l緩沖區(qū)列數(shù) 預(yù)設(shè)的內(nèi)存緩沖區(qū)有128列,您可以自行指定緩沖區(qū)的大小。

--$ls -l | grep "^d"

(用正則表達(dá)式篩選出目錄列表中 頭字母為'd' 的內(nèi)容--目錄)(^是正則表達(dá)式開(kāi)頭部分)

--$ls -l * | grep "^-" | wc -l

(列出目錄列表中 頭字符為'-'的內(nèi)容--文件,并統(tǒng)計(jì)顯示的行數(shù)wc -l)

11、其他命令

--wall(warning all) 通知所有人

a.命令替換

如 wall `date`、 cd 'pwd'、mkbootdisk $(uname -r)

b.重定向

重定向輸出:

如 ls cmd.txt ,把文件寫到cmd.txt,不輸出在控制臺(tái)

ls cmd.txt ,把文件追加寫到cmd.txt

重定向輸入:

如 wall cmd.txt,把文本內(nèi)容發(fā)給所有人

12、修改系統(tǒng)的默認(rèn)系統(tǒng)級(jí)別

常用3和5

3 - 多用戶狀態(tài)(有NFS)

NFS - Network File System 網(wǎng)絡(luò)文件系統(tǒng),聯(lián)網(wǎng)系統(tǒng)

5 - 圖形界面

PS.設(shè)置用戶權(quán)限: sudo chmod 777 目錄

4表示讀,2表示寫,1表示執(zhí)行.

第一位表示文件所有者,第二位表示和所有者在同一用戶組的用戶,第三位表示不在同一用戶組的用戶權(quán)限.

755表示文件所有者可讀寫,執(zhí)行.

第二位5表示與所有者在同一用戶組的可讀,可執(zhí)行,不可寫.

第三位5表示其它組可讀,可執(zhí)行,不可寫. 轉(zhuǎn)載于Joewalker在本人空間也有詳細(xì)說(shuō)明

求debug命令詳解

DEBUG的常用命令

(1)匯編命令 A

格式:A[起始地址]

功能:將輸入源程序的指令匯編成目標(biāo)代碼并從指定地址單元開(kāi)始存放。若缺省

起始地址,則從當(dāng)前CS:100 地址開(kāi)始存放。A 命令按行匯編,主要是用于小段

程序的匯編或?qū)δ繕?biāo)程序的修改。

(2)反匯編命令 U

格式1:U[起始地址]

格式2:U[起始地址][結(jié)束地址|字節(jié)數(shù)]

功能:格式1 從指定起始地址處開(kāi)始將32 個(gè)字節(jié)的目標(biāo)代碼轉(zhuǎn)換成匯編指令形

式,缺省起始地址,則從當(dāng)前地址CS:IP 開(kāi)始。

格式2 將指定范圍的內(nèi)存單元中的目標(biāo)代碼轉(zhuǎn)換成匯編指令。

(3)顯示、修改寄存器命令 R

格式:R[寄存器名]

功能:若給出寄存器名,則顯示該寄存器的內(nèi)容并可進(jìn)行修改。缺省寄存器名,

則按以下格式顯示所有寄存器的內(nèi)容及當(dāng)前值(不能修改)。

AX=0000 BX=0004 CX=0020 DX=0000 SP=0080 BP=0000 SI=0000

DI=0000 DS=3000 ES=23A0 CS=138E IP=0000

NV UP DI PL NZ NA PO NC

138E:0000 MOV AX,1234

-R AX ;輸入命令

AX 0014 ;顯示AX 的內(nèi)容

: ;供修改,不修改按回車。

若對(duì)標(biāo)志寄存器進(jìn)行修改,輸入:-RF

屏幕顯示如下信息,分別表示OF、DF、IF、SF、ZF、AF、PF、CF 的狀態(tài)。

NV UP DI PL NZ NA PO NC

不修改按回車鍵。要修改需個(gè)別輸入一個(gè)或多個(gè)此標(biāo)志的相反值,再按回車鍵。

R 命令只能顯示、修改16 位寄存器。

(4)顯示存儲(chǔ)單元命令 D

格式1:D[起始地址]

格式2:D[起始地址][結(jié)束地址|字節(jié)數(shù)]

功能:格式1 從起始地址開(kāi)始按十六進(jìn)制顯示80H 個(gè)單元的內(nèi)容,每行16 個(gè)單

元,共8 行,每行右邊顯示16 個(gè)單元的ASCII 碼,不可顯示的ASCII 碼則顯示

“·”。格式2 顯示指定范圍內(nèi)存儲(chǔ)單元的內(nèi)容,其他顯示方式與格式1 一樣。

如果缺省起始地址或地址范圍,則從當(dāng)前的地址開(kāi)始按格式1 顯示。

例如: -D 200 ;表示從DS:0200H 開(kāi)始顯示128 個(gè)單元內(nèi)容

-D 100 120 ;表示顯示DS:0100-DS:0120 單元的內(nèi)容

說(shuō)明:在DEBUG 中,地址表示方式有如下形式:

段寄存器名:相對(duì)地址,如:DS:100

段基值:偏移地址(相對(duì)地址),如:23A0:1500

(5)修改存儲(chǔ)單元命令 E

格式1:E[起始地址] [內(nèi)容表]

格式2:E[地址]

功能:格式1 按內(nèi)容表的內(nèi)容修改從起始地址開(kāi)始的多個(gè)存儲(chǔ)單元內(nèi)容,即用內(nèi)

容表指定的內(nèi)容來(lái)代替存儲(chǔ)單元當(dāng)前內(nèi)容。

例如:—E DS:0100 'VAR' 12 34

表示從DS:0100 為起始單元的連續(xù)五個(gè)字節(jié)單元內(nèi)容依次被修改為

'V'、'A'、'R'、12H、34H。

格式2 是逐個(gè)修改指定地址單元的當(dāng)前內(nèi)容。

如:—E DS:0010

156F:0010 41.5F

其中156F:0010 單元原來(lái)的值是41H,5FH 為輸入的修改值。若只修改一個(gè)單元

的內(nèi)容,這時(shí)按回車鍵即可;若還想繼續(xù)修改下一個(gè)單元內(nèi)容,此時(shí)應(yīng)按空格鍵,

就顯示下一個(gè)單元的內(nèi)容,需修改就鍵入新的內(nèi)容,不修改再按空格跳過(guò),如此

重復(fù)直到修改完畢,按回車鍵返回DEBUG“-”提示符。如果在修改過(guò)程中,將

空格鍵換成按“-”鍵,則表示可以修改前一個(gè)單元的內(nèi)容。

(6)運(yùn)行命令 G

格式:G[=起始地址][第一斷點(diǎn)地址[第二斷點(diǎn)地址……]]

功能:CPU 從指定起始地址開(kāi)始執(zhí)行,依次在第一、第二等斷點(diǎn)處中斷。若缺省

起始地址,則從當(dāng)前CS:IP 指示地址開(kāi)始執(zhí)行一條指令。最多可設(shè)置10 個(gè)斷點(diǎn)。

(7)跟蹤命令 T

格式:T[起始地址][正整數(shù)]

功能:從指定地址開(kāi)始執(zhí)行‘正整數(shù)’條指令,若缺省‘正整數(shù)’,表示執(zhí)行一

條指令,若兩項(xiàng)都缺省,表示從當(dāng)前CS:IP 指示地址開(kāi)始執(zhí)行一條指令。

(8)指定文件命令 N

格式:N文件名或擴(kuò)展名

功能:指定即將調(diào)入內(nèi)存或從內(nèi)存寫入磁盤的文件名。該命令應(yīng)該用在L 命令和

W 命令之前。

(9)裝入命令 L

格式1:L[起始地址][盤符號(hào)][扇區(qū)號(hào)][扇區(qū)數(shù)]

格式2:L[起始地址]

功能:格式1 根據(jù)盤符號(hào),將指定扇區(qū)的內(nèi)容裝入到指定起始地址的存儲(chǔ)區(qū)中。

格式2 將N 命令指出的文件裝入到指定起始地址的存儲(chǔ)區(qū)中,若省略起始地址,

則裝入到CS:100 處或按原來(lái)文件定位約定裝入到相應(yīng)位置。

(10)寫磁盤命令 W

格式1:W起始地址[驅(qū)動(dòng)器號(hào)]起始扇區(qū)扇區(qū)數(shù)

格式2:W[起始地址]

功能:格式1 把指定地址開(kāi)始的內(nèi)容數(shù)據(jù)寫到磁盤上指定的扇區(qū)中。

格式2 將起始地址的BX×10000H+CX 個(gè)字節(jié)內(nèi)容存放到由N 命令指定的文件中。

在格式2 的W 命令之前,除用N 命令指定存盤的文件名外,還必須將要寫的字節(jié)

數(shù)用R 命令送入BX 和CX 中。

(11)退出命令 Q

格式:Q

功能:退出DEBUG,返回到操作系統(tǒng)。

以上介紹的是DEBUG 常用命令,其他命令請(qǐng)參考有關(guān)書籍。

嵌入式linux驅(qū)動(dòng)程序中如何設(shè)置控制設(shè)備的寄存器

歸根揭底

在驅(qū)動(dòng)程序中操作的還是寄存器

在頭文件中定義一下寄存器的絕對(duì)地址 然後操作寄存器的

舉個(gè)例子 #define config @0x00000120

然後在驅(qū)動(dòng)程序.C中讀寫config寄存器 就行了

當(dāng)前文章:修改linux寄存器命令 linux修改內(nèi)存配置參數(shù)
文章地址:http://www.muchs.cn/article16/dosshdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、網(wǎng)站排名、Google、營(yíng)銷型網(wǎng)站建設(shè)軟件開(kāi)發(fā)、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司