您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > linux UNIX系统基础
主讲:王巍主讲:王巍电话:电话:1336592223013365922230Email:wangweicec@jmu.edu.cnEmail:wangweicec@jmu.edu.cnUNIXUNIXNetworkNetworkProgrammingProgrammingUNIXUNIX网络编程网络编程2课程简介课程简介本课程主要讲述在本课程主要讲述在unix/linuxunix/linux环境下网络编程环境下网络编程的方法,其内容包括的方法,其内容包括unixunix系统、网络协议和编系统、网络协议和编程技术,并由浅入深讲述网络编程的核心技程技术,并由浅入深讲述网络编程的核心技术、实用技术和高级网络编程。术、实用技术和高级网络编程。前导课程:前导课程:––操作系统原理操作系统原理––计算机网络基础计算机网络基础––熟练掌握熟练掌握C/C++[C/C++[非常重要非常重要!]!]。。––Unix/LinuxUnix/Linux环境的基础知识。环境的基础知识。3课程内容课程内容UnixUnix系统基础系统基础TCP/IPTCP/IP套接字套接字UNIXUNIX网络编程实用技术网络编程实用技术名字和名字和IPIP地址转换地址转换异常处理异常处理4课程实验课程实验实验一实验一linuxlinux编程环境熟悉实验编程环境熟悉实验实验二实验二TCP/IPTCP/IP协议栈分析协议栈分析实验三实验三简单网络编程(简单网络编程(TCPTCP))实验四实验四简单网络编程(简单网络编程(UDPUDP))实验五实验五重复性服务器重复性服务器//客户机编程实验客户机编程实验实验六实验六多进程并发型服务器多进程并发型服务器//客户机编程客户机编程实验七实验七多线程并发型服务器多线程并发型服务器//客户机编程客户机编程实验八实验八自主创新实验自主创新实验实验考核实验考核5课时安排与成绩评定课时安排与成绩评定课时安排:课时安排:––总课时总课时3636学时,其中上机学时,其中上机1818学时、课堂讲授学时、课堂讲授1818学学时时成绩评定成绩评定––((课后课后作业作业))::10%10%––((课程课程实验实验))::40%40%––((期末期末考试考试))::50%50%6网络编程环境搭建网络编程环境搭建可以单独安装可以单独安装LinuxLinux服务器(服务器(LinuxLinux企业版企业版ASAS4.04.0););也可以先安装虚拟机也可以先安装虚拟机((如如VMware5.0VMware5.0以上以上)),,然后安装然后安装LinuxLinux系统(系统(注意需要将注意需要将LinuxLinux网络配网络配通通))学会用学会用sniffersniffer软件分析数据包软件分析数据包然后通过远程登录工具(如然后通过远程登录工具(如TelnetTelnet、、SecureCRTSecureCRT等)登录上述服务器等)登录上述服务器7主要参考书主要参考书中译本:中译本:《《UNIXUNIX网络编程网络编程》》第第11卷:套接口卷:套接口网络编程网络编程((第第22版版))施振川等译,清华大学出版施振川等译,清华大学出版社社中译本:中译本:《《UNIXUNIX网络编程网络编程》》第第22卷:进程间卷:进程间通信通信((第第22版版))杨继张译,清华大学出版社杨继张译,清华大学出版社《《UnixUnix网络编程实用技术与实例分析网络编程实用技术与实例分析》》,张,张炯,清华大学出版社。炯,清华大学出版社。《《用用TCP/IPTCP/IP进行网际互联进行网际互联》》第三卷:客户第三卷:客户--服服务器编程与应用(务器编程与应用(LinuxLinux版),电子工业出版版),电子工业出版社,社,2004.42004.48第一章第一章UNIXUNIX系统基础系统基础UNIXUNIX系统介绍系统介绍常见常见UNIXUNIX网络命令网络命令网络基本配置文件网络基本配置文件软件开发环境软件开发环境91.1UNIX1.1UNIX系统介绍系统介绍UNIXUNIX系统的历史系统的历史––2020世纪世纪7070年代由年代由AT&TAT&T的的BellBell实验室开发的。实验室开发的。––两大流派:两大流派:AT&TAT&T的的SystemV,BSDSystemV,BSD––当前主流:当前主流:SVR4(SystemV,BSD,SunOS)SVR4(SystemV,BSD,SunOS)UNIXUNIX系统的特点系统的特点––真正的多任务、多用户操作系统真正的多任务、多用户操作系统––可移植性强可移植性强––完整的网络功能(完整的网络功能(TCP/IPTCP/IP))––虚拟内存虚拟内存––共享库共享库10UNIXUNIX系统的体系结构系统的体系结构UserUserSpaceSpace用户用户空间空间UnixUnix操作操作系统系统CPUCPUSchedulingSchedulingCPUCPU调度调度MemoryMemoryMgmtMgmt内存管理内存管理FilesystemFilesystem文件系统文件系统DeviceDeviceMgmtMgmt设备管理设备管理ProcessesProcesses((进程进程))NetworkStackNetworkStack网络协议栈网络协议栈SystemCallInterfaceSystemCallInterface((系统调用接口系统调用接口))11UNIXUNIX系统的地址空间系统的地址空间–每个进程有自己的虚拟地址空间,对虚拟地址的引用通过地址转换机制转换成物理地址的引用。进程只能访问自己的地址空间所对应的页面,而不能访问或修改其它进程的地址空间对应的页面。UNIX通过虚存管理机制实现了这种保护。12POSIXPOSIX标准标准––可移植操作系统接口(可移植操作系统接口(PortableOperatingPortableOperatingSystemInterfaceSystemInterface)),IEEE,IEEE––是为了提高是为了提高UNIXUNIX环境下应用程序的可移植性。环境下应用程序的可移植性。––目前大多数目前大多数UNIXUNIX系统都支持该标准。系统都支持该标准。131.21.2常用常用UNIXUNIX命令命令PingPing––PingPing检测主机连接状况检测主机连接状况––Ping[hostname|IPaddress]Ping[hostname|IPaddress]14NetstatNetstat––显示与网络有关的各种数据结构,如显示网络连显示与网络有关的各种数据结构,如显示网络连接、路由表和网络接口信息。接、路由表和网络接口信息。––NetstatNetstat––[r|i][n][r|i][n]••--r:r:显示路由表,同显示路由表,同routeroute––ee••--i:i:显示所有网络接口的信息,格式同显示所有网络接口的信息,格式同ifconfigifconfig––ee••--n:n:以网络以网络ipip地址代替主机名称,显示出网络连接情地址代替主机名称,显示出网络连接情形。形。15IfconfigIfconfig––显示当前有效网络接口的状态。显示当前有效网络接口的状态。––命令格式:命令格式:ifconfig[ifconfig[接口接口]]––如以单个接口作为参数,它只显示给出的那个接如以单个接口作为参数,它只显示给出的那个接口的状态;如果给出一个口的状态;如果给出一个--aa参数,它会显示所有参数,它会显示所有接口的状态,包括那些停用的接口。接口的状态,包括那些停用的接口。16routeroute––对内核的对内核的IPIP路由表进行操作。主要用于给那些已路由表进行操作。主要用于给那些已经用经用ifconfigifconfig配置过的接口指定主机或网络设置静配置过的接口指定主机或网络设置静态路由。态路由。17tcpdumptcpdump––用于转储网络上的数据流。它可显示出在某个网用于转储网络上的数据流。它可显示出在某个网络接口上,匹配布尔表达式络接口上,匹配布尔表达式expressionexpression的报文。的报文。18常用常用UnixUnix命令列表命令列表1.1.manman------givetheusermanualforUnixcommand,givetheusermanualforUnixcommand,systemcalls,andC.systemcalls,andC.UnixUnix命令命令//系统调用系统调用/C/C函数的用户手册。函数的用户手册。%manwrite%manwriteforUnixcommandwrite.forUnixcommandwrite.(UNIX(UNIX命令命令))%man%man––s2s2writewriteforsystemcallwritenotUnixforsystemcallwritenotUnixcommandwrite.commandwrite.(UNIX(UNIX系统调用系统调用)[()[(下行下行)C)C函数函数]]%man%man––s3cs3cprintfprintfforstandardClibraryfunction.forstandardClibraryfunction.2.2.exitexit------logoffthesystemlogoffthesystem((退出退出shellshell,直至注销用户,直至注销用户))3.3.mkdirmkdir------makeadirectorymakeadirectory((创建子目录创建子目录))4.4.cdcd------changethecurrentdirectory.changethecurrentdirectory.改变当前工作目录,例:改变当前工作目录,例:%%cdcd//usrusr/include/include5.5.rmdirrmdir------removeadirectory.Thedirectorymustberemoveadirectory.Thedirectorymustbeempty.empty.[[删除目录删除目录((该目录须为空该目录须为空!)]!)]196.6.rmrm------removeafile.removeafile.((删除文件删除文件))%%rmrm––iiasksbeforeasksbeforedeletingafile.deletingafile.((删除前询问删除前询问))%%rmrm––rr((recursiverecursive)toremoveadirectoryandits)toremoveadirectoryanditscontents.Dangerous!contents.Dangerous!((递归删除目录和文件。危险递归删除目录和文件。危险!)!)7.7.pwdpwd------printworkingdirectory.printworkingdirectory.((显示当前工作目录显示当前工作目录))8.8.mvmv------movemove(or(orrenamerename)afile.)afile.((文件移动文件移动//改名改名))9.9.lplpororlprlpr------lineline--printafile.Useprintafile.Use––PtospecifyPtospecifyanotherprinter.anotherprinter.((排队打印文件。排队打印文件。--pp指定打印机指定打印机))10.10.lpqlpq------queryaprintqueryaprint((查询打印队列查询打印队列))11.11.lplprmrm------rmrmaprintjob.aprintjob.((删除排队打印任务删除排队打印任务))Mustbetheuserwhoprintedthefile.Mustbethe
本文标题:linux UNIX系统基础
链接地址:https://www.777doc.com/doc-6290664 .html