Linux第1章概述课件_第1页
Linux第1章概述课件_第2页
Linux第1章概述课件_第3页
Linux第1章概述课件_第4页
Linux第1章概述课件_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

主讲:姜林美

Email:clough@Unix/Linux程序环境1精选2021版课件课程内容Linux及Linux编程环境概述C语言基础与提高GNU开发工具链的使用GTK+编程基础Gtk+基本构件Gdk与cairo绘图基础文件进程、信号和消息队列shell编程(bash)俄罗斯方块2精选2021版课件参考文献Internet(google&baidu)DevhelpGNU/LINUX环境编程.M.TimJonesUNIX环境高级编程.W.RichardStevensLinux程序设计(第4版).NeilMatthew.Linux教程(第2版).孟庆昌,牛欣源.电子工业出版社Linux应用程序开发指南.机械工业出版社.许宏松等实用技术:开发Linux应用——用GTK+和GDK开发Linux图形用户界面应用.EricHarlow著.童寿彬等译FoundationsofGTK+Development.AndrewKrause3精选2021版课件第一章Linux及Linux编程环境概述44精选2021版课件§1.1Linux操作系统概述Linux的诞生和发展([Linux大事TOP100])1991年9月发布0.01版目前最新版本2.6.32查看内核版本:uname-a各版本规模比较Linux内核版本号文件数量(个)源代码行数(行)0.017684130.1299154860.97187389281.004871651652.0116436862012.4.221030246865342.6.27之后未统计1000万行以上5精选2021版课件§1.1Linux操作系统概述Linux名称的由来及发音Linus最初取名为Freax,后改名为与Linus谐音的Linux根据TorvaldsLinus本人的说法,依照国际音标其发音为[΄linəks]http://www.L/Linux-pronunciation/pronunciation/torvalds-says-Linux.wav6精选2021版课件§1.1Linux操作系统概述Linux发展要素UnixUnix1969年在Bell实验室诞生,Ken.Thompson和DennisRitchie开发的分时操作系统;大型系统采用的主流操作系统,采用固定机型的解决方案,各主要计算机产商有其自有版本的UNIX;Linux是Unix的一种典型的克隆系统,采用了几乎一致的API接口。Minix由荷兰AndrewS.Tanenbaum于1987年开发完成;主要目的:操作系统原理课程的教学使用。优点:小、有源码7精选2021版课件§1.1Linux操作系统概述Linux发展要素GNU计划RichardM.Stallman(RMS)1984年创立GNU项目,1985年创办FSF。GNU=GNU‘sNotUNIX,开发了:emacs编辑系统、bashshell程序、gcc系列编译程序、gdb调试程序等免费软件FSF=theFreeSoftwareFoundation,自由软件基金会依靠一些公司捐助和其它商业捐助来维持,进行软件开发的工作和保护、推广自由软件的工作GPL=GeneralPublicLicense(Copyleft),旨在推广自由软件的使用和学习,防止别有用心的公司在对免费软件进行一些修改后就申请版权。因此GPL协议要求在对软件进行修改后,如果要再次发布,就需要将已修改的部分同时发布出来。8精选2021版课件§1.1Linux操作系统概述Linux发展要素POSIX(PortableOperatingSystemInterfaceforComputingSystems)标准由IEEE和ISO/IEC开发的标准簇,POSIX.1标准(1988年9月批准);描述了操作系统的调用服务接口,用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植运行,可称为Unix的国际标准。最新标准从/austin/获取在1991-1993年间,POSIX标准的制定处在最后投票敲定的时候,此时Linux刚刚起步,这个UNIX标准使得Linux能够与绝大多数UNIX系统兼容Internet网络如果没有Intenet网,没有遍布全世界的无数计算机骇客的无私奉献,那么Linux最多只能发展到0.13(0.95)版的水平。9精选2021版课件§1.1Linux操作系统概述Linux和Unix的异同开源软件vs商业软件;Unix大多与硬件配套,即操作系统与硬件绑定;Linux可运行于多硬件平台;Unix历史悠久,Linux源于Unix但设计思想更优秀;常见版本Unix:Sun的Solaris、IBM的AIX、HP的HP-UX和基于x86平台的SCOUNIX/UNIXware。Linux:Ubuntu、Debian、Slackware、Fedora和RHEL、CentOS、OpenSuSe、Mandriva、红旗Linux等,参见网站:/pub/images/tech/linux/zhuanti/version/

Linux在安装和使用上较Unix容易。10精选2021版课件§1.1Linux操作系统概述Linux人才需求Linux人才需求超过Unix与Windows持平人才缺口极大(超过100万)/career_9921/20100612/t20100612_485858.shtml/#u16390459/d100966420.htm/art/200905/123405.htm/article/2008/0408/A20080408216474.shtml11精选2021版课件§1.2Linux编程环境Linux的安装(Ubuntu10.04LTS)在硬件上直接安装光驱安装硬盘安装在虚拟机上安装VMwareworkstationVirtualboxVirtualpc安装后系统更新与升级sudoapt-getupdatesudoapt-getdist-upgradesudoapt-getupgrade12精选2021版课件§1.2Linux编程环境编程环境的安装及配置中文输入法安装sudoapt-getinstallscimscim-modules-socketscim-modules-tablescim-pinyinscim-tables-zhscim-input-padsudosh-c"echo'exportXMODIFIERS=@im=SCIM;exportGTK_IM_MODULE="scim";exportQT_IM_MODULE="scim";scim-d'>/etc/X11/Xsession.d/95xinput"sudochmod755/etc/X11/Xsession.d/95xinput中文乱码解决/lazyclough/archive/2009/06/28/4305247.aspx

13精选2021版课件§1.2Linux编程环境编程环境的安装及配置gvimsudoapt-getinstallvim-gtk选项setsyntax=onset

expandtabsetnusetts=4setsw=4setsmsetcinsetaisetnowraplet&termencoding=&encodingsetfileencodings=utf-8,gb18030,gbk,gb2312,big5模式:指令、输入、末行基本命令移动:h,j,k,l,w,b,0,$,G;插入:a,i,o,O;更改:r,R,c复制:y;删除:x,d;查找:?,/,f取消:u;重做:ctrl+r14精选2021版课件§1.2Linux编程环境编程环境的安装及配置build-essentialsudoapt-getinstallbuild-essential编译:gcc–oxxxxfilename.cg++-oxxxxfilename.cpp/ccGTK+参见:/lazyclough/archive/2009/11/08/4784943.aspx

编译选项:`pkg-config–cflags–libsgtk+-2.0`eclipsecdt安装参见:/lazyclough/archive/2010/11/08/5996054.aspx

其它参见:/lazyclough/category/522728.aspx15精选2021版课件§1.2Linux编程环境Linux的文件组织结构结构图16精选2021版课件§1.2Linux编程环境Linux的文件组织结构环境变量$PATH:搜索路径$PS1:提示符显示环境变量命令:printenv,env由资源文件预先定义bashshell全局性系统环境变量的资源文件/etc/rcx.d/*/etc/rc.local/etc/profile/etc/environment(仅debain系列如ubuntu)/etc/bashrc或/etc/bash.bashrc(ubuntu下)用户定制的系统环境变量~/.bash_profile~/.bashrc/etc/profile中设定的变量(全局)可以作用于任何用户,用户定制的环境变量只作用于本用户执行顺序为:/etc/profile=>[/etc/environment]=>(~/.bash_profile|~/.bash_login|~/.profile)=>~/.bashrc=>/etc/bash.bashrc=>~/.bash_logout

17精选2021版课件§1.2Linux编程环境Linux的文件组织结构环境变量各资源文件的作用:/etc/profile:为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置。/etc/bashrc:为每一个运行bashshell的用户执行此文件.当bashshell被打开时,该文件被读取。~/.bash_profile:用户可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。~/.bashrc:该文件包含专用于某用户的bashshell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。~/.bash_logout:当每次退出系统(退出bashshell)时,执行该文件.~/.bash_profile是交互式、login方式进入bash运行的,~/.bashrc是交互式non-login方式(终端窗口)进入bash运行的通常二者设置大致相同,所以通常前者会调用后者。18精选2021版课件§1.2Linux编程环境Linux的文件组织结构配置文件/etc/passwd每行表示一个用户的信息;7个段位;冒号分割;如:linuxsir:x:501:502::/home/linuxsir:/bin/bash第一字段:用户名(也被称为登录名);在上面的例子中,用户名是linuxsir;第二字段:口令;无用,已被映射到/etc/shadow文件中;第三字段:UID;第四字段:GID;第五字段:用户名全称,这是可选的,可以不设置;第六字段:用户的主目录所在位置;上例中为/home/linuxsir;第七字段:用户所用SHELL的类型,beinan和linuxsir都用的是bash;所以设置为/bin/bash;19精选2021版课件§1.2Linux编程环境Linux的文件组织结构配置文件/etc/fstab每行表示一条挂载信息;6个段位;空白字符分割;格式fs_specfs_filefs_typefs_optionsfs_dumpfs_pass如:UUID=CDEDBE95A6C93A99/mnt/win_vmntfsdefaults,utf8,rw,user01fs_spec要加载的文件系统所在的设备或远程文件系统fs_file-加载的目录点fs_type-定义了该设备上的文件系统,ext3、ext4、vfat(Windows系统的fat32格式)、ntfs、iso9660等。fs_options-特定参数选项,逗号分隔;一般使用defaults。其他选项:ro或rw以只读或读写模式加载该文件系统user允许普通用户加载该文件系统noauto使用mount-a命令(例如系统启动时)时不自动加载umask=022文件权限的掩码iocharset=gbk编码fs_dump-该选项被dump命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0fs_pass-该字段被fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统/对应该字段的值应该为1,其他文件系统应该为2。若该文件系统无需在启动时扫描则设置该字段为020精选2021版课件§1.2Linux编程环境Shell简介什么是Shell一个做为用户与Linux系统之间的操作接口程序,允许用户向操作系统输入需要执行的命令;一种高级、解释性程序设计语言Shell的种类Bourneshell(sh)Cshell(csh)Kornshell(ksh)BourneAgainshell(bash)21精选2021版课件22§1.2Linux编程环境Shell简介shell脚本文件示例执行shell脚本输入定向到shell脚本$/bin/bash脚本名以脚本名作为参数$·脚本名[参数]将shell脚本的权限设置为可执行$chmoda+xexample$./exampleshell通配符?通配单个字符,如lstes?.txt*通配所有字符/字符串,如lstes*.*[set]通配方括号中任何一个单个字符,如lstes[tfx].*[^set]通配不包括号方括号内的任何单字符,如lstes[^tfx].*{}通配大括号内的任何字符串,如lstes{t,t1,t2}.*#!/bin/bashecho"youarewelcometousebash"echo"currentworkdriectoryis$PWD"echo"youare$LOGNAME"22精选2021版课件23§1.2Linux编程环境Linux的基本操作获取帮助--helpifconfig--helpmanmanmanman3printfinfo?显示命令,tab跳到下一个超链接位置,RET转到该链接infoinfoinfo3printfman工具显示非GNU工具的信息,info补充非GNU工具信息及显示GNU工具信息。23精选2021版课件24§1.2Linux编程环境Linux的基本操作管道:格式:命令1|命令2功能:将命令1执行的输出作为命令2执行的输入举例ls-l|grephellopsax|grepftpd|wc–l输入、输出重定向格式:<、>、>>文件描述符:0—标准输入;1—标准输出;2—标准错误输出举例ls–l>lsoutput.txtps>>lsoutput.txtkill–HUP1234>killout.txt2>killerr.txtkill–l1234>killouterr.txt2>&1cat<hello.txt>bye.txt24精选2021版课件§1.2Linux编程环境Linux的基本操作浏览及搜索文件系统pwd:显示当前路径cd:切换当前路径cd../..cd或cd~回到用户主目录find:搜寻磁盘查找文件-name按名字查找。如:查找子目录/usr中的spell命令:find/usr-namespell-print-atime按照日期或日期范围查找。如:查找最近十天未使用的程序:find/usr/bin-typef-atime+10-print-mtime按修改时间查找,如:查找建立不到一天的新文件或者二十四小时内修改过的文件:find/usr/bin-typef-mtime-1-print查找文件并执行命令。如:find~-name*.svn-execrm-f{}\;25精选2021版课件§1.2Linux编程环境Linux的基本操作浏览及搜索文件系统which:通过PATH环境变量到该路径内查找文件whichpasswdwhereis:快速查找二进制文件、源代码文件和手册页whereis[-bmsu]findlocate:在文件名数据库(一般每天更新一次)中查找文件locate*.txtgrep:在文件内进行搜索grep[OPTIONS]PATTERN[FILE...]常用选项-r递归搜索子目录-i忽略大小写示例grepcouttest.c26精选2021版课件§1.2Linux编程环境Linux的基本操作浏览及搜索文件系统whatis:从程序使用手册中抽出介绍whatisprintfapropos:查找手册页中的相关信息aproposfindman–K:同apropos浏览目录及阅读文件ls,ll,dir,vdircatcat–ntest.c输出并显示行号moremoretest.c空格下一页,b上一页

lesslesstest.c有许多类似VI的浏览命令head,tail查看头或尾若干行head–n10test.ctail–ftest.c跟踪文件的变化27精选2021版课件§1.2Linux编程环境Linux的基本操作运行进程后台运行:&,如:vi&jobs:查看终端启动了哪些程序Ctrl+Z暂停前台程序bgJOBID切换到后台运行fgJOBID切换到前台运行查看进程:ps示例:psaxps–ef常用选项:-e:显示所有进程。-f:全格式。-u:打印用户格式,显示用户名和起始时间。浏览目录及阅读文件重要输出字段–UID进程所有者的用户名–PID进程号–STAT进程状态,常见的值有:R:可执行的。S:睡眠状态。Z:僵尸。I:空闲。28精选2021版课件§1.2Linux编程环境Linux的基本操作结束进程CTRL+C结束前台进程kill命令:kill[-s信号]进程号kill-l[信号]命令中的参数说明:-s:指定需要送出的信号。既可以是信号名也可以对应数字。-l:显示信号名称列表睡眠进程sleep:使当前正在执行的进程在规定的时间内处于睡眠sleep[time]睡眠time秒kill–sSIGCONTpid唤醒29精选2021版课件§1.2Linux编程环境Linux的基本操作tar(tapearchive):建立档案文件命令参数:c(创建)f(文件)v(verbose)w(提问)t(测试,查看)x(展开,解包)示例:tarc(v)fmydir.tarmydir创建mydir.tartarxfmydir.tarmydir/mydir2/file23从档案文件中解出file23文件tarzxvfmyfile.tar.gz解压并解包myfile.tar.gz文件30精选2021版课件§1.2Linux编程环境Linux的基本操作文件拷贝、移动、链接cp:拷贝cpfile1~/file2cp–rdir1dir2mv:移动或更名mvfile1file2mvfile1~/file2ln:创建链接文件ln源文件链接名ln–s源文件链接名硬链接与符号链接,硬链接只能存在于同一文件系统,符号链接可以存在于不同文件系统;硬链接:一份档案两个名称,符号链接:一个特殊的档案,其内容指向另一个档案的位置。31精选2021版课件32§1.2Linux编程环境Linux的基本操作挂装和卸载文件系统挂装:mount[options]devicedirectorysudomount-oro/dev/hda3/mnt/disk_3sudomount–tiso9660/dev/cdrom/mnt/cdromsudomount–tiso9660–oloop/img/cd_1.iso/mnt/vcdromsudomount-a卸载:umount[-f]directoryumount/mnt/vcdromumount–l/mnt/disk_332精选2021版课件33§1.2Linux编程环境Linux的基本操作查看文件系统的使用情况df:显示当前所有文件系

温馨提示

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

评论

0/150

提交评论