Linux 程序設計實驗報告
《Linux 程序設計實驗報告》由會員分享,可在線閱讀,更多相關《Linux 程序設計實驗報告(13頁珍藏版)》請在裝配圖網上搜索。
1、 ...wd... Linux程序設計 實驗報告 姓 名:、、、 班 級: 計1242 學 號: 121842284 專 業(yè):計算機科學與技術 指導教師: 、、、 實驗一 Linux系統(tǒng)安裝與啟動〔選做實驗〕 一、 實驗目的(通過實踐及查閱資料完成如下實驗) 1. 掌握虛擬機的配置過程。 2. 掌握Linux系統(tǒng)的安裝過程和簡單配置方法。 3. 掌握與Linux相關的多操作系統(tǒng)的安裝方法。 4. 掌握Linux系統(tǒng)的啟
2、動、關閉步驟。 5. 了解Linux文件系統(tǒng)和目錄構造。 二、 實驗內容 1. 安裝虛擬機軟件〔如VMware、Virtualbox)。 2. 在虛擬機軟件中安裝Linux操作系統(tǒng)〔如Fedora、Ubuntu、redhat等)。 3. 配置Linux系統(tǒng)運行環(huán)境。 4. 正確地啟動、關閉系統(tǒng)。 三、 實驗步驟 1 .安裝虛擬機軟件〔VMwareWorkstation 7.0) 。 2.在虛擬機軟件中新建Linux虛擬機 2.1設置內存大小〔建議大于256MB) 2.2設置虛擬硬盤大小〔建議大于8GB) 2.3設置虛擬光驅〔虛擬方式,鏡像文件〕 2.4設置網絡連接模式〔
3、建議采用橋接方式〕 2.5設置共享目錄〔建議英文目錄名〕 1. 在Linux虛擬機中安裝Linux操作系統(tǒng)〔fedora10 )。 3.1選擇安裝界面 3.2檢測安裝截介質〔建議跳過〕 3.3安裝過程中的語言、鍵盤選擇 3.4磁盤分區(qū)〔采用自動分區(qū),總大小與2.2相匹配〕 3.5引導程序選擇〔采用GRUB) 3.6本卷須知〔禁用SELinux) 2. 通過相關命令實現對操作系統(tǒng)的登錄、退出與關機 3. 使用文件瀏覽器査看Linux操作系統(tǒng)目錄構造 四、實驗思考題 1. 舉例說明Linux操作系統(tǒng)不同目錄下文件的主要作用。 2. 列出你發(fā)現的Linux與Windows操
4、作系統(tǒng)區(qū)別。 3. 列出決定文本界面及圖形界面顯示的關鍵文件,并說明設置的關鍵。 4. 列出你所能想到的虛擬機軟件的用途。 實驗結論: 實驗二:linux 根本命令(必做實驗) 一、 實驗目的、要求〔請在操作后附實驗結果〕 1. 熟悉Linux操作環(huán)境。 2. 掌握Linux—般命令格式。 3. 掌握有關文件和目錄操作的常用命令。 4. 掌握有關進程操作的常用命令。 二、 實驗內容 1.熟練掌握登錄和退出系統(tǒng),創(chuàng)立,刪除用戶等命令〔命令:運行結果〕。 2.熟悉 date,cal,who,echo, clear,passwd,man 等命令。 3.在用戶主目錄下對文件進
5、展如下操作:復制一個文件、顯示文件內容、查找指 定內容、排序、文件比擬、文件刪除。 4.對目錄進展管理:創(chuàng)立和刪除子目錄、改變和顯示工作目錄、列出文件權限、 建設鏈接文件等。 1. 顯示系統(tǒng)中的進程信息。 三、 實驗步驟 1. 登錄進入系統(tǒng),翻開shell環(huán)境〔終端〕。 2. 使用date,cal, who, echo, clear等命令,了解Linux命令格式。 3. 利用man命令查看date,echo等命令的幫助說明。 4. 目錄操作 4.1在用戶默認工作目錄下新建目錄testdirl〔命令:運行結果〕。 4.2在用戶目錄下復制testdirl為testdir2〔命令:
6、運行結果〕。 4.3在用戶目錄下刪除testdir2?!裁睿哼\行結果〕 5. 文件操作 5.1進入用戶默認工作目錄。 5.2運行date> testl,然后運行cattest1,記錄觀察到的信息〔命令:運行結果〕。 5.3再次運行date> testl,然后運行cattestl,記錄觀察到的信息〔命令:運行結果〕。 5.4運行date?testl,然后運行cattestl,記錄觀察到的信息并說明原因〔命令:運行結果〕。 5.5 復制 testl為 test2。 5.6査看testl和test2的文件詳細信息,記錄并說明其異同。 5.7統(tǒng)計testl文件內容的行數、字數。
7、5.8顯示testl的內容。 5.9建設testl的鏈接文件test3。 5.10復制testl到上一級目錄。 5.11在用戶目錄下刪除testl,刪除testdirl。 四、實驗思考題 1. 如何顯示當前工作目錄的完整路徑。 在Linux層次目錄構造中,用戶可以在被授權的任意目錄下利用mkdir命令創(chuàng)立新目錄,也可以利用cd命令從一個目錄轉換到另一個目錄。然而,沒有提示符來告知用戶目前處于哪一個目錄中。要想知道當前所處的目錄,可以使用pwd命令,該命令顯示整個路徑名。 pwd?說明:此命令顯示出當前工作目錄的絕對路徑。例:$ pwd /home/xu?顯示的路徑名為/home/
8、xu,每個目錄名都用“/〞隔開,根目錄以開頭的“/〞表示。 2. 舉例說明Linux命令的常用格式。 mkdir -p /srv/ftp/linux-10 創(chuàng)立文件夾 -p 如果文件夾不存在自動創(chuàng)立 free 命令 free命令的功能是查看當前系統(tǒng)內存的使用情況,它顯示系統(tǒng)中剩余及已用的物理內存和交換內存,以及共享內存 和被核心使用的緩沖區(qū)。 3. 舉例說明如何使用Linux命令幫助〔命令:運行結果〕。 實驗結論: 實驗三文件權限管理(必做實驗) 一、 實驗目的 1. 熟悉Linux操作環(huán)境。 2. 掌握Linux—般命令格式。 3. 理解Linux中文件所有者和權限的概念
9、。 4. 掌握有關權限操作的常用命令。 5. 掌握文件/目錄的打包和壓縮命令。 二、 實驗內容 1.2.1 普通文件與目錄權限的修改。 1.2.2 改變文件屬主。 1.2.3 普通文件與目錄的打包和壓縮。 三、 實驗步驟 1. 文件權限操作 1.1在用戶默認工作目錄下創(chuàng)立目錄test03,進入test03目錄,使用touch命令創(chuàng) 建空文件filel。 1.2顯示filel詳細信息,記錄文件的權限信息,所屬用戶和組。 1.3對filel設置權限,使其他用戶可以對此文件進展寫操作,并查看設置結果。 1.4取消同組用戶對filel的讀取權限,并査看設置結果。 1.5用數字
10、形式來為filel設置權限,使所有者可讀、可寫、可執(zhí)行;其他用戶和 所屬組用戶只有讀和執(zhí)行的權限,并查看設置結果。 1.6用數字形式更改filel權限,使所有者只能讀取此文件,其他任何用戶都沒有 權限,并査看設置結果。 1.7為其他用戶添加寫權限,并査看設置結果。 1.8回到上層目錄,查看test03的權限。 1.9為其他用戶添加對此目錄的寫權限,查看設置結果。 1.10査看并記錄目錄test03及其中文件的所屬用戶和組。 1.11把目錄test03及其下的所有文件的所有者改成bin,所屬組改成daemon,并 査看設置結果。 1.12刪除目錄test03及其下的文件。 1.1
11、3設定umask為000 ($ umask000),創(chuàng)立testdir目錄,并査看其權限。 2. 打包壓縮命令操作 2.1將/etc目錄拷貝SlJ用戶默認工作目錄下,重命名為etctest。 2.2用tar命令將etctest目錄打包成etctest.tar.gz,查看etctest.tar.gz的權限,解壓 縮 etctest.tar.gz 四、實驗思考題 4.1列舉ls命令不同選項的功能。 (1) ls:顯示所有非隱藏文件〔按字典順序排序〕????? 〔2〕ls?-a:顯示所有文件包括隱藏文件? 〔3〕ls?-l:顯示所有文件的詳細信息?????????? 〔4〕?顯示總
12、數 4.2 說明文件權限和文件所有者的含義。 -rw-r--r--是文件的權限。Root是用戶組。 4.3 舉例說明umask命令的功能。 umask設置了用戶創(chuàng)立文件的默認 權限,它與chmod的效果剛好相反,umask設置的是權限“補碼〞,而chmod設置的是文件權限碼。一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中設置umask值。 4.4 說明后綴名為tar.gz和tar.bz2的文件的壓縮和解壓命令。 Linux下最常用的打包程序就是tar了,使用tar程序打出來的包我們常稱為tar包,tar包文件的命令通
13、常都是以.tar結尾的。生成tar包后,就可以用其它的程序來進? 行壓縮了,所以首先就來講講tar命令的 根本用法:? tar命令的選項有很多(用man tar可以查看到),但常用的就那么幾個選項,下面? 來舉例說明一下:? # tar -cf all.tar *.jpg? 這條命令是將所有.jpg的文件打成一個名為all.tar的包。-c是表示產生新的包? ,-f指定包的文件名。? # tar -rf all.tar *.gif? 這條命令是將所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的? 意思。? # tar -uf all.ta
14、r logo.gif? 這條命令是更新原來tar包all.tar中l(wèi)ogo.gif文件,-u是表示更新文件的意思。? # tar -tf all.tar? 這條命令是列出all.tar包中所有文件,-t是列出文件的意思? # tar -xf all.tar? 這條命令是解出all.tar包中所有文件,-x是解開的意思? 以上就是tar的最 根本的用法。為了方便用戶在打包解包的同時可以壓縮或解壓文件,tar提供了一種特殊的功能。這就是tar可以在打包或解包的同時調用其它的壓縮程序。 實驗結論:通過這個實驗我了解了普通文件與目錄權限的修改。 實驗四用戶和組的管理
15、(必做實驗) 一、 實驗目的 1. 熟悉Linux操作環(huán)境。 2. 掌握Linux—般命令格式。 3. 熟悉命令行操作方式進展用戶和用戶組管理。 二、 實驗內容 2. 建設新用戶賬號權限測試。 3. 為新用戶建設賬號和工作組,并進展相應配置。 4. 以該用戶身份登錄,修改密碼。 5. 刪除該用戶。 三、 實驗步驟 1. 創(chuàng)立用戶〔以zhangsan 為例〕 1.1創(chuàng)立一個新用戶zhangsan。 1.2査看/etc/passwd文件的最后一行內容,并記錄。 1.3査看/etc/shadow文件的最后一行內容,并記錄。 1.4給用戶zhangsan設置密碼。 1.
16、5查看/etc/shadow文件的最后一行內容,記錄并說明變化。 1.6使用zhangsan用戶登錄系統(tǒng),測試能否登錄成功。 2. 創(chuàng)立用戶〔以user為例〕 2.1使用1的步驟創(chuàng)立新用戶user。 2.2更改zhangsan所屬群組為root。 2.3査看/etc/passwd文件,記錄zhangsan用戶和user用戶的屬組情況。 2.4更改用戶zhangsan的帳戶名為user。 2.5査看/etc/passwd文件的最后一行內容,記錄并說明變化。 2.6刪除用戶user。 3. 組的管理〔以stuff為例〕 3.1創(chuàng)立一個新組,組名為stuff。 3.2査看/et
17、c/group文件的最后一行內容,并記錄。 3.3創(chuàng)立一個新帳戶test,并將其起始組和附屬組都設為stuff。 3.4査看/etc/group文件中的最后一行內容,記錄并說明變化。 3.5設置stuff組密碼。 3.6在stuff組中刪除用戶test。 3.7查看/etc/group文件中的最后一行,記錄并說明變化。 3.8刪除會且stuff。 四、實驗思考題 1. 說明所屬群組與所屬附加群組的區(qū)別。 chgrp(changegroup)改變文件所屬群組, hown?? 〔change? owner〕改變文件所有者屬性。 2. 如普通用戶遺失密碼后要求恢復用戶權限,說明
18、root用戶可能采取的方式。 1) 在root賬戶下,翻開/etc/shadow?(不是passwd文件,因為密碼實際上經過加密后放在了“影子口令〞文件shadow中了。passwd文件每個用戶均可見,但是shadow只有root可以見)。? 2) 找到普通用戶名cicikasa,然后刪除第二個域即可,域之間用“:〞隔開的,如下user:TdkakkkYUukkjkjk:14672:0:99999:7:::??上述紅色局部就是經過加密的密碼,刪除即可。??? 3) 在普通用戶下,輸入passwd即可輸入新密碼。 3. 如何指定不同用戶的默認工作目錄。 1) 修改/etc/vsftpd
19、/vsftpd.conf 將 guest_username=virtual_user user_config_dir=/etc/vsftpd_user user_sub_token=$USER 加進去 2) 在/etc目錄下手工建設vsftpd_user目錄 3) 在/etc/vsftpd_user目錄下建設用戶文件,用戶文件名稱=要登錄的用戶名。 例如:FTP用戶是test111那么就在/etc/vsftpd_user/下建設一個test111文件,文件內容local_root=/home/test111/$USER 4) 重啟服務service vsftpd restar
20、t 實驗五文本編輯器〔選做實驗〕 一、 實驗目的 1. 掌握Vi編輯器的進入與退出方法。 2. 了解文本編輯器的三種模式。 3. 熟練掌握使用vi編輯器進展編輯、選擇及操作文本文件的命令。 二、 實驗內容 1. 進入和退出vi。 2. 利用文件拷貝方式建設一個文件。 3. 在該文件上移動光標位置。 4. 對該文件內容執(zhí)行刪除、修改、替換等操作。 三、 實驗步驟 1. 在當前用戶默認工作目錄下新建一個名為“test02〞的目錄。 2. 將文件“/etc/rsyslog.conf’復制到“test〞 目錄下。 3.使用vi翻開est’’目錄下的rsyslog.conf〇
21、 4.指出設定umask (類似于“umask0022〞〕的所在行號。 5. 將光標移到該行,并復制該行內容。 6. 將該行內容內容粘貼至最后一行。 7. 撤銷第6步的動作。 8. 光標移到“$ FileOwnersyslog〞,刪除該行。 9. 存盤但不退出。 10. 將光標移到首行,插入模式下輸入“Hello,thisisviworld!〞。 11. 向下查找字符串“syslog〞。 12. 再向上査找字符串“TCP〞。 13. 強制退出vi,不存盤。 四、 實驗思考題 1. 舉例說明實驗中使用的命令處于何種模式下 2. 說明在vi中如何實現字符串的查找,并實現查
22、找結果的自動換行。 3. 說明在vi中如何實現行號的顯示與關閉。 實驗六 庫文件的建設與引用(必做實驗) 按照課本第一章,第7-11頁,建設并引用庫文件,寫出實驗過程及結果。 庫函數介紹: 1. Linux系統(tǒng)調用,文件的描述符使用的是一個整數,庫函數訪問文件使用FILE類型的指針去指向描述文件; 2. 庫函數不隨系統(tǒng)平臺而變,即不管win還是Linux都適用; 庫函數 - 讀文件 size_t fread(void *ptr, size_t size, size_t n, FILE *stream) 功能:從stream指向的文件中讀取n個字段,每個字段為size字節(jié),并將
23、讀取的數據放入ptr所指向的字符數組中,返回實際已讀取的字節(jié)數?!沧x出來的數據量為size*n〕 庫函數 - 寫文件 size_t fwrite(const void *ptr, size_t size, size_t n, FILE *stream) 功能:從緩沖區(qū)ptr所指向的數組中把n個字段寫到stream指向的文件中,每個字段長為size個字節(jié),返回實際寫入的字段數。 庫函數 - 創(chuàng)立和翻開 FILE *fopen(const char *filename, const char *mode) filename:翻開的文件名〔包含路徑,缺省為當前路徑〕 mode:翻開模式
24、
實例代碼
#include
25、buffer[BUFFER_SIZE]; char *ptr; /* 翻開源文件 */ if((from_fd=fopen(argv[1],"rb"))==NULL) { printf("Open %s Error\n",argv[1]); exit(1); } /* 創(chuàng)立目的文件 */ if((to_fd=fopen(argv[2],"wb"))==NULL) { printf("Open %s Error\n",argv[2]); exit(1); } /*測得文件大小*/
26、fseek(from_fd,0L,SEEK_END); file_len=ftell(from_fd); fseek(from_fd,0L,SEEK_SET); printf("form file size is=%d\n",file_len); /*進展文件拷貝*/ while(!feof(from_fd)) { fread(buffer,BUFFER_SIZE,1,from_fd); if(BUFFER_SIZE>=file_len) { fwrite(buffer,file_len,1,to_fd); } else
27、 { fwrite(buffer,BUFFER_SIZE,1,to_fd); file_len=file_len-BUFFER_SIZE; } bzero(buffer,BUFFER_SIZE); } fclose(from_fd); fclose(to_fd); exit(0); } 結果及說明: root@wl-MS-7673:/home/wl/桌面/c++# g++ file_lib_copy.cpp -o file_lib_copy file_lib_copy.cpp: 在函數‘int main(int, char**)’中: file_lib_copy.cpp:43:41: 警告: 格式 ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long int’ [-Wformat] root@wl-MS-7673:/home/wl/桌面/c++# ./file_lib_copy file_lib_copy.cpp test2.c form file size is=1030 root@wl-MS-7673:/home/wl/桌面/c++#
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。