Linux程序设计实验报告_第1页
Linux程序设计实验报告_第2页
Linux程序设计实验报告_第3页
Linux程序设计实验报告_第4页
Linux程序设计实验报告_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

..资料《Linux程序设计》实验指导书实验类别:课内实验实验课程名称:实验室名称:软件工程专业实验室总学时:32实验课程编号学分:实验类别:课内实验实验课程名称:实验室名称:软件工程专业实验室总学时:32实验课程编号学分:Linux程序设计N031401122适用专业:软件工程先修课程:Linux操作系统、C程序设计实验在教学培养计划中地位、作用:通过讲授Linux的操作使用、系统结构和Linux环境下的程序设计,使学生对Linux操作系统获得一个全面的认识和掌握。一方面,学生通过学习系统程序设计,能够复习操作系统中的基本概念,对文件管理、进程控制有更深入的理解;另一方面,学生学会在Linux环境下工作,进一步熟悉C语言程序设计和数据结构的知识,编写进行系统维护的脚本文件和实用化的大型应用程序,如网络应用程序。同时,本课程为学生进一步学习其它后续课程(如高级操作系统、Linux内核源代码分析、嵌入式系统等)打下基础。《Linux程序设计》实验大纲LinuxProgramDesign课程类别:学科专业教育课程 课程名称:Linux程序设计开课单位:软件学院 课程编号:N03140112总学时:32 学分:2适用专业:软件工程先修课程:程序设计基础一、实验教学目标熟练掌握shell编程、熟练使用linux系统、掌握进程控制和进程间通信,学会编写网络程序,学会在linux环境中编写web程序。养成一种良好的程序设计风格。二、实验环境Linux三、实验教材及参考书:[1]实验指导书(自编讲义)[2]《Linux环境C程序设计》徐诚高莹婷等清华大学出版社2010.1⑶《linux入门到精通》刘忆智清华大学出版社2010.1四、实验成绩评定方式根据学生在实验过程中的认真程度、上机结果验收情况以及实验报告撰写质量,进行综合评定。五、实验项目及学时分配序号实验名称实验类别学时数备注1Linux基本命令的使用验证型22Shell程序设计设计型23文件操作与文件管理验证型24Linux下简单C程序设计验证型25进程控制和进程间通信设计型26网络程序设计验证型2六、实验内容及要求实验一Linux基本命令的使用1、实验目的(1)学习和掌握Linux的基本命令(2)增强学生对Linux的学习兴趣2、实验内容(1)linux的登录操作(2)常用基本命令的使用实验二Shell程序设计1、实验目的.Shell程序设计中变量的使用;(2).理解通道的概念并初步掌握它的使用方法;.掌握算术操作、字符串操作、逻辑操作、文件操作;.掌握ifthenfi、iftheneliffi、case、while、for等控制语句;⑸.在shell脚本中使用函数;2、实验内容.通过对shell程序的调试,理解变量$#,$0,$1,$2,$3,$@的含义;.Shell顺序程序设计;.Shell分支程序与多分支程序设计;.Shell循环程序设计。实验三文件操作与文件管理1、实验目的.熟悉Linux下常用的操作指令。.加深对文件,目录,文件系统等概念的理解。.掌握Linux文件系统的目录结构。.掌握有关Linux文件系统操作的常用命令。.了解有关文件安全方面的知识。2、实验内容Linux文件系统操作的常用命令。实验四Linux下简单C程序设计1、实验目的(1)学习和掌握gcc等Linux的开发调试环境。(2)学会在Linux下编写C程序。2、实验内容(1)学习GCC编译程序(2)学习并分别使用标准C的文件操作函数和Linux的系统调用创建一个对学生基本信息进行操作(插入、修改和删除)的C程序。实验五进程控制和进程间通信1、实验目的为了理解和掌握UNIX和Linux进程通信系统调用的功能,这里给出了进程通信实现机制中使用的系统调用命令的格式和如何利用系统调用命令进行进程通信编程,以便通过学习,提高学生对进程通信系统调用的编程能力。2、实验内容编写一个有名管道程序。一个(客户)进程从键盘循环读一系列字符,将这些字符和发送者的pid发给服务器进程,让其统计输入的是字符还是数字,分别为多少个,完成后再向客户进程发回服务的结果,由客户进程输出。实验六网络程序设计1、实验目的.理解Socket概念;.理解并掌握Socket模型下获得本机IP信息的方法;.理解并发服务器模型,掌握通用套接字开发技术;.掌握Linux平台数据结构的传送方法。2、实验内容.编写获得本机IP信息的程序;.编写基于并发服务器模式的网络通信原型系统;.要求至少综合使用到实验目的中提到的三条或三条以上内容。《Linux程序设计》实验指导书实验类别:课内实验 实验课程名称:Linux程序设计实验室名称:软件工程专业实验室 实验课程编号: N03140112总学时:32 学分: 2适用专业:软件工程先修课程:操作系统、C程序设计实验在教学培养计划中地位、作用:通过讲授Linux的操作使用、系统结构和Linux环境下的程序设计,使学生对Linux操作系统获得一个全面的认识和掌握。一方面,学生通过学习系统程序设计,能够复习操作系统中的基本概念,对文件管理、进程控制有更深入的理解;另一方面,学生学会在Linux环境下工作,进一步熟悉C语言程序设计和数据结构的知识,编写进行系统维护的脚本文件和实用化的大型应用程序,如网络应用程序。同时,本课程为学生进一步学习其它后续课程(如高级操作系统、Linux内核源代码分析、嵌入式系统等)打下基础。实验一Linux基本命令的使用1、实验目的(1)学习和掌握Linux的基本命令(2)增强学生对Linux的学习兴趣2、实验内容linux的登录操作(2)常用基本命令的使用3、实验要求(1)实验前认真预习实验内容,详细了解本实验所涉及到的相关理论知识。(2)填写完整的实验报告。4、实验步骤步骤1:以user_login用户身份并使用telnet登录Linux服务器,按照提示创建自己的账户和口令。步骤2:使用新创建的用户账户和口令登录Linux系统,察看登录后的界面。

prcgran/ 公扶的/步骤3:使用pwd命令察看当前的工作目录,然后用ls命令查看当前目录下的内容,尝试使用-a,-l,-F,-A,-lF等不同选项并比较不同之处。prcgran/ 公扶的/*express.sh<oracle_jre_usage»swpvfile•sm.bashhistoryprogram.thumbnails,bashrc.maone2_private.pul$e»vin,bashrc-,gstrearwr-e,10tpulse*cookie-vintnfo*byobu.gtk-boekna「依*rpndb.vtnrcTcac!ie*gvFs*screenrcworkspaceclone,c.iCEauthcrity.selected_editcr¥Xauthoritytconfig«local.SlrtlM.xse5stor-&rror5.dbus.missian,controlxEwn^xsesston-errors.old.dmrc^nozilla.5VJ0公扶的root(Jwk-virtual-machine:pwd/rootroot@wk-virtual-nachine:-UIs-aroot@wk-virtual-machine:Is-F板频片档载乐面模视图文下音桌clone.cexpress,sh*workspace/模板/「口口virtualwachine:同步骤4:在当前目录下建立一个名为test的新目录,然后将工作目录切换到test下,尝试将/etc目录下的文件passwd拷贝到该目录下(cp源文件目的目录)。察看当前目录下的passwd文件的属主和文件权限。root@wk-virtual-nachine:nkdirtestroct@wk-virtual-nachine:-#IspEg「mmtestrcrot®wk-virtual-nachine:cdtest「。口t@wk-vi「tual-FiachtnE:“test#cp/etc/passwdJroot^wk-virtual-machine:*/test#1号passwdIroot@wlc-virtual-machine:*/test#cp/etc/passwd/root/testroot^wk-virtual-nachine;*■/test#IsIpasswd总用量4-「*-「--「--1「cotrootIE4g3月2721:470占sswd步骤5:尝试向当前目录下的passwd文件和/etc/passwd文件分别写入一些新内容(可使用echo“字符串”>>文件的命令),看看操作能否成功,如果不能成功,请说明原因。用cat命令浏览文件password的内容,用more命令进行浏览翻页操作,再用less命令浏览文件的内容。比较这几个命令的不同之处。rwt®wk-virtual-nachin«:-/test#echoU1234561,»passwd「0Qt@wk7i「tiJ3lnHchin£vipasswd31Speech-dispatcher;x:112:29:SpeechDi印atcbe「,,.:/var/run/speech-dtsp3tcher:/t)in/sh32hplipzx1113:7:HPLIPsystemuser,,t:/var/run/hplip:/bln/false33saned;x:114:123::/hone/saned:/btn/felse34wkiXilQOOilOOGiwk,ff:/hone/wk:/btn/bash35123456root^wk-virtual-nachine:-/test#catpassedroot:x:B:e:root:/root:/btn/bashdaenon:x:1:1:daenon:/usr/sbin:/bin/shbin:x:2:2:bi.n:/bin:/btn/shsysix:5:3;sys:/dev:/btn/shsync:x::65534:sync:/bin:/bin/syncganesix:5:60:gardes:/usr/games:/bin/shnan:x:6:12iman:/var/cache/man:/bin/shLp:x:7;7:lp:/var/spool/lpd:/bin/shnail:x:8:6:nail:/var/Fiail:/M.n/shnews:x:9:9:news:/var/spoal/news:/bin/shuucp:x:10:16:jucp:/var/spooiyuucp:/bin/shproxy:x:13:13:proxy:/bin:/bin/shspeech-dispatcherix:llZ:29:SpeechDispatcher-:/va『f「unfspeech-dispatcher:/bin/shhplip:x:113:7:HPLIPsystemuserf1/var/run/hpltp:/bin/falsesan«d:x:114:123:*/hone/saned:/bln/falsewk:x:16EH3:lB6G:wk,f,i/home/wk:/bin/bash123456root@wk-virtual-nachine;**/test#|root^wk-virtual*machinenorepasswdroot:xtO:fl:root:/root:/btn/bashdaenontx:1:1:daemon:/use/sbin:/bin/shbin:x:2:2:bin:/bin:/bin/shsys:x:3:3:sys:/dev:/bin/shsync:x:4:65534:s5/nc:/bin:/bin/syncgames:x:5:6fi:games:/usr/games:/bin/shnan:x:5:12:nan:/var/cache/nan:/bin/shEavahi:x:107:118:AvahiniDNSdaemon,1:/var/run/avahi-daemon:/bin/falseusbnux;x;103:46:usbnuxdaemon,»,:/hone/dsbnuK;/bin/falsekRrno0ps:x:109:65534:KernelOopsTrackingDaemon,j::/:/bi.n/faUeI■•更多““79席)「Q0tmwk-vi「tudl-na匚hine:-/test#lesspassed步骤6:用ls命令查看test下文件的权限,用mv命令更改文件password的文件名为test.txt,尝试用chown和chgrp更改文件的属主为root、组为root,看看能否成功,不成功,请说明原因。尝试用chomd将文件权限为“-rw——”。看看能否成功,不成功,请说明原因。rootOwk-virtual-nachine:-/test#仲vpasswordtest,txtroot®wk-wirtjal-(*iachvne:-/test#Istest.txtroot®wk-virtual-machine:~/test#chawnroottest.txtroot@wk-virtual-machinei-/test#Is二B5t.tXtroot@wk-virtual-nachine:-/te5t#Is-l总用是4-rw-r--r--1rootroot16563月2721:52test.txtroot@wk-virtual-nachtne^/tesWchgrproottest.txtroot^wk-virtual-machine:-/testffIs-1总用量4 _rw*r--r--1rootroot16563月2721:52test.txtroot^iwk-virtual-machine:"/test#chownroot:roottest.txtroot@wk-virtual-machine:-/test#IsT总用量4r^-r--r--1rootroot16563月2721:5Ztest.txtroot(3wk-virtual-nachtne:-/test#chnod600test.txtrootOwk-virtual-nachine:"/test#Is-1总用量4「w 1「QQt「gt16563月2721:52tnt.txt步骤7:用rm命令删除test目录下的所有文件,再用rmdir命令删除test目录。(想想有没有一条命令将目录及目录下的所有文件删除,写出这条命令)root^iwk-virtudl-nidctiine:-/test#rn/root/test/-rroot@wk-virtual-nachine:-/test#Isroot^wlc-virtual-machine:*/test#pwd|/root/test步骤8:使用ps命令查看当前系统内的进程,并利用man命令获取ps命令的参数,写出获取当前终端进程执行情况的ps命令。rocit<3wk-virtual'nachi.ne:-/test#psPIDTTY TIME CMD9824pts/1 00:00:00 bash9989pts/l 09:00:00 ps^oot®wk-virtual-Machine:-/testffps-manWarning;badpssyntax,perhapsabogus'"See/faq►htmlP10MnTTYWAJFLTMINFLTTRSDR5SIZESWAPR5S5HRDLIBDTCOMM\vn)1253tty493512246051157 -04B /sbi1258tty5035S2246051157 ■864 ・/sbi1266tty203532246051157 -8S& /sbi1267tty303522246051157 ■052 *-■/sbi1271tty603532246g51157 -852 -='-/sbt1336tty7114406434199720027050567 -127164 /list2014ttylfl3582246051157 ■S60 ■--■/sbi9824pts/1Q310287864731838 -1984 bash9991pts/1031362629315947G0 --■ps-|步骤9:使用df命令查看当前系统已安装的文件系统的空间使用情况,记录结果。root^wlc-virtual-nachine:-/test#df文件系统1小块已用可用已用先捶载点/dev/sdal2889945277568401968066829%/□dev1924424419244201%/devtmpfs加64M7802057GG1%/runnone512G512G0%/run/locknone193238410323761%/run/shn步骤10:使用du命令查看用户的工作目录占用了多少空间,记录结果。root0wk-virtual-Rachlne:*/test#du&,步骤11:使用free命令查看内存资源的使用情况,记录结果。freetotalusedfreesharedbufferscachedMem: 26647681E609162638520B713€1235848-/+buffers/cache:5379321526836Swapl 20940761522093924实验二Shell程序设计1、实验目的(1).Shell程序设计中变量的使用;(2).理解通道的概念并初步掌握它的使用方法;.掌握算术操作、字符串操作、逻辑操作、文件操作;.掌握ifthenfi、iftheneliffi、case、while、for等控制语句;⑸.在shell脚本中使用函数;2、实验内容.通过对shell程序的调试,理解变量$#,$0,$1,$2,$3,$@的含义;.Shell顺序程序设计;.Shell分支程序与多分支程序设计;.Shell循环程序设计。3、实验要求(1)实验前认真预习实验内容,详细了解本实验所涉及到的相关理论知识。(2)填写完整的实验报告。4、实验步骤1vi的使用步骤1:以root用户身份登录进入Linux系统。步骤2:启动Vi,切换到输入模式,输入一段英文:Thisiaanexercise!WeuseVitoeditit.Left,down,up,rightroot9uk-virtual-nachiiiei-fvtabc^txtj◎导曲nxitfwtiirtuil-miEl'inK-ThisiaanexerciseLHeuseVitoeditit.Leftjdownjjpjright步骤3:尝试匹配其中的一串字符,写出这命令及执行结果。匹配格式:/正则表达式元字符说明. 匹配任意一个字符[abc] 匹配方括号中的任意一个字符。可以使用-表示字符范围,如[a-z0-9]匹配小写字母和阿拉伯数字。[八abc]在方括号内开头使用八符号,表示匹配除方括号中字符之外的任意字符。\d匹配阿拉伯数字,等同于[0-9]。\D匹配阿拉伯数字之外的任意字符,等同于[八0-9]。\x匹配十六进制数字,等同于[0-9A-Fa-f]。\X匹配十六进制数字之外的任意字符,等同于[八0-9A-Fa-f]。\w匹配单词字母,等同于[0-9A-Za-z」。\W匹配单词字母之外的任意字符,等同于[八0-9A-Za-z」。\t匹配<TAB>字符。\s匹配空白字符,等同于[\t]。\S匹配非空白字符,等同于[八\t]。\*匹配*字符。\.匹配.字符。\/匹配/字符。\\匹配\字符。\[匹配[字符。* 匹配0-任意个\+匹配1-任意个\?匹配0-1个\{n,m}匹配n-m个\{n}匹配n个\{n,} 匹配n-任意个\{,m}匹配0-m个$匹配行尾八匹配行首\<匹配单词词首\>匹配单词词尾代码:/\w\+\s\+\w\+$/八\w\+\s\+\w\+/ia\s\+步骤4:尝试替换其中的一串字符,写出这命令及执行结果。替换命令::s/正则表达式/替换字符串/选项代码::%s/ia/is全局替换,%表示全局:1,4s/ia/is只替换1-4行:s/ia/is 注意当前行的问题,如果在当前行进行替换会出现找不到模式的情况步骤5:尝试复制/删除其中的一行或几行文本,写出命令及执行结果。按【Esc]然后输入~~【连续两次】删除一行文本ThisiaanSercise!WeuseVi.toeditit.步骤6:尝试复制/删除其中的一个单词或几个字符,写出命令及执行结果。按【Esc】将光标移动到要替换的位置然后输入「再输入替换字符将第四行第一个字母1替换为dThisiasr\exercise!WeuseVitoeditit.Leftdown,up,right3?ddf234步骤7:尝试使用鼠标复制文本,写出命令及执行结果。.选定文本块。使用丫进入可视模式,移动光标键选定内容。.复制的命令是y,即yank(提起),常用的命令如下:y 在使用v模式选定了某一块的时候,复制选定块到缓冲区用;yy 复制整行(nyy或者yny,复制n行,n为数字);y八复制当前到行头的内容;y$ 复制当前到行尾的内容;yw复制一个word(nyw或者ynw,复制n个word,n为数字);yG复制至档尾(nyG或者ynG,复制到第n行,例如1yG或者y1G,复制到档尾)3.剪切的命令是d,即delete,d与y命令基本类似,所以两个命令用法一样,包括含有数字的用法.d 剪切选定块到缓冲区;dd 剪切整行d八 剪切至行首d$ 剪切至行尾dw 剪切一个worddG 剪切至档尾.粘贴的命令式P,即put(放下)p小写P代表贴至游标后(下),因为游标是在具体字符的位置上,所以实际是在该字符的后面P大写P代表贴至游标前(上)整行的复制粘贴在游标的上(下)一行,非整行的复制则是粘贴在游标的前(后)注:在正则表达式中,八表示匹配字符串的开始位置,$表示匹配字符串的结束位置。命令前面加数字表示重复的次数,加字母表示使用的缓冲区名称。使用英文句号"."可以重复上一个命令。在复制粘贴时,另一组常用的命令是u(撤销操作),U(撤销某一行最近所有修改),Ctrl+R(重做),这些功能主要是vim中的,vi中略有差别代码:现在尝试将1-3行进行复制1.按【Esc】键后按皿】进入可视模式,使用川吐(左上下右)四个键选定1-3行2.按【y】复制选定的内容

right.labu.6t[+]4right.labu.6t[+]412ddf234[Tx>rK-K#wfe-vtruil-niKtkic."This境anexercise!UeuseVI3edit1加left朽EMMight12ddfZ34ThisEanexercise!UeuseVi,toedititt|_电ft.downj1叩*rightThis圉anex.erciselWeuseVito-editit«LEft;11down,up,right8.1步骤8:尝试存盘退出操作,写出命令。ruot^wk-v1,rtual-pwchine: vtabc.txt卜白0t舶k・wtrtudl一陶chin吧:72.2简单的shell程序步骤1:使用Vi将程序清单2-1的程序输入。程序清单清单2-1menuMYDATE='date+%d/%m/%y'THIS_HOST='hostname-s'USER='whoami'file_run()echo"youmustcompleteit"}uers(){echo"thereare'who|wc-l'usersonline"echo-e"whoare\n'who|awk'{print$1}'}while:dotputclearcat<<aaaUser:$USERHost:$THIS_HOST Date:$MYDATE:Listsubdirectoryincurrentdirectory:Listfilesincurrentdirectorywhichcanrun:SeewhoisonthesystemH:HelpscreenQ:ExitMenuaaaecho-e-n"\tYourChoice[1,2,3,H,Q]>readCHOICEcase$CHOICEinls-l|awk'/Ad/{print$8}'file_runuersH|h)cat<<aaaThisisthehelpscreen,nothinghereyettohelpyou!aaa;;Q|q)exit0;;*)echo-e"\t\007unkownuserresponse";;esacecho-e-n"\n\n\tHitthereturnkeytocontinue'readDUMMYdoneroatgwk-virtual-Pi^chtrie: vlprc^rshroot@rfk-vIrtual-mathine:、#步骤2:尝试运行该程序,如果不能运行,原因是什么,怎样修改。./prog.shr00t^wk-virtual-machinea/prog.shb己sth:.,p「cig.sh:叔眼不憾无法执行的原因是因为权限不够,要修改权限,使之可执行chmod755prog.sh./prog.shrcQit@llocaIhost:™ —!nK文件旧融®查看野驾站0标差⑧帝地叱1L'sef:root Host:localliost Date:13/0J/16::Listsubdirectoryincurrentdirectory:ListfUse.incurrentdirectorywhichcanrun:SeewhoisonthosystemH:HelpscreeiiQ:E?<itMennYourChoice[1,2,。,丸口]>|步骤3:执行程序,写出程序的执行结果。raotigdQcalhCiSt:-文件遮舞B西查看⑫终端①标盅(g)布的妙|root^localhost~|kviproc.sh\rootftloca]host"]rrchmod753proc.sh[rootaloca1host"[彳-/proc-User:root Host:localhast. Date-13/04/16-Listsubdirecloryincurrentdirectory■List£ilesincurrentdireclGry^'hichcanrun:Seewho-isonthesystem.II:][elp5匚『巳EnQ:ExitMenuYourChoice[1,2,3,H,Q]“Desktopsubdir][itthereturnkeytocontinije(■nwiUser-roolHost-localhDfelDale:13/04/16[Jstsubdirectoi'yincurrentdirectoryListfilesincurrentdirectorywhichcanrunSeewhoisanthesystem■nwiUser-roolHost-localhDfelDale:13/04/16[Jstsubdirectoi'yincurrentdirectoryListfilesincurrentdirectorywhichcanrunSeewhoisanthesystemHe1pscreenExitMenuYourChoice|1,2,3J],Q|>2youmustcompleteitHitthereturnkoytocontlnuc|roQt@leealhestr-宜件旧潇婚;。查看我>鸵端9标签®帮助的User:root[[ost:localhostDate:U3/O4/lfi:List:5Libdii-巳ctcryincurrentdirectory-Listfilesincurrentdirectorywhichcanrun»See卬h口isonthesystemII:Tic1pscreenQ:ExitMenuYourChoice[1,2,3,9,01>hThisisthehelpscreen,nothinghereyeItohelpyoufKitthereturnk^ytocontinueroot®[acarhostz™文件日瞬®查看理j终端①将签怎।帮助也》User:root[lost:localhostDate:13/04/16root®localhcst;™文件®娜®直音⑭绥瑞①标签®帮的H:],istsubdirectoryincurrentdirectory:Listfi1esincurrentdirectorywhichcanrun-SeewhoisonthosystemH-Helpsci™eenQ-ExitMenuYourChoice[1.2.3,H,Q|>q[rcatalocalhast「二|

roFocaEhostz-文件旧鬼蜜绥且有⑭阳誉①I后笺低)粘他时L'ser:loot Host!localhust Dale:13/04/1G.:Listsubcilrectorvincurrentdirectory:Listfilesincurrentdirectorywhichcanrun:Seewh凸isontheaystenH'HelpscieenQ:「KitMenuYourChoice1,2,&,][jQ]>7imkownH5Cfrr-sponseHittherotiirnkeytocontinuo步骤4:阅读程序,掌握shell函数的编写方法,补全函数file_run。foriin'ls'doiftest-x$i;thenecho$idoneraotig-locaIHost:™文件g端蜗的五毛脸用端以标犍如布密她匚ac:r匚ac:r;rootHast.;localhostJ)ate:l:ListsubcJirectoi-vincur!-entiJirecta]"y: List files in current directoryxvhiclicanrun1 See hois on the systemH : Rclp screenQ : Exit Menn\ourChoice[1.2,3.It,Q]>2Deisktuppi'oc.sh.subdirMitthero.tui'n.keytocontinue步骤5:修改程序中的函数uers(),使得显示在线用户时不分行。(提示:可以使用循环,对每个在线用户分别处理。echo"thereare'who|wc-l'usersonlineforiin"whoare\n'who|awk'{print$1}'\"doecho-n$iecho-n""done文件6潮揖冒叁看⑺凝选①标笠⑧帮助乜User=rootHost=User=rootHost=locaJhostDate=13/04/16:Listsubdirectoryincurrentdirectory工List.filesincurrentdiiecturj1ach:SeewhoisonthesystemU:HelpscreenQ=ExitMenuYourChoice[L.2.3.H.Q]>3thei'Gare2usorson11nawhoare\nrootroot-n[litthereturnkeytocontinue实验三文件操作与文件管理1、实验目的(1).熟悉Linux下常用的操作指令。(2).加深对文件,目录,文件系统等概念的理解。.掌握Linux文件系统的目录结构。.掌握有关Linux文件系统操作的常用命令。.了解有关文件安全方面的知识。2、实验内容Linux文件系统操作的常用命令。3、实验要求(1)实验前认真预习实验内容,详细了解本实验所涉及到的相关理论知识。(2)填写完整的实验报告。4、实验步骤.浏览文件系统〈1〉运行pwd命令,确定你当前的工作目录。roct@wk-virtual-Piachine p@d/root〈2〉利用以下命令显示当前工作目录的内容:(理解各字段彻底意义。)〈3〉运行以下命令:(反馈信息中.代表本身目录,..代表其父目录;选项a可以显示隐藏文件;选项i可以显示文件的I节点号)ls-airoot$wk-virtual-nachine1572865.2.■1589949.bash-htstory1582M3root$wk-virtual-nachine1572865.2.■1589949.bash-htstory1582M3.bashrc1572867.bashrc-15fil792.byobu1581108.cache15S1629.configISaiiSZG,dbU51581533admrc1581796.gconf1581797.gnoFie;1594726.gnoneZjprivflte1586351,g$trear>er-Qfc101581963agtk-booknarks1.gvfsL581794.ICEauthorityIs-at15B1631.local1582452,ntssion-control1586286.PTOiilla1594734+oraclE_jjg电1S7296B.profile1592226progran15809SB.pulse15B0937.pulse-cookie15BSZ6B+rpmdb15B&301.screenrc1594602.selected_edttor1594578.swi1594576..swn1594567+SW>15912fiS-SMp1594435.swt1713454,thunbnatls159456215912771594563188葭991581625158171815817741581705158178415S17891S817881581786158179315517871581792.vimavtPitnfoBvinrc:wurkfoarE-XautharttySS的Q共板频片档软乐面

,X公模视图文下音鼻〈4〉使用mkdir命令建立一个子目录subdir,并用Is查看当前目录。图片文档下戟音乐桌面root^wk-vtrtual-nachirie;-ftNkdirsubdtrroot#wk-vtrtual-nKhtne:Is图片文档下戟音乐桌面nrogransubdirwvrkspsce公共的模板〈5〉使用带-d选项的ls命令,你只能看到有关子目录的信息(.表示本身目录)。|rootgrwk'virtual-machine:-iHIs-d〈6〉使用cd命令,将工作目录改到根目录(/)上。①用相对路径将工作目录改到根目录。raot@wk-virtuaL-machine:cdsubdtrroQt@wk-vi「tuaL-maclhine:sulbdt「#pwd/root/aubdtr②用绝对路径将工作目录改到根目录。|root^k-virtual-mathine:*/sul?dir#cd/rootroot^ik-virtual-naclhIne: pwd/root〈7〉使用ls命令列出根目录的内容,再分别列出各子目录的内容,体会各目录作用及访问权限。rocitgwk-vtrtualh htIsT20262-xr-x0rocitgwk-vtrtualh htIsT20262-xr-x02334公扶的模板视物图片文档下载音乐桌面Is-aprograrasubdirmrkspace公共而.dmirc.ntsston-control■selected_editorBvtmtnfD.gccnf.nozlllasubdtr.vimrc,bash_hi5tory,oracle_jre_usa^e.swnworkspacerb^shrc■gnoHeZ^file,swn.xauthortty,b^shrc-©『白gr也"・SW。Bbyobubgtk-booknarks.pulse.xsesston-errars.old.cache.gvfsupulse-cookie.5Wt公扶的Bconfig.ICEauthority.rpmdb.thuHbnails模板“busslocalrscreenrc,vin视舞「。口七@啊K-virtuaL・nachtne;-#p『口grjni$ubdtrM『k5「mcerootgwk-virtual-machtinerootrci-ot4^963月rcxjtroflt4©964月rootr-o-ot40963月root「gt^0363月rootroot皿63月rootroot4G963月rootr<x}t48963月rootroot羽rootrgtKB63月rootroot4G963月rootroot国的自汨ia:Q314:471Z:3O17:0717:E717:0717-0723:2417%717:O717?07片档载乐面

图文下普桌〈8〉使用ls-l命令列出/dev的内容。Ls-l/dev列出/dev目录的内容,文件太多显示多屏,各行第一个字符为b的表示块特别文件;各行第一个字符为c的表示字符特别文件。

nxit@wk-virtual.-nachtfiei-flT/dev|g「*息用量acrw-rw 1 root video 10, 175 3月 23 21:14 a卯卯「tcrw 1 root root 10, 58 3月 23 21:14 alarn工「时一八 1 rwt root 101 59 3月 23 21:14 ghmerierw«----T 1 r的t root 10? 23S 3月 23 21:14 autofs.crw- 1 root root 105 60 3月 23 21:14 binderdrwxr-xr-x 2 root root 629 3月 23 21:14 blockdrwxr-xr-x Z「Mt root 册 3月 25 21114 b的crwT1rootroot 1&,2i43月22 btrfs-controldrwxir-xr-x 3 root root 60 3月 23 21s13 busIrwxrwxrwx 1 root root 3 3月 23 21:14 cdrom,>srOIrwxrwxrwx 1 rodt root 3 3月 23 21:14 cdrw -> s『@drwxr-xr-x 2 rgt root 3546 m月 Z3. 21:14 cha「crw=------ 1rMtroot 5, 1 3月 2321:】』consoLe.Irwxrwxrwx 1 rMt root 11 3月 23 21:14 core -> /proc/kcoredrwxr-xr-x 2 rcxit root 6S 3月 23 21:14 cpuc「,………. 1「ootroot IQ. 57 3月 2321:14cpu_dria_Latencydrwxr*xr-m5rcwtroot 1903月Z321:14diskcrw-rw=--T+ 1 rgt 汕dtQ 14. 9 3月 Z3 21:14 dHntdtdrwxr-xr-x 2 ro€it root 8S 3月 23 21:14 drtIrwxrwxrwx 1 root root 3 3月 23 21:14 dvd->srfilIrwxrwxrwx 1 root roat 3 3月 23 21:14 dvdrw ->sr0erw-*-- 1 roflt「。口t 10» 61 3月 23 21;14 e-cryptfserw-rw---- 1 r-oot video 29? G 3月 23 21:14 fbOIrwxrwxrwM 1 root root 13 3月 23 21:14 fd-> /prGc/self/fdcrw-Tw-rw- 1 root root lr 7 3月 23 21:14 fullcrw-rw-rwT 1 roet fuse 1% 2219 3月 23 Z1:14 fuseunrf.—.一一 1 root root 251, 白 ④月 23 21114 hidrawScrw 1 rMt root L% 216 3月之3 21:14 hpetdrwxr-xr-k4rootroot 22*9W月23.215Hinputerw-r--f--1roctroot 1,11m月2321:14kmsg-更多--I〈9〉使用不带参数的命令cd,然后用pwd命令确定你当前的工作目录是什麽。r00t^wkvtrtuaI-Fi3chilrie»cdroot@wk-vtrtuaI-machine:pwd〈10〉使用命令cd../..,你将工作目录移到什麽地方?【根目录】rout@wk-virtual-nachine:-#cd-八・root(?wk-vtrtual-nachinet/#pM.查看你的文件〈1〉利用cd命令,将工作目录改到你的主目录上。FDQt§wk-virtueI-Fi^chine:/#cd/root/subdirroa -virtuaI-machine:~/subdtr#pwd“gt/subdir〈2〉将工作目录改到你的子目录subdir,然后运行命令:date>file1将当前日期和时间存放到新建文件file1中。Ls—l反馈信息中有新文件filel。请注意并记下文件长度为:|rQot^vk=virtuel-nacihtne:-/suMir#date»ftlelroot^k-virtueL-macIhine:-/suMlr#Is-L总用量4・『w・rh-「…1rootroot434月1315:11ftlei〈3〉使用cat命令查看filel文件的内容。root@wk-virtual-nachine:-/subdtr#cat-nfilel16年例月13日星期三CST〈4〉利用man命令显示date命令的用法(说明文件):

OATE(l) UserDATE(1}IWIEdate-printorsetthesystendateandtine5YK0PSI5datA[OPTION].,.[jTORHAT]date[-ii[- ]--uniM€「5al][>1MDOhhmn[[CC]W][rss]]DisplaythecurrenttineinthegivenFORKATjorsetthesystendateL4L--date=STRINGdisplayttrne(JeicrtbedBystring,notLww'f,--m*=[lAIEEILEtike--dateonceforeachLin史ofDATEFILEr,--ref&rarifcg=FTLEdisplaythelastmodifleattantimeofFILER.*-rft-2S22outputdateandtimetnRFC2B22format.Example:Mond07Aug200612r24:£6*0600-rfc-3335=TIME5PE£outputdateandttwinRFC3mm9fcriwt.timespec-bdatt','sfreundt'tor'ns'forMmte3ndtimetotheindicatedprectst&ft.Dateandtineconponerits3「eseparated加aiinglLespacz:2&D6-QB-0712t3fl:56-0615.--sat=STRINGSetttned"亡ribEbySTRING|fLanualjj底ggdzte(l)line1(口「e与£hf0rhulpofqquit】,〈5〉将date命令的用法(说明文件内容)附加到文件file1的后面:|rDot^k=vtrtualu-nachtne:*/sut>dir#date»ftlelroot^k-virtuaLmachine:'/subdlr#Is-L总用量4・『出「,-「--1rootroot434月1315:11ftlei|root@wk'Virtual'nachine;"/iijbdtr#nandate=filelrootguk-virtual-nachtne:~/subdtrVLs-1总用星8-rw-r--r--1rootrwt61564月1315114filel注意filel文件长度为,较前变长。〈6〉利用ls-lfile1命令列出文件file1的较详细的信息。ls-lfile1注意第二字段(链接记数)的值为“1”。rsot§wk-'vlrtual*nacbine:^/sutdir#Is*1Hleli「0ot「st61504月“15;14filel〈7〉利用lnfile1../fa命令进行文件链接。然后运行ls-lfile1,查看显示的第二段的值发生了什麽变化。rdot@wk-virtuaI-madhine:-/subdtr^f

「got@wk-virdot@wk-virtuaI-madhine:-/subdtr^f

「got@wk-vi「tual・FiacIhiriiE:**/subdltr#Infittel../facd..-rw*r-■■…2rootrCOt61504月drwxr-xr-xBrootrcot如963月drwxr-xr-x2rootroot4的6明drwMT'Xr-x4rootroot3月drwxr-xr-x2rootrootJ096娟drwxr-xr-x2rootroot4096娟drwxr-xr-K2rwtroot40963月drwsr-xr-M2rwtroot4的日3月drwxp'xr'x5rswtrwt4B963月drwKr-xr=x2rootrcot&的6小。「髀灯中「・M2rootroot4&96班drwKr-xr-xZrootroot4996娟root^wk-virtual-machine:-#Is-I总用雇5215:14IS:S315:2312:3017:0717:6717:67i7;ez23:2417:0717:G717:07cap^_rks共板覆片档载乐面

杷公模视图文下音・〈8〉现在想利用catfa命令显示文件fa的内容,应该如何改动工作目录?■■,rKi0wfc<rrF4il-Tartisa:-rout@wk-virtuaI-nachime: cdraottwk-vtrtual-«achiw pwd/ratrootgwk-vi.rtual-machine: catfaDATE(l) UserConnands DATE(l)NAMEdate-printorsetthesystemdateandtineSYNOPSISdatft[OPTION],,.[+F0RMAT]date[-ij|--utc|--untversal][MHDOhhmf[CC]YY][-ssj]DESCRIPTIONDi:5Pliaythecurrenttineinthe9tM电口FARHAT,◎「写etthesystend5«-date=STRINGdisplaytinedescribedbySTRING,not"now1九--fil&=DATEFILElike--dattoncefor&achlireofDATEFILEr.--referen<e=FILEdisplaythelastnodiftcatloAttreoffile工R『--rfc-2822outputdateandttm;tnRFC2822format™lExample:Mon^67Aug20a612:34^:56-06OS-rfc-3339=TWESPECoutputdateandttwtnRFC333gformattTlMESPEOFmt葭,'seconds1,or"ns1far dmtg-ndttmztoth史indltatEd口「短匚」!51口曲」心ata"ndtimw二口mp口ngnt£d「总GEpmfmtgd〈9〉利用cpfilelfa命令生成文件filei的副本。然后利用Is-l命令查看工作目录的内容。root#wk-virtual-machine;cdsubdirroot^wk-virtual-machitnfi:-/subdir#cpfilelfaroot^wk-vtrtual-nHchine:-/subdir#Is-I总用量20-rw-r--r--1 root root 6156 4月 13 15:31 fa卜『“「-=「--1 root root 12 4月 13 15:Z3 file-rw-r--r--R rgt rgt S15S 4月 13 15:W fllwl〈10〉将文件fa删除。再利用ls-l命令查看工作目录内容。roo-v\rtiuil-mathre:*/subdlrfl15-I总用量29Cw-r--rj- 1 Eut fwt 61S9 4月 13 15;Bl farw-r--r-- 1 root roct 12 4月 13 1S:23 ftl«rw-r--r-' 2 root root 6150 4月 IS 15:1i1 filelroot^wk-virtiualmacbine:-/subdir#rmfaroot^wk-vtrtuaI-machire:*/subdir#ls-l总用量121rootroot124月1315:23file“网,1,「,-工rootrootE轴4月13”:】4ftl"〈11〉运行mvfile1file_a命令,然后用ls命令查看这两个文件是否都还在工作目录中rdo virtual-machine:-/subdir#nvfilelfile_3root^wk-virtual-nachiine:-/subdir#Isfilefile_ardot^wk-virtual*machine:bdlr#Is-I急用量12-rw-r--r--1rootroot124月1315;23file■rw-r--r--2rootroot61594月1315;』4ftle.a3.文件存取权限〈1〉存取权限LINUX系统对所有文件设置了存取权限。存取权限让你确定谁可以对你的个人文件和目录行访问,以及可以进行什麽操作。把所有用户分为三类:——文件主(user),即文件的属主。——组用户(group),即文件组的成员。——其他用户(other),即能对系统进行访问的所有其他用户。对一个文件的存取权限分为三种:——读(r)——写(w)——执行(x)一组存取权限以及相应的文件类型统称为文件模式。如:rw-r--r-表示文件主有读和写的权限,组用户和其他用户只有读权限。〈2〉文件存取权限读权限(r)允许指定的用户可以打开文件并阅读其内容。如cat,more,file和cp命令等。写权限(w)允许指定的用户可以打开文件并修改其内容。如vi,mail,cp等。执行权限(x)允许指定的用户运行(即执行)一个二进制文件文件或者把一个shell脚文件当做命令来运行。当你通过输入命令名来调用命令时,你必须具有该命令文件的执行限。〈3〉目录存取权限读权限(r)允许你列出相应目录中所存放的文件的名字(即目录的内容表)。写权限(w)允许你从目录中删除已有文件或者把新文件添加到目录中。查询权限(x)允许你在目录中进行查找和使用cd命令把工作目录放到它这里。〈4〉修改文件权限文件主或root用户可以使用chmod命令来修改文件或目录的权限。修改文件权限的方式有两种:符号模式和绝对模式。这里主要介绍符号模式。使用chmod命令修改当前权限设置的一般形式是:chmodkeyfile[file...]其中,key由以下成分组成:[whoH+|-|=Hmode]——who这一部分可以由下面的一个和多个字符组成:u,g,o或a,它们分别表示文件主,组用户,其他用户或所有三种用户。默认值是a。——第二部分必须是以下三个字符中的一个:+,-,或者=,分别表示增加,删除或者设定。——mode成分可以由以下字符任意组合:r,w或x,分别表示读,写或者执行/查询的权限。以上三个部分必须依次输入,而且它们之间没有空格。在一个命令行中可以指定多个key,彼此间用逗号隔开,中间没有空格。如:设文件f原来的权限是rw-rw-r--,现在想让所有用户都具有执行权限,则可使用以下命令:chmoda+xf,该命令执行后,文件f的权限变成rwxrwxr-x。练习:mvfile_afile1恢复文件file1;root^k-vtrtuaL-machine:-/suMir#mvfile_afilelrDot^wk=vtrtuaI-machine:'/scibdir#LsKtleftlells-l显示文件filel的权限为rw-rw-r—;lroot(?wk-virtLjal^nachineIs-I总用.12-rw-r--r--Irootr*ot124月1315:23Hie-rw-r--r--2rootroot“5H4月13filelroot^wk-virtual-nachlne:~/subdlr#chnod664filelrcot^wk-virtual-R&ch4»:subdtr#Is-I息用量12■--1rootroat124月1315:23file-「w-rw-「-"3root「out61594月13IS:14filel.取消同组用户g和其他用户o对文件可读的权利;root@wk-virtual-nachtn&i«/subdtrchmodgo-rfilelroot@uk-virtual^nachinei-/subdirSIsfileftleiroot@wk-vlrtual-nachine:*■/5ubdir#Is-I总用■12卜「,-r一「i1rootroflt124月1315;23file• ■■…2rootroot61504月1315:14ftlei.显示文件filel的权限。lirdot@wk-virtual-machiine^/subdir#Is-Iftlel-irw.rW-,„2rootroot61504月13IS:14file1.恢复同组用户g和其他用户。对文件可读的权利;rwt9wk-virtual-rwchtne:-fsubdtrfchnod644filelroot^wk-virtual-tuchtno/xubdir*Is*1总用量12-rw-r--r--1rootroot124月1315:23file-rw^r--r--2rootroot后15白启月1315:14filelroutgwk,virtual-m日亡fsubdi「算■4配额管理〈1〉利用fdisk创建一个分区运行以下命令:sudofdisk/dev/sdaroot^wk-vlrtual-nachUH:-4sudofdisk/dev/sda辞令(输入付兼取帮助):■首先查看一下分区表的情况命令(输入内获取帮助):PDisk/dev/sda;32.Z通3Z21Z25472Gbytes255heads,63sectors/trackj3916cylinders,total6291456GsectorsUnits=扇区of1*512=512bytesSectorsi2&(logical/phystcal):512bytes/512bytesI/Osize(i*itnimum/optinal):512bytes/512bytesDiskidentifier:OxOCGaBfiSc诩备启M起点 终点块数id系统/dev/sdal* 2043 19531775 9764S64S3Linux再输入m查看帮助,了解各个选项的作用:root(3wk-virtualmachine:1**#sudofdisk/dev/sda命令《输人伸获取帮助);伸命令操作a toggleabootableflagb editbsddisklabelc togglethedoscompatibilityflagd deleteapartitionlistknownpartittorstypesn printthisnenun addanewpartitionqcreateanewemptyDOSpartitiontablep prtntthepartitiontable4 quitwithoutsavinguh自ng青互%createanewemptySundi&klabelt changeapartition1&systemtdu changedtspUy/entryufittsv verifythepartitioriitablewwritetabletodiskandexitxextrafuncttonaltty(expertsonly)输入「创建新分区,全部采用默认值

命令(输入n获取帮助):nPartitiontype:pprimary(1prtnary,®extended,3f「ee)eextendedSelect(defaultp):e分区号门・4,默认为2):辑使用恭认值2起始sector(19531776-62914559,默认为19531776):将使用默认值19531776Lastsector.+扇区or+size(KTHJG)(19S31776-629145S9T默认为6291455$):将使用琳认值629145S9命令(输入内获取用助):pDisk/dev/sda:32.2GB,3221225472Gbytes255headsf63sectors/track,3916cylinders,total62914560sectorsUnits=扇区of1*512=512bytesSectorsize(logical/physteal):512bytes/512by1/0size(ntninun/optimal):512bytes/512bytesDiskidentifier:OxGQOaSSSc系统33Linux系统33Linux5扩展/dev/sdal * 2®48 19531775 9754S54/dev/sda2 19531776 62914559 21691392创建完成后输入川保存分区表此时应当重新启动来加载新分区,或者执行以下命令:partprobe命令(输入Fl获取帮助):WThep己「titiontablehasbeenaltered!Callingioctl()tore-readpartitiontable.WARN工NG:Re-readingthepartitiontablefailedwitherror16:设备或资源忙.Thekernelstiltusestheoldtable.Thenewtablewillbeusedatthenextrebootorafteryourunpartprobe(8)orkpartx(8)Synctngdisks.广。。partp广。Be看到新创建的分区及其所对应的设备名称:命令(输入n获取帮助):pDisk/dev/sda:32.2GB,32212254726bytes255heads.63sectors/track,3916cylinders,total62914560sectorsUnits=扇区Qf1*512=512bytesSectorsize(logteaI/physicmI):51Zbytes/512bytesI/Osize(nininum/optinal):512bytes/512bytesDiskidentifier:GxQ0Oa36Se设备启动起点204B块数设备启动起点204B块数Id系统9764364 83

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论