日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

實(shí)驗(yàn)一 linux環(huán)境與vi編輯器

 以怪力亂神 2018-09-06
 
 







實(shí)驗(yàn)一  UNIX/LINUX使用環(huán)境及vi編輯器 

 

[實(shí)驗(yàn)?zāi)康腯

1、了解UNIX/LINUX的命令及使用格式。

2、復(fù)習(xí)C語言程序基本知識(shí)練習(xí)并掌握UNIX提供的vi編輯器來編譯C程序

3、學(xué)會(huì)利用gcc、gdb編譯、調(diào)試C程序

[實(shí)驗(yàn)學(xué)時(shí)]

2學(xué)時(shí)

[實(shí)驗(yàn)類型]

驗(yàn)證性

[實(shí)驗(yàn)內(nèi)容]

1、通過WINDOWS系統(tǒng)中的遠(yuǎn)程登錄程序telnet.exe 登錄UNIX/LINUX。

2、熟悉UNIX/LINUX的常用基本命令如lsmkdir、cd、rmcat、gcc、./等。

3、用vi編寫一個(gè)簡(jiǎn)單的、顯示"Hello,World!"C程序,用gcc編譯并觀察編譯后的結(jié)果。利用gdb調(diào)試該程序.運(yùn)行生成的可執(zhí)行文件。

 

[實(shí)驗(yàn)步驟]

一、UNIX的登錄與退出

1、登錄

DOS環(huán)境下用MS提供的telnet程序也可使用WINDOWS 自帶的telnet圖形界面程序或多功能的S-Term終端程序),可使PC作為終端terminal登錄loginUNIX服務(wù)器UNIX  Server。

 

1)執(zhí)行格式:

                 telnet  hostname(主機(jī)名)

     telnet  主機(jī)的IP地址

     例:        telnet  www.yahoo.com

                 telnet  140.122.77.120

    2)步驟

                     login                 (輸入username

                     password              (輸入密碼)

2、退出

        UNIX系統(tǒng)提示符$下,輸入logout、exitshutdown 。

例:$ logout

二、UNIX命令格式

             命令   [選項(xiàng)]   [處理對(duì)象]

例:ls  -la  mydir

注意:(1)命令一般是小寫字串。注意大小寫有別

         2)選項(xiàng)通常以減號(hào)(-)再加上一個(gè)或數(shù)個(gè)字符表示,用來選擇一個(gè)命令的不同操作

         3)同一行可有數(shù)個(gè)命令,命令間應(yīng)以分號(hào)隔開

         4)命令后加上&可使該命令后臺(tái)(background)執(zhí)行

三、UNIX常用命令

1、目錄操作

DOS相似,UNIX采用樹型目錄管理結(jié)構(gòu),由根目錄(/)開始一層層將子目錄建下去,各子目錄以 / 隔開。用戶login后,工作目錄的位置稱為  home   directory,由系統(tǒng)管理員設(shè)定。'~’符號(hào)代表自己的home   directory,例如  ~/myfile 是指自己home目錄下myfile這個(gè)文件。

UNIX的通配符有三種:’*’ ’?’ 用法與DOS相同, '-' 代表區(qū)間內(nèi)的任一字符,如test[0-5]即代表test0,test1,……,test5的集合。

1)顯示目錄文件    ls

執(zhí)行格式:  ls  [-atFlgR] [name]       (name可為文件或目錄名稱)

例:  ls             顯示出當(dāng)前目錄下的文件

ls  -a        顯示出包含隱藏文件的所有文件

ls  -t         按照文件最后修改時(shí)間顯示文件 

ls  -F         顯示出當(dāng)前目錄下的文件及其類型

ls  -l         顯示目錄下所有文件的許可權(quán)、擁有者、文件大小、修改時(shí)間及名稱

ls  -lg        同上

ls  -R         顯示出該目錄及其子目錄下的文件

   :ls與其它命令搭配使用可以生出很多技巧(最簡(jiǎn)單的如"ls -l | more")更多用法請(qǐng)輸入ls --help查看,其它命令的更多用法請(qǐng)輸入   命令名 --help  查看.

 

 

2)建新目錄   mkdir

執(zhí)行格式:      mkdir   directory-name

例:            mkdir   dir1   (新建一名為dir1的目錄)

3)刪除目錄  rmdir

執(zhí)行格式:      rmdir    directory-name    rm   directory-name

例:rmdir  dir1      刪除目錄dir1,但它必須是空目錄,否則無法刪除

        rm  -r  dir1     刪除目錄dir1及其下所有文件及子目錄

        rm  -rf dir1    不管是否空目錄,統(tǒng)統(tǒng)刪除,而且不給出提示,使用時(shí)要小心

 

4 改變工作目錄位置     cd

執(zhí)行格式:    cd  [name]                      

例: cd            改變目錄位置至用戶login時(shí)的working  directory

     cd  dir1       改變目錄位置dir1目錄

     cd  ~user      改變目錄位置,至用戶的working directory

     cd  ..         改變目錄位置,至當(dāng)前目錄的上層目錄

     cd  ../user    改變目錄位置,至上一級(jí)目錄下的user目錄

     cd  /dir-name1/dir-name2       改變目錄位置,至絕對(duì)路徑(Full  path)

     cd  -          回到進(jìn)入當(dāng)前目錄前的上一個(gè)目錄

 

5)顯示當(dāng)前所在目錄pwd

執(zhí)行格式:           pwd

6)查看目錄大小du

執(zhí)行格式:     du  [-s]  directory

例:   du   dir1         顯示目錄dir1及其子目錄容量(以kb為單位)

          du  -s  dir1      顯示目錄dir1的總?cè)萘?/span>

 2、文件操作

1)查看文件(可以是二進(jìn)制的)內(nèi)容  cat

執(zhí)行格式:cat filenamemore filename cat filename|more

例:      cat file1       以連續(xù)顯示方式,查看文件file1的內(nèi)容

more  file1    

    cat  file1|more 以分頁方式查看文件的內(nèi)容

2)刪除文件  rm

執(zhí)行格式:  rm   filename    

例:        rm     file?              

rm    f*        

3)復(fù)制文件  cp

   執(zhí)行格式:    cp  [-r]  source  destination

例:    cp   file1  file2       file1復(fù)制成file2

      cp   file1  dir1        file1復(fù)制到目錄dir1

            cp  /tmp/file1          file1復(fù)制到當(dāng)前目錄

            cp  /tmp/file1  file2    file1 復(fù)制到當(dāng)前目錄名為file2

cp  –r  dir1  dir2      (recursive  copy)復(fù)制整個(gè)目錄。                       

四、文件編輯器vi

vi是在UNIX 上被廣泛使用的中英文編輯軟件。vivisual  editor的縮寫,是UNIX提供給用戶的一個(gè)窗口化編輯環(huán)境。

進(jìn)入vi,直接執(zhí)行vi編輯程序即可。

例:$vi  test.c

顯示器出現(xiàn)vi的編輯窗口,同時(shí)vi會(huì)將文件復(fù)制一份至緩沖區(qū)(buffer)。vi先對(duì)緩沖區(qū)的文件進(jìn)行編輯,保留在磁盤中的文件則不變。編輯完成后,使用者可決定是否要取代原來舊有的文件。

1、vi的工作模式

vi提供二種工作模式:輸入模式(insert  mode)和命令模式(command  mode)。使用者進(jìn)入vi后,即處在命令模式下,此刻鍵入的任何字符皆被視為命令,可進(jìn)行刪除、修改、存盤等操作。要輸入信息,應(yīng)轉(zhuǎn)換到輸入模式。

1)命令模式

在輸入模式下,按ESC可切換到命令模式。命令模式下,可選用下列指令離開vi

q!

離開vi,并放棄剛在緩沖區(qū)內(nèi)編輯的內(nèi)容

wq

將緩沖區(qū)內(nèi)的資料寫入磁盤中,并離開vi

ZZ

wq

x

wq

w

將緩沖區(qū)內(nèi)的資料寫入磁盤中,但并不離開vi

q

離開vi,若文件被修改過,則要被要求確認(rèn)是否放棄修改的內(nèi)容,此指令可與:w配合使用

 

2)命令模式下光標(biāo)的移動(dòng)

H

左移一個(gè)字符

J

下移一個(gè)字符

K

上移一個(gè)字符

L

右移一個(gè)字符

0

移至該行的首

$

移至該行的末

^

移至該行的第一個(gè)字符處

H

移至窗口的第一列

M

移至窗口中間那一列

L

移至窗口的最后一列

G

移至該文件的最后一列

W, W

下一個(gè)單詞 (W 忽略標(biāo)點(diǎn))

B, B  

上一個(gè)單詞 (B 忽略標(biāo)點(diǎn))

+

移至下一列的第一個(gè)字符處

-

移至上一列的第一個(gè)字符處

(

移至該句首

)

移至該句末

{

移至該段首

}

移至該段末

NG

移至該文件的第n

N+

移至光標(biāo)所在位置之后第n

n-

移至光標(biāo)所在位置之前第n

 

3)輸入模式

輸入以下命令即可進(jìn)入vi輸入模式:

a(append) 

在光標(biāo)之后加入資料

在該行之末加入資料

i(insert)

在光標(biāo)之前加入資料

在該行之首加入資料

o(open)

新增一行于該行之下,供輸入資料用

O

新增一行于該行之上,供輸入資料用

Dd

刪除當(dāng)前光標(biāo)所在行

X

刪除當(dāng)前光標(biāo)字符

X

刪除當(dāng)前光標(biāo)之前字符

U

撤消

·

重做

F

查找

替換,例如:將文件中的所有"FOX"換成"duck",用":%s/FOX/duck/g"

ESC

離開輸入模式

五、GCC編譯器

LINUX 上的GC C編譯器是一個(gè)全功能的ANCI  C兼容編譯器,下面介紹一些GCC編譯器最常用的選項(xiàng)。

1、使用GCC

通常后跟一些選項(xiàng)和文件名來使用GCC編譯器。GCC命令的基本用法如下:

      gcc [options] [filenames]

命令行選項(xiàng)指定的編譯過程中的具體操作

2、GCC常用選項(xiàng)

GCC有超過100個(gè)的編譯選項(xiàng)可用,這些選項(xiàng)中的許多可能永遠(yuǎn)都不會(huì)用到,但一些主要的選項(xiàng)將會(huì)頻繁使用。很多的GCC選項(xiàng)包括一個(gè)以上的字符,因此必須為每個(gè)選項(xiàng)指定各自的連字符,并且就像大多數(shù)LINUX 命令一樣不能在一個(gè)單獨(dú)的連字符后跟一組選項(xiàng)。例如,下面的命令是不同的:

gcc  -p-g  test.c

gcc  -pg  test.c

第一條命令告訴GCC編譯test.c時(shí)為prof命令建立剖析(profile)信息并且把調(diào)試信息加入到可執(zhí)行文件里。第二條命令告訴GCC只為gprof命令建立剖析信息。

當(dāng)不用任何選項(xiàng)編譯一個(gè)程序時(shí),GCC將建立(假定編譯成功)一個(gè)名為a.out的可執(zhí)行文件。例如,

gcc  test.c

編譯成功后,當(dāng)前目錄下就產(chǎn)生了一個(gè)a.out文件。

也可用-o選項(xiàng)來為即將產(chǎn)生的可執(zhí)行文件指定一個(gè)文件名來代替a.out。例如:

gcc  –o  count  count.c

此時(shí)得到的可執(zhí)行文件就不再是a.out,而是count。

GCC也可以指定編譯器處理步驟多少。-c選項(xiàng)告訴GCC僅把源代碼編譯為目標(biāo)代碼而跳過匯編和連接步驟。這個(gè)選項(xiàng)使用得非常頻繁因?yàn)樗幾g多個(gè)C程序時(shí)速度更快且更易于管理。默認(rèn)時(shí)GCC建立的目標(biāo)代碼文件有一個(gè).o的擴(kuò)展名。

3、執(zhí)行文件  

格式:     ./可執(zhí)行文件名

例:./a.out

        ./count

六、參考程序

main( )

{

     printf("Hello,world!\n");

}

[實(shí)驗(yàn)報(bào)告要求]

1.調(diào)試說明。包括:調(diào)試情況,如上機(jī)時(shí)遇到問題及解決辦法,觀察到的現(xiàn)象及其分析,對(duì)程序設(shè)計(jì)技巧的總結(jié)及分析等;程序的輸出結(jié)果及對(duì)結(jié)果的分析;實(shí)驗(yàn)的心得體會(huì),以及調(diào)試日期等需要記錄的信息。

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多