【正文】
c,nread)。 int in, out。程序清單//程序清單 31include include int main(void){char c。(4)按照說(shuō)明重新修改程序32,并使用time命令察看程序執(zhí)行的時(shí)間效率上有何區(qū)別。 esac echo e n \n\n\tHit the return key to continue read DUMMYdone實(shí) 驗(yàn) 報(bào) 告組別姓名高宇同組實(shí)驗(yàn)者實(shí)驗(yàn)項(xiàng)目名稱(chēng)實(shí)驗(yàn)三文件操作實(shí)驗(yàn)日期第13周周四3,4節(jié)教師評(píng)語(yǔ)實(shí)驗(yàn)成績(jī)指導(dǎo)教師實(shí)驗(yàn)?zāi)康腵 }while :do tput clear cat aaaUser:$USER Host:$THIS_HOST Date:$MYDATE 1 : List subdirectory in current directory 2 : List files in current directory which can run 3 : See who is on the system H : Help screen Q : Exit Menuaaa echo e n \tYour Choice [1,2,3,H,Q] read CHOICE case $CHOICE in 1) ls l|awk 39。(3) 執(zhí)行程序,寫(xiě)出程序的執(zhí)行結(jié)果。初步認(rèn)識(shí)的一些linux下的基礎(chǔ)命令。 解釋?zhuān)簩s –l 輸出的結(jié)果輸出重定向到temp文件中。用cat命令瀏覽文件passwd 的內(nèi)容,用more命令進(jìn)行瀏覽翻頁(yè)操作,再用less 命令瀏覽文件內(nèi)容。完成后查看當(dāng)前目錄下的passwd文件的屬性和文件的權(quán)限。(10) 使用free命令查看內(nèi)存資源的使用情況,記錄結(jié)果。(15) 執(zhí)行命令clear和logout,退出系統(tǒng)。(8)嘗試存盤(pán)退出操作,寫(xiě)出命令。 Echo“there are ‘who|wc l’ users online” for i in “who are\n’who|awk’ {print $1}” do echo –n $i echo –n”” done3. 實(shí)驗(yàn)總結(jié)通過(guò)本次實(shí)驗(yàn)對(duì)linux下的文件編輯器vi有初步了解,掌握了基本使用方法,此外初識(shí)shell編程,對(duì)腳本文件有所認(rèn)識(shí)。 H|h) cat aaaThis is the help screen,nothing here yet to help you!aaa。(2)利用gcc分別編譯這兩個(gè)程序,寫(xiě)出編譯命令和執(zhí)行結(jié)果,如果不成功,嘗試?yán)胓db調(diào)試。}。while((c = fgetc(in))!=EOF)fputc(c,out)。// while((nread = read(in,block,sizeof(block))) 0) while((nread = read(in,amp。}int main(void){FILE *fp。void err_exit(char *err_s){ perror(err_s)。(1) 學(xué)習(xí)和掌握f(shuō)ork等系統(tǒng)調(diào)用的基本使用方法。 in program:8: error: syntax error before numeric constant:8: error: stray 39。實(shí)驗(yàn)結(jié)論對(duì)進(jìn)程有所了解,學(xué)習(xí)了linux下進(jìn)程的操作方法,了解了dup的工作原理。 printf(\nMy pid is %d,%s\n pid = %d\n global = %d\n local = %d\n, getpid(),string,pid,global,local)。main(){static char process1[]=”father”,process2[]=”child”。 // 關(guān)閉標(biāo)準(zhǔn)輸出描述符1 dup(fd[1])。 // 關(guān)閉原始管道讀指針 execl(process2,process2,0)。 exit(0) 。汽車(chē)裝配線(xiàn)可以很好的描述這個(gè)模型。為了更好地處理這種耗時(shí)的操作,我們需要使用多線(xiàn)程編程。em_wait的作用是以原子操作的方式給信號(hào)量的值減1,但它會(huì)等到信號(hào)量非0時(shí)才會(huì)開(kāi)始減法操作。它允許程序員鎖住某個(gè)對(duì)象,使得每次只能有一個(gè)線(xiàn)程訪(fǎng)問(wèn)它。2) 建立連接后,TCP協(xié)議提供全雙工的通信服務(wù),但是一般的客戶(hù)端/服務(wù)器程序的流程是由客戶(hù)端主動(dòng)發(fā)起請(qǐng)求,服務(wù)器被動(dòng)處理請(qǐng)求,一問(wèn)一答的方式3) 如果客戶(hù)端沒(méi)有更多的請(qǐng)求了,就調(diào)用close()關(guān)閉連接,就像寫(xiě)端關(guān)閉的管道一樣,服務(wù)器的read()返回0,這樣服務(wù)器就知道客戶(hù)端關(guān)閉了連接,也調(diào)用close()關(guān)閉連接四、 實(shí)驗(yàn)內(nèi)容分別編寫(xiě)服務(wù)器端、客戶(hù)端程序,服務(wù)器通過(guò)socket連接后,在服務(wù)器上顯示客戶(hù)端的IP地址或域名,從客戶(hù)端讀字符,然后將每個(gè)字符轉(zhuǎn)換為大寫(xiě)并回送給客戶(hù)端。對(duì)代碼進(jìn)行執(zhí)行:32。分析 : 首先調(diào)用socket函數(shù)創(chuàng)建一個(gè)socket,接著調(diào)用bind函數(shù)將其與本機(jī)地址以及一個(gè)本地端口號(hào)綁定,然后調(diào)用函數(shù)liste