资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,嵌入式系统程序设计,大连理工大学软件学院,嵌入式系统工程系,赖晓晨,linux,基础,1,linux,简介,安装,linux,linux,基本命令与操作,shell,的使用,常用网络命令,一、,linux,简介,GNU,的历史,自由软件、共享软件、免费软件,理查德。斯托曼,GNU,的历史,Copyleft,GPL,GNU/,linux,致电脑爱好者的公开信,比尔。盖茨,理查德。斯托曼,linux,简介,linux,的历史,Unix,:,Ken Thompson ,太空旅行,AIX,、,BSD,、,HP-UX,、,solaris,minix,安德鲁,坦尼鲍姆,操作系统设计与实现,linux,1991,年,芬兰赫尔辛基大学,linus,Torvalds,linus,Linux,的历史,1991,年,4,月 芬兰计算机系研究生,Linux Benedict,Torvalds,开始为一个以后被称为,“,Linux”,的内核而工作。,1991,年,8,月,25,日,Linus,网上发贴,寻找志同道合的合作伙伴。,1991,年,10,月,5,日,Linus,Torvalds,在新闻组,comp.os.minix,发表了,Linux V0.01,,约有一万行代码。,1992,年,全世界大约有,1000,个左右的人使用,Linux,并有不少人提供初期的代码上载和评论。,Linux,的历史(续),1993,年 大约由,100,多个程序员参与内核代码修改,内核核心由,5,人组成,,V0.99,约有十万行代码。,1993,年,12,月,Linux,全球用户数约在,10,万左右。,1994,年,3,月,,Linux1.0,问世,约有,17,万行代码。它按完全自由免费的协议发布,源码必须完全公开,之后很快,Linux,正式采用,GPL,协议。,1995,年,Linux,全球用户数大大超过,50,万,,Linux,已可在,Intel, Digital,和,Sun SPARC,处理器上运行,,Linux Journal,杂志已发行了,10,万册。内核发展到,1.2,约由,25,万行代码。,Linux,的历史(续),1996,年,6,月,Linux,内核,2.0,发布,可支持多个处理器,约由,40,万行代码。,Linux,全球用户数约在,350,万左右。,1997,年夏,制作电影,泰坦尼克号,所用的,160,台,Alpha,图形工作站中,有,105,台采用了,Linux,操作系统。,第一篇,linux,帖子,From:,torvaldsklaava.Helsinki.FI,Newsgroups:,comp.os.minix,Subject: What would you like to see most in minix?,Date: 25 Aug 91 20:57:08 GMT,Hello everybody out there using,minix,. Im doing a (free) operating system (just a hobby, wont be big and professional like gnu) for 386(486) AT clones. This has been brewing since,april, and is starting to get ready. Id like any feedback on things people like/dislike in,minix, as my OS,resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things).,Linux,发音,关于,linux,的争论,Andy,Tanenbaum,大内核,过分依赖体系结构,Linus,Torvalds,可用更重要,posix,linux,的特点,linux,是自由软件,linux,具有,Unix,的全部功能,linux,得到了众多硬件厂商的支持,linux,具有众多的应用软件,王垠:,完全用,Linux,工作,linux,的组成,linux,是一个功能强大的完备的操作系统,符合,POSIX,标准,包含完整的操作系统组件,文本编辑器、高级语言编译器、应用程序、,X-Window,图形用户接口、网络服务器组件,linux,的应用领域,高端服务器领域,市场占有量达,25,,获得,IBM,、戴尔、惠普、,SUN,等厂商支持,桌面应用领域,嵌入式应用领域,源码公开、可裁减,linux,版本号,内核版本与发行版本,内核版本号:,2.4.18 2.5.10,稳定版本,测试版本,2.0.x,由,David,Weinehall,负责维护;,2.2.x,由,Alan Cox,负责维护;,2.4.x,由,Marcelo,Tosatti,负责维护。,2.6.x,由,Linus,Torvalds,亲自负责维护,。,常见,linux,发行版,Slackware,red hat (Fedora Core),支持的硬件平台多、优秀的安装接口、独特的,rpm,安装方式、丰富的软件、方便的系统管理接口、完备的文档,fedora core,SuSE,常见,linux,发行版(续),Debian,红旗,linux,Xteam,ubuntu,二、安装,linux,安装方式,直接在硬盘上安装,用虚拟机,vmware,安装,安装,vmware,vmware,tools,安装,FC,以及红帽子,linux,获得安装光盘,从光盘启动,分区:,boot,、,/,、,swap,选择引导记录安装位置:,MBR,、,linux,引导分区的第一个扇区,配置和安装,用,windows OS loader,管理,linux,以红帽子为例,安装,RH,linux,,引导程序不要安装到,MBR,,安装完毕后用急救模式启动,linux,linux,rescue,chroot,/,mnt/sysimage,mkdir,/,mnt,/dos,fdisk,l,mount /dev/hda3,mnt,/dos,dd,if=/dev/hda5 of=/,mnt/dos/rh.lnx,bs,=512 count=1,exit,用,windows OS loader,管理,linux,(续),以红帽子为例,重启动系统,回到,windows,下,拷贝,rh.lnx,到,c,盘根目录,修改,c,盘根目录的隐藏文件:,boot.int,在文件最后加入一行,c:rh.lnx,=“red hat,linux,”,重启动,windows,,可以看到在,windows,启动管理器菜单中出现了,red hat,linux,的启动选项,配置,lilo,和,grub,系统引导程序,lilo,:,li,nux,lo,ader,配置,lilo,之后,要用命令(,/,sbin/lilo,)使其生效,grub,:支持大硬盘,,1024,柱面、支持各种分辨率的开机画面、分区位置改变后不需要重新配置,prompt,timeout=50,default=,smp,image=/boot/,bzImage,label=,smp,read-only,root=/dev/hda1,image=/boot/vmlinuz-2.4.20-8,label=,linux,read-only,root=/dev/hda1,other=/dev/hda3,label=dos,table=/dev/,hda,lilo,分析,/etc/,lilo.conf,prompt,timeout=50 /,显示提示信息,5,秒钟,default=,smp,image=/boot/,bzImage,label=,smp,read-only,root=/dev/hda1,image=/boot/vmlinuz-2.4.20-8,label=,linux,read-only,root=/dev/hda1,other=/dev/hda3,label=dos,table=/dev/,hda,lilo,分析,/etc/,lilo.conf,prompt,timeout=50,default=,smp,image=/boot/,bzImage,/,第一个启动映像,label=,smp,read-only /,只读方式挂载文件系统,root=/dev/hda1,image=/boot/vmlinuz-2.4.20-8,label=,linux,read-only,root=/dev/hda1,other=/dev/hda3,label=dos,table=/dev/,hda,lilo,分析,/etc/,lilo.conf,prompt,timeout=50,default=,smp,image=/boot/,bzImage,label=,smp,read-only,root=/dev/hda1,image=/boot/vmlinuz-2.4.20-8 /,定义第二个启动映像,label=,linux,read-only,root=/dev/hda1,other=/dev/hda3,label=dos,table=/dev/,hda,lilo,分析,/etc/,lilo.conf,prompt,timeout=50,default=,smp,image=/boot/,bzImage,label=,smp,read-only,root=/dev/hda1,image=/boot/vmlinuz-2.4.20-8,label=,linux,read-only,root=/dev/hda1,other=/dev/hda3 /,启动,dos,分区,格式为,label=dos/other=,分区名,table=/dev/,hda,lilo,分析,/etc/,lilo.conf,title red hat,linux, default mode,root (hd0,1),#(hd0,1),是第一块硬盘的第二个分区,kernel /boot/,vmlinuz,vga,=auto root=/dev/hda2,#kernel /boot/,vmlinuz,是,linux,内核的路径,#,vga,=auto,是设定显示模式,#,root=/dev/hda2,是把第一个硬盘的第二个分区作为根挂载点,title,microsoft,windows,root (hd1,0),#(hd1, 0),是第二块硬盘的第一个分区,chainloader,(hd1,0)+1,#,首先装入一个扇区的数据,然后把引导权交给它,grub,文件分析,/boot/grub/,grub.conf,三、,linux,基本命令与操作,启动,linux,多用户系统,根用户:,root,关闭,linux,halt,shutdown h now,注销,ctrl+d,logout,exit,重启动,reboot,linux,的在线帮助系统,查看文档的命令,cat,、,more,、,less,linux,的帮助系统:,手册页:,man command,info,命令,RPM,包文档,从,windows,远程登录到,linux,linux,服务器运行了,telnet,服务器端软件,在,windows,中使用超级终端、,putty,等工具登录,远程登录不可以使用,root,帐号,基本,linux,命令,who,:确定系统当前用户的信息,ps,: 列出系统当前进程,ps,aux /,列出系统所有进程,pstree,:列出系统进程树,date,:显示和设置系统当前日期和时间,基本,linux,命令(续),cal,: 日历查看命令,cal 9 2006,cal j 9 2006,echo,:回显命令,ls,:获取目录中的文件列表(文件权限),pwd,:查看当前目录,基本,linux,命令(续),cat,:,显示文件内容,从键盘输入文件,合并几个文件,more,、,less,:分屏显示文件内容,su,:用户切换,基本,linux,命令(续),whoami,:显示用户当前帐号,wc,:文字统计工具,bc,:计算器工具,head,、,tail,:显示文件的前几行和后几行,linux,文件系统,windows,文件系统:,fat32,、,ntfs,分区、盘符,linux,文件系统:,ext2,、,ext3,、,reiserFS,等,目录树,linux,文件系统(续),red hat,linux,的一级子目录,linux,文件系统(续),bin,:普通用户常用例程,如,date,dev,:存放系统中所有设备名,home,:普通用户的主目录,lib,:内核和应用程序所用的库文件和模块,包括各种硬件的驱动程序,root,:根用户的主目录,usr,:用户安装的应用程序,boot,:引导程序,linux,文件系统(续),etc,:与系统硬件和软件有关的配置文件,lost+found,:系统孤立的扇区,mnt,:其他分区的挂接点,proc,:内存文件系统,sbin,:根用户用于系统管理的可执行文件,tmp,:临时文件,var,:各种服务器的数据文件、日志、假脱机打印系统的打印队列数据等,linux,常用目录操作,常用特殊目录符号:,/ . . ,ls,:选项,l,、,R,、,a,、,i,、,F,pwd,cd,:切换目录(绝对路径、相对路径),mkdir,:创建目录,rmdir,:删除非空目录,mv,:移动目录、目录改名,linux,常用文件操作,cp,:拷贝文件,-r,递归拷贝,rm,:删除文件,-r,递归删除,-f,强制删除,ln,:链接文件,touch,:创建一个空文件、修改文件访问时间,chown,:改变文件属主,umask,:,:改变文件的默认权限,linux,常用文件操作(续),chmod,:改变文件权限(文件的属性),chmod,g+r,a.c,chmod,777,a.c,-,:文件,d,:目录,b,:块设备,c,:字符设备,l,:符号链接,s,:套接字,p,:有名管道,linux,常用文件操作(续),find,:查找文件,格式:,find,起始目录 寻找条件 操作,find /home/,lai,name,a.c,-exec,rm, ;,grep,:文件内容查询,grep,aaa,a.c,b.c,grep,n,aaa,a.c,b.c,/,加行号,linux,常用文件操作(续),sort,:排序命令。对文件中的内容进行排序,uniq,:删掉排序文件中的冗余行,sort c |,uniq,使用通配符,*:若干个字符,?,:一个字符,四、,shell,的使用,操作系统的两个用户接口,linux,shell,操作系统的两个用户接口,系统调用、控制台的命令接口,linux,shell,操作系统的两个用户接口,系统调用、控制台的命令接口,什么是,shell,?,shell,是用,c,语言编写的一个程序,给用户管理和使用系统提供了一个接口和桥梁。,linux,shell,操作系统的两个用户接口,系统调用、控制台的命令接口,什么是,shell,?,shell,是用,c,语言编写的一个程序,给用户管理和使用系统提供了一个接口和桥梁。,shell,的使用方法:,从控制台键入,shell,命令;编写,shell,脚本,linux,shell,操作系统的两个用户接口,系统调用、控制台的命令接口,什么是,shell,?,shell,是用,c,语言编写的一个程序,给用户管理和使用系统提供了一个接口和桥梁。,shell,的使用方法:,从控制台键入,shell,命令;编写,shell,脚本,类似于,dos,的,控制台命令,批处理文件,linux,shell,操作系统的两个用户接口,系统调用、控制台的命令接口,什么是,shell,?,shell,是用,c,语言编写的一个程序,给用户管理和使用系统提供了一个接口和桥梁。,shell,的使用方法:,从控制台键入,shell,命令;编写,shell,脚本,与,DOS,程序,的区别?,linux,shell,操作系统的两个用户接口,系统调用、控制台的命令接口,什么是,shell,?,shell,是用,c,语言编写的一个程序,给用户管理和使用系统提供了一个接口和桥梁。,shell,的使用方法:,从控制台键入,shell,命令;编写,shell,脚本,shell,的工作原理,shell,工作原理,登录或启动终端,,显示,shell,提示符,输入,shell,命令,回车,shell,启动子进,程,寻找应用,程序并传递参数,执行应用程序,并显示结果,返回,shell,提示符,通知,shell,执行完,毕,,子进程终止,sh,pstree,| less,常用,shell,sh,(Bourne shell, 1979, Unix,版本,7),csh,(C shell),ksh,(,Korn,shell,商业软件,sh,的增强版,),tcsh,(,csh,是指向,tcsh,的一个链接,),bash,sh,兼容,包含,csh,和,ksh,最有用的功能,具有命令历史记忆功能,有作业控制功能,有,shell,程序设计能力,echo $SHELL,shell,使用,输入输出重定向:,命令,文件:输出到文件,命令,文件:输出追加到文件,管道:将某一个程序的输出直接送入到另一个程序,作为输入。,命令,1|,命令,2 |,命令,3,后台运行程序:,命令,&,shell,环境变量,HOME,:用户主目录,PATH,:系统路径,TERM,:终端类型,UID,:用户,ID,PWD,:当前目录,PS1,:主提示符,PS2,:辅助提示符,/exp/,vmlinux/envir,shell,使用技巧,tab,键补全命令,调用历史命令,history,history n,!,n,命令别名,alias,lll,=,ls,l -i,作业控制,Ctrl z,:把作业挂起,fg,:把挂起的作业转入前台运行,bg,:把挂起的作业转入后台运行,jobs,:查看作业情况,kill,:立刻结束作业,#,slocate,-u (Ctrl z),#jobs,#,bg,n,#,fg,n,五、常用网络命令,linux,内置了完整的,TCP/IP,协议和应用程序,linux,提供一系列高效率的网络诊断程序和设置命令,常用命令:,ping,、,ifconfig,、,ifup,、,ifdown,、,netstat,、,route,、,traceroute,、,host,、,nslookup,1,。,ping,检测主机的连通性,功能说明:,ping,命令使用,ICMP,协议,用来检测到远程主机的网络连通性。,例:,ping 202.118.66.5,ping c 3 202.118.66.5,使用,ping,命令的顺序,原则:从本地到远端,ping,本机,IP,:网卡,ping,同一子网其他机器:局域网,ping,不同子网某台机器的,IP,:网关,ping,不同子网某台机器的域名:,DNS,ping,外网站点,功能说明:获知整个,linux,网络的使用情况,例:,显示系统路由表:,netstat,r,显示系统中活动的,tcp,信息:,netstat,-,ta,2,。,netstat,显示网络状态,功能说明:显示和配置网络接口,例:,显示当前活动接口状态:,/,sbin/ifconfig,设置第一块网卡的,ip,地址:,ifconfig,eth0 210.30.101.222,查看第一块网卡的,ip,地址:,ifconfig,eth0,3,。,ifconfig,命令,例:,停止,/,启用网络接口:,ifconfig,eth0 up,ifup,eth0,ifconfig,eth0 down,ifdown,eth0,3,。,ifconfig,命令(续),功能说明:,redhat9,提供的基于文本的全屏网络配置工具,例:,配置,ip,、子网掩码、默认网关、,DNS,:,netconfig,4,。,netconfig,命令,功能说明:追踪网络数据包的路由,例:,traceroute,5,。,traceroute,命令,功能说明:与,Internet,域名服务器交互查询,有交互式和非交互式两种用法,例:,查询大工主页的,ip,:,nslookup,查询某,ip,对应的域名:,nslookup,162.105.203.114,6,。,nslookup,命令,常用网络工具,文本模式,web,浏览器:,lynx,远程登录:,telnet,文件传输:,ftp,登录(,anonymous,),cd,、,ls,、,get,、,exit,lynx http:/,telnet 202.118.66.5,ftp,常用网络工具,安全的远程登录:,SSH,ssh,l,远程主机用户名 远程主机,ip,安全的文件传输:,sftp,password,、,cd,、,ls,、,get,、,exit,sftp,ssuser210.30.97.68,ssh,l yes 202.118.66.5,
展开阅读全文