




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1990 年,Linus Torvalds 首次接触 Minix; 1991 年,Linus Torvalds 开始在 Minix 上编写各种驱动程序等操作系统内核组件; 1991 年,Linus Torvalds 公开了 Linux 内核; 1993 年,Linux1.0 版发行,Linux 转向 GPL 版权协议; 1994 年,Linux 的第一个商业发行版 Slackware 问世; 1996 年,美国国家标准技术局的计算机系统实验室确认 Linux 版本 1.2.13 符合 POSIX 标准; 1999 年,Linux 的简体中文发行版相继问世; 2001 年,Linux2.4 版内核发布; 2003 年,Linux2.6 版内核发布。 2011 年, Linux3.0 版内核发布 2015 年, Linux4.0 版内核发布 GNOME(GNU 网络对象模型环境 (The GNU Network Object Model Environment),GNU 计划 的一部分) Linux 的发展离不开 GNU(GNU 在英文中原意为非洲牛羚,这里是 GNU is Not Unix 的 递归缩写) ,GNU 计划又称革奴计划, 是由 Richard Stallman 在 1983 年 9 月 27 日公开发起的, 它的目标是创建一套完全自由的操作系统。 GNU 计划开发出了许多高质量的免费软件,如:GCC、GDB、Bash Shell 等,这些软 件为 Linux 的开发创造了基本的环境,是 Linux 发展的重要基础,因此,严格来讲,Linux 应 该被称为 GNU/Linux。 为保证 GNU 软件可以自由地“使用、复制、修改和发布”,所有 GNU 软件都在一 份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU 通用公共 许可证(GNU General Public License,GPL)。这个就是被称为“反版权”(或称 Copyleft) 的概念。 GNU 包含 3 个协议条款,它们是: GPL:GNU 通用公共许可证(GNU General Public License) LGPL: GNU 较宽松公共许可证 (GNU Lesser General Public License) , 旧称 GNU Library General Public License (GNU 库通用公共许可证); GFDL:GNU 自由文档许可证(GNU Free Documentation License )的缩写形式。 POSIX 表示可移植操作系统接口(Portable Operating System Interface ,POSIX )。 电气和电子工程师协会(Institute of Electrical and Electronics Engineers,IEEE)最初 开发 POSIX 标准,是为了提高 UNIX 环境下应用程序的可移植性。然而,POSIX 并不局限 于 UNIX。 1.3.1Linux 的特性 1 多任务、 多用户 2 支持多种文件系统 3 采用虚拟内存管理技术 4 良好的可移植性 6 丰 富的网络功能 7提供全部源代码 1.3.1Linux 的特性 1多任务、 多用户 2 支持多种文件系统 3 采用虚拟内存管理技术 4 良好的可移植性 5 设 备独立性 6丰富的网络功能 7提供全部源代码 Linux 系统大致可分为 3 层: 靠近硬件的底层是内核, 即 Linux 操作系统的常驻内存部 分;中间层是内核之外的 Shell 层,亦即操作系统的系统程序部分;最高层是应用层,即用 户程序部分,包括各种文本处理程序、语言编译程序及游戏程序等。 Linux 系统的核心框图 Linux 文件系统采用带链接的树形结构。即只有一个根目录(通常用“/”表示), 其中含有下级子目录或文件的信息; 子目录中又可含有下级的子目录或者文件的信息, 这样一层一层地延伸下去,构成一棵倒置的树. /bin :存放诸如 ls,mv,rm,tar 等常用执行文件的地方。有时这个目录的内容与/usr/bin 一样, 是专门用于放置一般用户使用的执行程序 /boot :存放 Linux 核心与启动相关文件的地方,目录下 vmlinuz-xxx 是 linux 的内核,启动 管理程序在/boot/grub 目录下。 /dev:目录中包含了所有 linux 系统中使用的外部设备。但是这里并不是放的外部设备的驱 动程序。 /etc : etc 这个目录是 linux 系统中最重要的目录之一。 在这个目录下存放了系统管理时要用 到的各种配置文件和子目录。我们要用到的网络配置文件,文件系统,x 系统配置文件,设 备配置信息,设置用户信息等都在这个目录下。 /sbin :这个目录是用来存放系统管理员的系统管理程序。 /home :如果建立一个用户,用户名是“jl”,那么在/home 目录下就有一个对应的/home/jl 路径,用来存放用户的主目录。 /lib :lib 是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所 有的应用程序都会用到这个目录下的共享库。 /mnt :这个目录在一般情况下也是空的。可以临时将别的文件系统挂在这个目录下。 /proc :可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。 /root :如果用户是以超级用户的身份登录的,这个就是超级用户的主目录。 /tmp :用来存放不同程序执行时产生的临时文件。 /usr :类似于 window 下的 program file 目录。 Linux 系统可以在两种环境下操作:一种是在 X Window 的桌面环境下操作,它与 Microsoft Windows 环境下的操作十分相似;另一种是在控制台的字符屏幕下操作,它通过 键盘输入命令来实现对系统的操作。 关于 shell shell 是一种命令行解释程序(Command-Language Interpreter),负责用户和操作系统的沟通。 2、退出系统 当完成工作后,需要从系统中退出。退出系统的过程很简单,在$提示符出现后,输 入 logout 命令,然后按下【Enter】键或同时按下【Ctrl】和【D】键,屏幕上会再次出现 login: 表示已经从系统中退出。如果想再次进入系统,必须重新登录。 3、控制台切换 Ctril+Alt+Fx(x 为 17) 4、切换用户 su su username 关机命令: (sudo)halt (sudo) shutdown h now 常用指令: 1、询问当前日期和时间: date +y%/%m/%d:显示时间日期 cal month year:显示日历 2、询问当前用户:who who 命令可列出当前每一个处在系统中的用户的登录名、终端名和登录进入时间。 3、显示当前目录路径名:pwd 绝对路径:路径的写法一定是从根目录“/”写起的路径 相对路径:路径的写法不是从根目录写起的路径 4、变换当前目录:cd :回到上层目录 .:当前目录 :回到个人的主目录 5、显示文件名称、属性等:ls ls -al -a :列出所有文件(连同隐藏文件) -l :详细列出,连同文件的大小、属性数据等 改变文件的权限(chgrp,chown,chmod) chmod 1、数字类型改变文件权限 r:4 w:2 x:1 将同组数字相加 2、以符号形式改变文件权限 chmodu+(加加 入入) r文件或目文件或目 录录 g-(除除 去去) w o=(设设 定定) x a 例如:chmod777hello.c chmod u=rwx,og=rx hello.c 建立和删除目录 mkdir 目录名称 rmdir 目录名称 关于后缀名 *.bz2 :bzip2 程序压缩的文件 *.gz :gzip 程序压缩的文件夹 *.tar :tar 程序打包的数据,没有经过压缩 *.tar.gz :tar 程序打包的文件,且经过 gzip 压缩 tar tar 可以对文件和目录进行打包。利用 tar,用户可以对某一特定文件进行打包(一 般用作备份文件),也可以在包中改变文件,或者向包中加入新的文件。 命令格式:tar -zxcvffilename -z :同时具有 gzip 功能 -x :解开一个档案文件 -t :查看 tarfile 里面的文件 -c :建立一个档案文件 -v :过程中显示文件 -f :使用文件名 ifconfig 格式:ifconfig 选项 网络接口 ifconfig eth0 192.168.0.1 配置网卡 eth0 的 ip 地址为 192.168.0.1 ifconfig eth0 down 暂停网卡 eth0 的工作 ifconfig eth0 up 恢复暂停网卡 eth0 的工作 挂载 mount t ext2 /dev/hda1 /mnt mount t nfs 192.168.1.1:/sharedir /mnt umount /mnt Linux 下文字颜色表示的文件类型: 蓝色:目录 白色:一般性文件(文本文件,配置文件,源码文件) 浅蓝色:链接文件 绿色:可执行文件/程序 红色:压缩文件或包文件 vi 编辑器是一个命令行编辑器,有四种基本的工作模式:正常模式(Normal mode)、 插入模式(Insert mode)、命令行模式(Command-line mode)和可视模式(Visual mode)。 正常模式:缺省模式,控制屏幕光标的移动,字条的删除,移动复制区段 插入模式:只有在该模式下,才可以做文字的编辑工作。 命令行模式:用于较长,较复杂的命令。按“:”,“/”“?”进行输入,输入的命令要按回 车才算结束 可视模式:用于选定文字块的。 命令行模式功能键 yy:复制当前光标所在行 n:yy 复制当前光标开始的 n 行 p:粘贴复制的内容到光标所在行 dd:删除当前光标所在行 ndd:删除当前光标开始的 n 行 /name:查找光标之后的名为“name”的字符串 G:光标移动到文件尾 u:取消前一个动作 GNU CC(简称为 gcc)是 GNU 项目中符合 ANSI C 标准的编译系统,能够编译用 C、C+和 Object C 等语言编写的程序。gcc 不仅功能强大,而且可以编译如 C、C+、Object C、Java、 Fortran、Pascal、Modula-3 和 Ada 等多种语言,而且 gcc 又是一个交叉平台编译器,支持的 硬件平台很多,如 alpha、arm、avr、hppa、i386、m68k、mips、powerpc、sparc、vxworks、 x86_64、MS Windows、OS/2 等等。它能够在当前 CPU 平台上为多种不同体系结构的硬件平 台开发软件,因此尤其适合在嵌入式领域的开发编译。 gcc 的编译流程分为了 4 个步骤,分别为: 预处理(Pre-Processing) 编译(Compiling) 汇编(Assembling) 链接(Linking) 预处理阶段 处理的主要作用是通过预处理的内建功能对一些可预处理资源进行等价替换, 最常见的可预 处理资源有:文件包含、条件编译、布局控制和宏处理等。 gcc 的选项“-E”可以使编译器在预处理结束时就停止编译,选项“-o”是指定 GCC 输出的 结果,其命令格式为如下所示。 gcc E o 目标文件 编译文件 例如: $ gcc E o hello.i hello.c 编译阶段 编译器在预处理结束之后,gcc 首先要检查代码的规范性、是否有语法错误等,以确定代码 的实际要做的工作,在检查无误后,就开始把代码翻译成汇编语言,gcc 的选项“-S”能使 编译器在进行汇编之前就停止。 由前可知,“.s”是汇编语言原始程序,因此,此处的目标文件就可设为“.s”类型。 $ gcc S o hello.s hello.i 汇编阶段 汇编阶段是把编译阶段生成的“.s”文件生成目标文件,读者在此使用选项“-c”就可看到 汇编代码已转化为“.o”的二进制目标代码了。如下所示。 $ gcc c o hello.o hello.s 链接阶段。 完成了链接之后,gcc 就可以生成可执行文件,其命令如下所示。 $ gcc o hello hello.o 运行该可执行文件,出现正确的结果。 $ ./hello hello, embedded world :5 GDB 是 GNU 开源组织发布的一个强大的 Linux 下的程序调试工具,它是一种强大的命令行 调试工具。一个合格的调试器需要有以下几项基本功能。 能够运行程序,设置所有能影响程序运行的参数。 能够让程序让指定的条件下停止。 能够在程序停止时检查所有参数的情况。 能够根据指定条件改变程序的运行。 查看断点处情况 info b 删除断点 d 断点编号 运行代码 r 查看变量值 p 单步运行 n/s 恢复程序运行 c 观察变量 watch finish 运行程序,直到函数结束 8.2.1 什么是 shell Linux 系统的 Shell 作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令 语言、命令解释程序及程序设计语言的统称。Shell 是用户和操作系统之间最主要接口。通 过 Shell,可以同时在后台运行多个应用程序,并且在把需要与用户交互的程序放在前台运 行。 用户、Shell 以及与 Linux操作系统内核的关系如下图所示。 1. Shell 称为命令解释器 负责用户和操作系统之间的沟通, 把用户下达的命令解释给系统去执行, 并将系 统传回的信息再次解释给用户,所以,它拥有自己内建的 Shell 命令集,也能被系统中其他 应用程序调用。 2. Shell 还是一种高级程序设计语言 它有变量、关键字,有各种控制语句,如 if、case、while、for 等语句,通过在 多条命令的序列中使用变量和流程控制,有自己的语法结构。利用 Shell 程序设计语言可以 编写出功能强大的代码程序。 、Shell 有很多种 Shell 有很多种,如:csh,tcsh,pdksh, ash, sash, zsh,bash 等。 Linux的缺省Shell为bash(Bourne Again Shell)。 其中最常见的是Bourne Shell (sh) 、 C Shell(csh)和 Korn Shell(ksh)。 )Bourne Shell 是 Unix 最初始的 Shell,并且在每种 Unix 上都可以使用。Bourne Shell 在 Shell 编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种 Shell。 )Bash(Bourne Again Shell)是 Bourne Shell 的扩展,与 Bourne Shell 完全向下兼容, 并且增加了许多特性。它还包含了很多 C Shell 和 Korn Shell 中的优点,有灵活和强大的编程 接口,同时又有很友好的用户界面。 Bash 是大多数是大多数 Linux 系统的默认系统的默认 Shell。Bash 有以下的优点:有以下的优点: 1)补全命令 在 Bash 命令提示符下输入命令或程序名时, 若没有输全命令或程序名, 按 “Tab” 键,Bash 将自动补全命令或程序名。 2)通配符 在 Bash 下可以使用通配符“*”和“?”。“*”可以替代多个字符,而“?” 则替代一个字符。 3)历史命令 Bash 能自动跟踪用户每次输入的命令,并把输入的命令保存在历史列表缓冲 区中。 4)别名 在 Bash 下,可用 alias 和 unalias 命令给命令或可执行程序起别名和删除别名, 这样就可以用自己习惯的方式输入命令。 5)输入/输出重定向。 输入重定向用于改变命令的输入, 输出重定向用于改变命令的输出系统默认的输 入为键盘、输出为显示器 ,输入/输出重定向可以改变输入输出。 6)管道 管道用于将一系列的命令连接起来, 也就是把前面命令的输出作为后面命令的输 入。管道的命令是“|”。 8.2.2Shell 脚本编程 由于 Shell 擅长系统管理任务,所以用户可以通过使用 Shell 使大量的任务自动 化,就象使用 DOS 操作系统的过程当中,会执行一些重复性的命令,将这些大量的重复性 的命令写成批处理命令,通过执行这个批处理命令来代替执行重复性的命令。在 Linux 系统 中也有类似的批处理命令,被称为 Shell 脚本。 2.Shell 变量 Shell 脚本中主要有系统变量、环境变量和用户变量,其中用户变量在编程过 程中使用较多, 系统变量在对参数判断和命令返回值判断会使用, 环境变量主要是在程序运 行的时候需要设置,由于是解释型的,所以变量不必事先对它进行定义。 1)常用的环境变量 在用户登录过程中系统要做的一件事就是建立用户环境,就是 Shell 下的控制 及设置,包括文件搜索路径、用户目录和系统提示符等。Linux(Shell)环境由许多变量和 这些变量的值组成,通过设置这些环境变量来控制用户环境。 4.shell 脚本的执行 执行 shell 脚本的方式基本上有下述三种。 1)设置好脚本的执行权限之后在执行脚本。可以用下面的方式设置脚本的权限: (1)chmod u+x scriptname 只有自己可以执行,其他人不能执行。 (2)chmod ug+x scriptname 只有自己以及同一群可以执行,其他人不能执行。 (3)chmod +x scriptname 所有人不能执行。 2.管道和命令表 在 shell 中有两种结构类型:管道线和命令表。当 shell 检测到一个管道操作符时, 就建立一个系统管道文件, 这是一个先进先出的数据结构, 它允许在同一时刻对管道线上的 命令或程序进行读和写,即允许两个无关的命令通过管道连接交换信息。 1) 管道的概念 管道: 一个命令的标准输出与另一个命令的标准输入之间的连接, 不经过任何中 间文件; 管道线:由管道操作符分隔的一个命令序列,最简单的管道线是一个简单命令; 管道操作符:用符号“|”表示。 1.GNU make 1) GNU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育机构转校协议书
- 男女交往协议书模板
- 门面经营合伙协议书
- 装修施工股东协议书
- 塔吊施工安全协议书
- 签约公司协议书范本
- 生前财产分割协议书
- 上门出诊换药协议书
- 民营医院暗股协议书
- 入境中介服务协议书
- 消防演练课件教学课件
- 桂圆(2023年广东中考语文试卷记叙文阅读题及答案)
- 2024年物联网安装调试员(高级工)职业资格鉴定考试题库(含答案)
- 2024年中考道德与法治时政热点复习:“人工智能”(含练习题及答案)
- 剑门关研学作文500
- 《民航客舱设备操作与管理》课件-项目四 飞机舱门及撤离滑梯
- 【年产100吨β-葡萄糖苷酶生产工艺设计17000字(论文)】
- 20S805-1 雨水调蓄设施-钢筋混凝土雨水调蓄池
- 九师联盟2024年高二下学期期中学业水平测试数学试卷
- 手术室护理腹腔镜疝修补术
- 电网同期线损培训课件
评论
0/150
提交评论