已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章开发环境的建立,主讲教师沈阳tonyshen韶关学院计算机科学学院2011年9月,本章目标,Linux操作系统简介Linux操作系统全面分析TQ2440samsungs3c2440开发板(PDF)建立交叉编译环境安装smb,xinetd,tftp,使用开发环境,宿主机-目标机开发模式,一Linux操作系统简介,作者:LinusTorvalds(芬兰)1991年9月,发布Linux0.01版本.官方网址:吉详物:,Linux简介,LinusTorvaldsLinux的创始人,RichardStallman自由软件运动的精神领袖、GNU计划以及自由软件基金会的创立者,Linux的具有如下特点:符合POSIX标准多用户、多任务丰富的网络功能良好的可移植性支持数十种文件系统格式开源、免费,Linux发行版RedHatLinuxFedoraCentOSSuSEDebianUbuntu红旗Linux,Linux系统结构,Linux系统的核心框图如图所示。,Linux系统核心框图,Linux内核,内核独立于普通应用程序,它一般处于系统态,拥有受保护的内存空间和访问硬件的所有权限.应用程序在用户空间执行,它们只能看到允许它们使用的部分系统资源,并且不能使用某些特定的系统功能,不能直接访问硬件.,二Linux操作系统全面分析,1.Linux常用命令2.Vi编辑器3.gcc编译器4.make,makefile5.Shell编程6.Linux系统编程入门,2.1Linux常用命令,Linux命令格式:#command-optionsparameter1parameter2.如:ls-l/home参考:Linux指令详解,2.2Vi简介,Linux提供了vi的多个版本,或者说多个克隆,最流行的有:elvis、nvi、vile、vim,每个克隆都具有比最初的vi更多的特性。RedHatLinux提供的/bin/vi,是vim的最小版本,加载起来很快。此外还提供了/usr/bin/vim,是vim的完全功能版。,Vi的基本操作,参考:Linux指令详解Vim中文手册使用vi自带教程#vimtutor,2.3gcc简介,gcc是符合ISO标准的C编译器,它在需要的时候调用其它组件(预处理器、汇编器、连接器)。gccGCC很多人把GCC看成只是一个C编译器,其实GCC是GNUCompilerCollection的简称,目前GCC可以支持C,C+,ADA,JAVA,Fortran,PASCAL等多种高级语言,GCC主要包括以下一些工具:cpp(预处理器),gcc(C编译器),g+(C+编译器)等编译器.,gcc识别的主要文件扩展名如下:.cC语言代码.C,.ccC+语言代码.i预处理后的C语言代码.ii预处理后的C+语言代码.s,.S汇编语言代码.o目标代码.a静态链接库(程序编译时使用).so动态链接库(程序运行时使用),参考:Linux指令详解GCC中文手册,2.4GNUmake工具的使用,GNUmake是一种代码维护工具,其主要任务是根据Makefile文件定义的规则和步骤,完成整个软件项目的代码生成和维护工作。GNUmake将整个软件项目的代码分开放在几个小的源文件中,在改动其中一个文件的时候,可以只对该文件进行重新编译,然后重新链接所有的目标文件。,使用make编译软件源码包一般步骤是:#./configure(生成Makefile文件)#makeclean(进行清理工作)#make(编译源文件)#makeinstall(安装可执行文件),参考:GNUmake中文手册跟我一起写Makefile主要了解:Makefile的规则Makefile中的变量,Make工具,基本规则:目标、依赖关系、指令,2.5Shell简介,shell是一种具备特殊功能的可执行程序,它是介于使用者和UNIX/linux操作系统内核间的一个接口。shell是一个命令解释器,它从输入设备读取命令,再将其转为计算机可以了解的指令,然后执行它。在Linux中,shell又不仅是简单的命令解释器,而且是一个全功能的编程环境。,shell是一种具备特殊功能的可执行程序,它是介于使用者和UNIX/linux操作系统内核间的一个接口。shell是一个命令解释器,它从输入设备读取命令,再将其转为计算机可以了解的指令,然后执行它。在Linux中,shell又不仅是简单的命令解释器,而且是一个全功能的编程环境。,参考:Linux命令及shell使用主要了解:shell变量条件测试控制结构,TQ2440samsungs3c2440开发板(PDF)目标机介绍,四建立交叉编译环境,4.1交叉编译原理,什么是交叉编译?在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,这个编译过程就叫交叉编译。简单地说,就是在一个平台上生成另一个平台上的可执行代码。,这里所谓的平台,实际上包含两个概念:体系结构,操作系统同一个体系结构可以运行不同的操作系统;同一个操作系统也可以在不同的体系结构上运行。,这里所谓的平台,实际上包含两个概念:体系结构,操作系统同一个体系结构可以运行不同的操作系统;同一个操作系统也可以在不同的体系结构上运行。,4.2安装交叉编译工具链,什么是EABI?Embeddedapplicationbinaryinterface,即嵌入式应用二进制接口,是描述可连接目标代码,库目标代码,可执行文件影像,如何连接,执行和调试,以及目标代码生成过程,和c,c+语言接口的规范,是编译连接工具的基础规范,也是研究它们工作原理的基础。,五安装smb,xinetd,tftp,使用开发环境,附Linux文件系统和基本命令,Linux文件系统Linux常用命令,系统目录,用颜色代表不同文件,蓝色:目录绿色:可执行文件红色:压缩文件浅蓝色:链接文件灰色:其他文件,理解Linux文件系统标准,/:根目录,系统中所有的目录都是从根目录开始。/bin:(binary)存放常用命令。/boot:在这个目录下存放的都是系统启动时要用到的程序。在使用grub或lilo引导linux的时候,会用到这里的一些信息。/dev:dev是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。,/etc:etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。我们要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。/sbin:这个目录是用来存放系统管理员的系统管理程序。/home:如果建立一个用户,用户名是“jl”,那么在/home目录下就有一个对应的/home/jl路径,用来存放用户的主目录。/lib:lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。,/mnt:这个目录在一般情况下也是空的。可以临时将别的文件系统挂在这个目录下。/proc:可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。/root:如果用户是以超级用户的身份登录的,这个就是超级用户的主目录。/tmp:用来存放不同程序执行时产生的临时文件。/usr:占空间最大的目录,用户的很多应用程序和文件几乎全在这个目录中。,Linux目录结构,存放命令的目录/bin/sbin/usr/bin/usr/sbin/usr/local/bin/opt:optional安装大的应用程序/tmp:存放各程序执行时所产生的临时文件;/lost+found:系统修复过程中恢复的文件,/devdevice设备,bblock块设备ccharacter字符设备Linux的硬件设备对应文件光驱设备/dev/cdrom软驱/dev/fd0lsl命令可查看设备类型,看看首字符,borc,/etc配置文件所在目录,文件系统配置/etc/fstab/etc/environment增加环境变量等(修改PATH等)如配置JAVA/J2EE开发环境/etc/passwd:系统能识别的用户清单纯文本显示加密了的命令,普通用户可读/etc/shadow:超级用户才能读,用于保护加密口令的安全隐藏口令,home,用户默认主目录/home/usrnameuseraddusername创建新用户passwdusername添加密码,/lib库文件目录,/lib系统所用的库如查询C程序库版本:ls/lib/libc-*/lib/modules/2.6.32-22-generic/kernel/drivers驱动模块/usr/lib应用程序使用的库如MySQL的API,/usr用户目录,/usr/doc/usr/share/doc帮助文档man命令查看命令的手册页info命令查看命令的帮助命令-help/usr/src/linux-headers-2.6.32-22Linux源代码,/usr文件系统部分内容,bin几乎所有的用户命令程序sbin系统管理的命令include应用成员库,C语言头文件lib库文件和数据文件local本地安装文件share共享文件和数据,了解所用硬盘信息,mount所挂装分区df-h硬盘分区的使用情况uname-a所用Linux版本号,Linux常用文件操作命令,mkdir创建目录rm-r-f递归删除目录,并且不提示rmdir删除空目录pwd查看当前目录cd切换目录ls(list)格式:ls参数路径或文件名参数:-a不隐藏任何以“.”字符开始的项目-l使用较长格式列出信息-R递归显示所有目录和文件-d不递归,Linux常用文件操作操作,more/less文件:查看文件内容cat显示所指文件的内容mv(move)mv参数-I-fcp(copy)格式:cp参数-f(force)直接覆盖-I提示是否覆盖-R递归,rmdir命令rmdir命令的功能是删除目录。其语法格式为rmdir-p-sdirnamermdir不能删除安装文件系统的根目录。显示当前目录显示当前目录的命令是pwd命令,该命令使用的语法格式如下:pwd清屏命令:clear,普通文件,文件,字符文件,普通文件,特殊文件,普通文件,目录文件,普通文件,块设备文件,硬链接文件,软链接文件,文件类型,普通文件(-):文本文件、二进制文件目录文件(d):文件夹链接类型:ln创建的文件特定文件:设备文件(b,c)和管道文件(p)ls-l可以看到文件的类型/dev,Linux用户类型,系统管理员(root)系统管理员(SA)主要负责Linux操作系统的平滑操作文件拥有中(u)创建文件的用户称为它的拥有者组拥有者(g)用户组可给一个名,就像给用户一个名一样其他用户(o)不属于特定组的这些用户,文件目录权限,rwxrwxrwxownergroupothersrwxr-x-111101000750chmod750文件/目录名,改变文件访问权限,chmod改变文件访问权限符号标记法chomd(ugoa)(+-=)(rwx)filename/fileliste.g.chmodg+wo-x/usr/local/*数字标记法4(100)读2(010)写1(001)执行0(000)无权限e.g.chmod755/usr/local/*,文件比较,diff找出两个文本文件的差异diff参数-w忽略所有空格差别-I忽略大小写cmp比较任意两个文件cmppara,find,作用:查找文件或目录用法:find查找路径匹配条件动作常用匹配条件-typed表示目录f表示文件l表示链接b块文件p管道文件name字符串iname字符串不区分大小写user用户名group组名permxxxxsizenatimen过去n天被访问过的mtimen在过去n天中被修改过的,find的范例,find.-namels.txtfind.-namels.txtprintfind/-namec?printfind/-namef*printfind.-namef*execlsl;find.-namef*okrm;find.-perm644mtime4find.-namec?o-named?,file,file文件名查看文件内型,文件的硬链接,相当于一个文件的两个副本,指向同一数据存储区特点:两个文件,长度相等,总长度不变删除其中一个文件,另一个仍然存在修改其中一个文件,另一个也修改,文件的符号链接,相当于一个文件的快捷方式特点:仅保存一个指针,长度小于原文件删除符号链接,不影响原文件删除原文件,符号链接即没有意义,ln命令link,功能:产生链接文件用法:lns来源文件目标文件加-s参数:symboliclink不加-s参数:hardlink范例:lns/bin/less/usr/bin/lesslnmyfilemylinkfile,软件的分发格式和安装命令,rpmrpm-qa.rpm查询是否
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 定期观摩活动方案策划(3篇)
- 新公司各项管理制度内容(3篇)
- 活动策划方案大全建材(3篇)
- 矿山环境奖惩管理制度范本(3篇)
- 绩效系统管理制度(3篇)
- 银行郊游活动策划方案(3篇)
- Unit 5 Topic 3 Section B 课件+素材 2025-2026学年仁爱科普版九年级英语下册
- 2026年及未来5年市场数据中国肉鸡行业发展前景预测及投资方向研究报告
- 纳税人培训课件与简报
- 信息技术外包与合作伙伴管理制度
- 临床创新驱动下高效型护理查房模式-Rounds护士查房模式及总结展望
- 乙肝疫苗接种培训
- 心衰患者的用药与护理
- 食品代加工业务合同样本(版)
- 车间管理人员绩效考核方案
- 安全生产应急平台体系及专业应急救援队伍建设项目可行性研究报告
- 浙江省杭州市北斗联盟2024-2025学年高二上学期期中联考地理试题 含解析
- 医用化学知到智慧树章节测试课后答案2024年秋山东第一医科大学
- 中国传统美食饺子历史起源民俗象征意义介绍课件
- 医疗器械样品检验管理制度
- 更换法人三方免责协议书范文
评论
0/150
提交评论