![]() ![]() 實驗一 UNIX/LINUX使用環(huán)境及vi編輯器
[實驗目的] 1、了解UNIX/LINUX的命令及使用格式。 2、復習C語言程序基本知識練習并掌握UNIX提供的vi編輯器來編譯C程序 3、學會利用gcc、gdb編譯、調(diào)試C程序 [實驗學時] 2學時 [實驗類型] 驗證性 [實驗內(nèi)容] 1、通過WINDOWS系統(tǒng)中的遠程登錄程序telnet.exe 登錄UNIX/LINUX。 2、熟悉UNIX/LINUX的常用基本命令如ls、mkdir、cd、rm、cat、gcc、./等。 3、用vi編寫一個簡單的、顯示"Hello,World!"的C程序,用gcc編譯并觀察編譯后的結果。利用gdb調(diào)試該程序.運行生成的可執(zhí)行文件。
[實驗步驟] 一、UNIX的登錄與退出 1、登錄 在DOS環(huán)境下用MS提供的telnet程序(也可使用WINDOWS 自帶的telnet圖形界面程序或多功能的S-Term終端程序),可使PC作為終端(terminal)登錄(login)UNIX服務器(UNIX Server)。
(1)執(zhí)行格式: telnet hostname(主機名) 或 telnet 主機的IP地址 例: telnet www.yahoo.com telnet 140.122.77.120 (2)步驟 login: (輸入username) password: (輸入密碼) 2、退出 在UNIX系統(tǒng)提示符$下,輸入logout、exit或shutdown 。 例:$ logout 二、UNIX命令格式 命令 [選項] [處理對象] 例:ls -la mydir 注意:(1)命令一般是小寫字串。注意大小寫有別 (2)選項通常以減號(-)再加上一個或數(shù)個字符表示,用來選擇一個命令的不同操作 (3)同一行可有數(shù)個命令,命令間應以分號隔開 (4)命令后加上&可使該命令后臺(background)執(zhí)行 三、UNIX常用命令 1、目錄操作 和DOS相似,UNIX采用樹型目錄管理結構,由根目錄(/)開始一層層將子目錄建下去,各子目錄以 / 隔開。用戶login后,工作目錄的位置稱為 home directory,由系統(tǒng)管理員設定。'~’符號代表自己的home directory,例如 ~/myfile 是指自己home目錄下myfile這個文件。 UNIX的通配符有三種:’*’ 和 ’?’ 用法與DOS相同, '-' 代表區(qū)間內(nèi)的任一字符,如test[0-5]即代表test0,test1,……,test5的集合。 (1)顯示目錄文件 ls 執(zhí)行格式: ls [-atFlgR] [name] (name可為文件或目錄名稱) 例: ls 顯示出當前目錄下的文件 ls -a 顯示出包含隱藏文件的所有文件 ls -t 按照文件最后修改時間顯示文件 ls -F 顯示出當前目錄下的文件及其類型 ls -l 顯示目錄下所有文件的許可權、擁有者、文件大小、修改時間及名稱 ls -lg 同上 ls -R 顯示出該目錄及其子目錄下的文件 注:ls與其它命令搭配使用可以生出很多技巧(最簡單的如"ls -l | more"),更多用法請輸入ls --help查看,其它命令的更多用法請輸入 命令名 --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)刪除,而且不給出提示,使用時要小心
(4) 改變工作目錄位置 cd 執(zhí)行格式: cd [name] 例: cd 改變目錄位置至用戶login時的working directory cd dir1 改變目錄位置,至dir1目錄 cd ~user 改變目錄位置,至用戶的working directory cd .. 改變目錄位置,至當前目錄的上層目錄 cd ../user 改變目錄位置,至上一級目錄下的user目錄 cd /dir-name1/dir-name2 改變目錄位置,至絕對路徑(Full path) cd - 回到進入當前目錄前的上一個目錄
(5)顯示當前所在目錄pwd 執(zhí)行格式: pwd (6)查看目錄大小du 執(zhí)行格式: du [-s] directory 例: du dir1 顯示目錄dir1及其子目錄容量(以kb為單位) du -s dir1 顯示目錄dir1的總容量 2、文件操作 (1)查看文件(可以是二進制的)內(nèi)容 cat 執(zhí)行格式:cat filename或more 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)復制文件 cp 執(zhí)行格式: cp [-r] source destination 例: cp file1 file2 將file1復制成file2 cp file1 dir1 將file1復制到目錄dir1 cp /tmp/file1 將file1復制到當前目錄 cp /tmp/file1 file2 將file1 復制到當前目錄名為file2 cp –r dir1 dir2 (recursive copy)復制整個目錄。 四、文件編輯器vi vi是在UNIX 上被廣泛使用的中英文編輯軟件。vi是visual editor的縮寫,是UNIX提供給用戶的一個窗口化編輯環(huán)境。 進入vi,直接執(zhí)行vi編輯程序即可。 例:$vi test.c 顯示器出現(xiàn)vi的編輯窗口,同時vi會將文件復制一份至緩沖區(qū)(buffer)。vi先對緩沖區(qū)的文件進行編輯,保留在磁盤中的文件則不變。編輯完成后,使用者可決定是否要取代原來舊有的文件。 1、vi的工作模式 vi提供二種工作模式:輸入模式(insert mode)和命令模式(command mode)。使用者進入vi后,即處在命令模式下,此刻鍵入的任何字符皆被視為命令,可進行刪除、修改、存盤等操作。要輸入信息,應轉換到輸入模式。 (1)命令模式 在輸入模式下,按ESC可切換到命令模式。命令模式下,可選用下列指令離開vi:
(2)命令模式下光標的移動
(3)輸入模式 輸入以下命令即可進入vi輸入模式:
五、GCC編譯器 LINUX 上的GC C編譯器是一個全功能的ANCI C兼容編譯器,下面介紹一些GCC編譯器最常用的選項。 1、使用GCC 通常后跟一些選項和文件名來使用GCC編譯器。GCC命令的基本用法如下: gcc [options] [filenames] 命令行選項指定的編譯過程中的具體操作 2、GCC常用選項 GCC有超過100個的編譯選項可用,這些選項中的許多可能永遠都不會用到,但一些主要的選項將會頻繁使用。很多的GCC選項包括一個以上的字符,因此必須為每個選項指定各自的連字符,并且就像大多數(shù)LINUX 命令一樣不能在一個單獨的連字符后跟一組選項。例如,下面的命令是不同的: gcc -p-g test.c gcc -pg test.c 第一條命令告訴GCC編譯test.c時為prof命令建立剖析(profile)信息并且把調(diào)試信息加入到可執(zhí)行文件里。第二條命令告訴GCC只為gprof命令建立剖析信息。 當不用任何選項編譯一個程序時,GCC將建立(假定編譯成功)一個名為a.out的可執(zhí)行文件。例如, gcc test.c 編譯成功后,當前目錄下就產(chǎn)生了一個a.out文件。 也可用-o選項來為即將產(chǎn)生的可執(zhí)行文件指定一個文件名來代替a.out。例如: gcc –o count count.c 此時得到的可執(zhí)行文件就不再是a.out,而是count。 GCC也可以指定編譯器處理步驟多少。-c選項告訴GCC僅把源代碼編譯為目標代碼而跳過匯編和連接步驟。這個選項使用得非常頻繁因為它編譯多個C程序時速度更快且更易于管理。默認時GCC建立的目標代碼文件有一個.o的擴展名。 3、執(zhí)行文件 格式: ./可執(zhí)行文件名 例:./a.out ./count 六、參考程序 main( ) { printf("Hello,world!\n"); } [實驗報告要求] 1.調(diào)試說明。包括:調(diào)試情況,如上機時遇到問題及解決辦法,觀察到的現(xiàn)象及其分析,對程序設計技巧的總結及分析等;程序的輸出結果及對結果的分析;實驗的心得體會,以及調(diào)試日期等需要記錄的信息。
|
|
來自: 以怪力亂神 > 《計算機操作系統(tǒng)實驗》