《嵌入式Linux开发实践教程第2版》课件汇 上 平震宇 认识嵌入式系统开发-在疯狂的时代把握未来_第1页
《嵌入式Linux开发实践教程第2版》课件汇 上 平震宇 认识嵌入式系统开发-在疯狂的时代把握未来_第2页
《嵌入式Linux开发实践教程第2版》课件汇 上 平震宇 认识嵌入式系统开发-在疯狂的时代把握未来_第3页
《嵌入式Linux开发实践教程第2版》课件汇 上 平震宇 认识嵌入式系统开发-在疯狂的时代把握未来_第4页
《嵌入式Linux开发实践教程第2版》课件汇 上 平震宇 认识嵌入式系统开发-在疯狂的时代把握未来_第5页
已阅读5页,还剩367页未读 继续免费阅读

下载本文档

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

文档简介

认识嵌入式系统什么是嵌入式系统别动,你已经被嵌入式设备包围了

我们生活已经处处可见嵌入式系统,医疗电子、智能家居、物流管理、电力控制,所有带数字接口和程序控制的设备,如电子手表、数码相机、汽车、飞机、卫星都离不开嵌入式系统什么是嵌入式系统嵌入式系统(Embeddedsystem),是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

如果这个世界没有嵌入式系统如果这个世界没有嵌入式系统如果这个世界没有嵌入式系统如果这个世界没有嵌入式系统如果这个世界没有嵌入式系统如果这个世界没有嵌入式系统如果这个世界没有嵌入式系统嵌入式系统应用智能消费电子网络与通信系统医疗设备信息家电及家庭智能管理工业控制领域环境工程汽车电子领域机器人嵌入式系统应用智能消费电子嵌入式系统最为成功的应用是在智能设备中的应用

嵌入式系统应用智能家电及智能家居电视机、冰箱、微波炉、电话等都需要嵌入式系统,与Internet联接,转变为智能网络家电。

嵌入式系统应用嵌入式系统应用工业控制如工业过程控制、数字机床、电力系统、电网安全、电网设备监测、石油化工系统。就传统的工业控制产品而言,低端型采用的往往是8位单片机。但是随着技术的发展,32位、64位的处理器逐渐成为工业控制设备的核心,在未来几年内必将获得长足的发展。

嵌入式系统应用汽车电子领域汽车电子近年来也有了较快的发展,在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用。

医疗设备

机器人

Google自动驾驶

嵌入式系统结构嵌入式系统构成嵌入式系统与传统的计算机一样是一种由硬件和软件组成的计算机系统。硬件包括了嵌入式微控制器和微处理器,以及一些外围元器件和外部设备。软件包括嵌入式操作系统和应用软件。硬件层硬件层主要包含了嵌入式系统中必要的硬件设备:嵌入式微处理器、存储器(SDRAM、ROM等)、设备IO接口等。

中间层中间层为硬件层与系统软件层之间的部分,有时也称为硬件抽象层(HardwareAbstractLayer,HAL)或者板级支持包(BoardSupportPackage,BSP)

系统软件层系统软件层由实时多任务操作系统(Real-timeOperationSystem,RTOS)、文件系统、图形用户界面接口(GraphicUserInterface,GUI)、网络系统及通用组件模块组成

应用软件层应用软件层则是开发设计人员在系统软件层的基础之上,根据需要实现的功能,结合系统的硬件环境所开发的应用软件

嵌入式系统特点人机交互界面时间和空间关键性和稳定性功能有限高可靠的稳定性嵌入式系统开发

Roadmap32015年全国日招聘总量239783工资收入水平3主要招聘的行业企业3嵌入式开发岗位嵌入式linux上层应用,包括QT的GUI开发嵌入式linux系统开发嵌入式linux驱动开发3不同层次的工程师需求学习线路1Linux入门2Linux应用开发Linux驱动Linux系统开发43C语言5C语言

重温C编程C语言的高级编程知识,包括函数与程序结构、指针、数组、常用算法、库函数的使用等知识

Linux入门Linux下的文件管理、用户管理、网络管理等命令VI编辑器Linux下的常用服务Linux应用开发GCC编译器,GDB调试器和Make项目管理工具

嵌入式开发环境搭建

Linux编程接口,包括进程、信号、文件I/O、BSDSocket等

QT编程

嵌入式linux系统开发ARM的架构,原理

移植bootloader

内核移植

文件系统移植

Linux驱动linux内核和内核编程

中断、DMA操作

用户态和内核态之间传递数据

字符设备字符设备字符设备块设备020103只看资料不动手参考资料太多今天学这、明天学那误区嵌入式处理器嵌入式处理器嵌入式微控制器(EMCU)嵌入式微控制器又称单片机,也就是在一块芯片中集成了整个计算机系统。代表性的通用系列有8051、P51XA、MCS-251、MCS-96/196/296、MC68HC05和C166/167等。嵌入式处理器嵌入式微处理器(EMPU)嵌入式微处理器是由通用计算机中的CPU演变而来的。它的特征是具有32位以上的处理器,具有较高的性能,当然其价格也相应较高。主要的嵌入式处理器类型有Am186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM/StrongARM系列等嵌入式处理器嵌入式数字信号处理器(EDSP)数字信号处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也快。最为广泛应用的是TI的TMS320C2000/C5000系列,另外如Intel的MCS-296和Siemens的TriCore也有各自的应用范围。嵌入式处理器嵌入式片上系统(ESOC)片上系统SOC则是在一个硅片上实现一个更为复杂的系统。各种处理器内核将作为SOC设计公司的标准库,成为VLSI设计中的一种标准器件,用标准的VHDL语言描述,存储在器件库中。比较典型的SOC产品是Philips的SmartXA。少数通用系列如Siemens的TriCore,Motorola的M-Core。嵌入式微处理器ARMARM芯片是嵌入式微处理器中的佼佼者,是很多数字电子产品的核心。如今95%的手机里面的核心处理器使用的都是ARM芯片,而ARM在整个手持市场上占有90%以上的份额。ARM公司的成功除了其卓越的芯片设计技术以外,还源于其创新的商业模式:提供技术许可的知识产权,而不是制造和销售实际的半导体芯片。嵌入式微处理器MIPSMIPSCPU是一种RISC结构的CPU,从生产专用集成电路核心(ASICCores)的厂家到生产低成本CPU的厂家,从低端64位处理器生产厂家到高端64位处理器生产厂家。嵌入式微处理器POWER是1991年,Apple、IBM、Motorola组成的AIM联盟所发展出的微处理器架构。PowerPC是整个AIM平台的一部分,并且是到目前为止唯一的一部分。PowerPC的历史可以追溯到早在1990年随RISCSystem/6000一起被介绍的IBMPOWER架构。该设计是从早期的RISC架构(比如IBM801)与MIPS架构的处理器得到灵感的。嵌入式微处理器Motorola68000Motorola68000(68K)是出现得比较早的一款嵌入式处理器,68K采用的是CISC结构。68K最初曾用在苹果二代上,比Intel的8088还要早。ARM微处理器ARM9处理器ARM9被广泛用于智能手机、PDA、机顶盒、PMP、电子玩具、数码相机、数码摄像机等产品解决方案,可为要求苛刻、成本敏感的嵌入式应用提供可靠的高性能和灵活性。丰富的DSP扩展使SoC设计不再需要单独的DSP。ARM微处理器ARM11处理器

ARM11处理器系列可用于当前生产领域中的大多数智能手机,还广泛用于消费、家庭和嵌入式应用领域。该处理器的功耗非常低,软件可以与以前所有ARM处理器兼容。ARM微处理器CortexA8处理器从高端特色手机到上网本、DTV、打印机和汽车信息娱乐,Cortex-A8处理器都提供了可靠的高性能解决方案。NEON技术主要应用于某些音频、视频和图形工作负荷可以减轻跨SoC支持多个专用加速器的负担,并且使系统可以支持将来的标准。

ARM微处理器CortexA9处理器Cortex-A9处理器的设计旨在打造最先进的、高效率的、长度动态可变的、多指令执行超标量体系结构,提供采用乱序猜测方式执行的8阶段管道处理器,凭借范围广泛的消费类、网络、企业和移动应用中的前沿产品所需的功能,它可以提供史无前例的高性能和高能效。

ARM微处理器CortexA15处理器CortexA15和CortexA9/A8同样采用了ARMv7-ACortex架构,处理器内核数量最多为4个,处理核心之间通过AMBA4技术互联支持一系列ISA,能够在不断下降的功耗、散热和成本预算基础上提供高度可扩展性解决方案,广泛适用于下一代智能手机、平板机、大屏幕移动计算设备、高端数字家庭娱乐终端、无线基站、企业基础架构产品等等

嵌入式操作系统从20世纪80年代开始,出现了各种各样的商业用嵌入式操作系统。这些操作系统大部分都是为专有系统而开发,从而形成了目前多种形式的商用嵌入式操作系统百家争鸣的局面。如Linux、VxWorks、pSOS、PalmOS和WindowsCE等。认识嵌入式操作系统Linux嵌入式Linux现在已经有许多的版本,包括强实时的嵌入式Linux(如新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux等)和一般的嵌入式Linux版本(如uCLinux和PocketLinux等)。认识嵌入式操作系统认识嵌入式操作系统VxWorks1984年WRS公司推出它的第一个版本VxWorks1.0.1,在1997年推出了VxWorks5.3.1。VxWorks是一个运行在目标机上的高性能、可裁减的嵌入式实时操作系统。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。认识嵌入式操作系统WinCEWindows

CE

的多线性、多任务、全优先的操作系统环境是专门针对资源有限而设计的。这种模块化设计使嵌入式系统开发者和应用开发者能够定做各种产品,例如家用电器、专门的工业控制器和嵌入式通信设备。Palm3COM公司的Palm操作系统在掌上电脑和PDA市场上占有很大的市场份额。它有开放的操作系统应用程序接口,开发商可以根据需要自行开发所需的应用程序。认识嵌入式操作系统认识嵌入式操作系统μC/OS-II由于μC/OS-II仅是一个实时内核,这就意味着它不像其他实时操作系统那样,它提供给用户的只是一些API函数接口,有很多工作往往需要用户自己去完成。把μC/OS-II移植到目标硬件平台上也只是系统设计工作的开始,后面还需要针对实际的应用需求对μC/OS-II进行功能扩展,包括底层的硬件驱动、文件系统和用户图形接口(GUI)等,从而建立一个实用的RTOS。eCoseCos(embeddedConfigurableoperatingsystem),中文翻译为嵌入式可配置操作系统或嵌入式可配置实时操作系统。适合于深度嵌入式应用,主要应用对象包括消费电子、电信、车载设备、手持设备以及其他一些低成本和便携式应用。认识嵌入式操作系统认识文件系统文件系统

linux下,一切皆文件Minix

扩展文件系统第二版(EXT2)常用的文件系统ext2swapvfatNFS目录结构Linux的文件系统采用阶层式的树状目录机构,在该结构中的最上层是根目录“/”,然后在根目录下再建立其它的目录。Linux中无论操作系统管理几个磁盘分区,这样的目录树只有一个。从结构上讲,各个磁盘分区上的树型目录不一定是并列的。目录结构/binbootetcuserVarsbintmpdevhomerootlibmnt链接文件:

用于不同目录下文件的共享目录文件:

用于表示和管理系统中的全部文件

Linux文件类型普通文件:

通常是流式文件管道(FIFO)文件

:

提供进程间通信的一种方式设备文件:

包括块设备文件和字符设备文件套接字(socket)

文件:

该文件类型与网络通信有关Linux文件类型普通文件:

通常是流式文件#ls-alinstall.log

-rw-r--r--1rootroot53K03-1608:54install.log

纯文本文件

二进制文件

数据文件链接文件:

用于不同目录下文件的共享目录文件:

用于表示和管理系统中的全部文件

Linux文件类型普通文件:

通常是流式文件#ls-alinstall.log

-rw-r--r--1rootroot53K03-1608:54install.log#ls–aldrwxr-xr-x2rootroot4.0K04-1910:53mydir#ls-alsetup.loglrwxrwxrwx1rootroot1104-1911:18setup.log->install.log3Linux文件类型管道(FIFO)文件

:

提供进程间通信的一种方式设备文件:

包括块设备文件和字符设备文件套接字(socket)

文件:

该文件类型与网络通信有关#ls-la/dev/ttycrw-rw-rw-1roottty5,004-1908:29/dev/ttyls-lh/var/lib/mysql/mysql.socksrwxrwxrwx1mysqlmysql004-1911:12/var/lib/mysql/mysql.sock分

区磁盘分区是使用分区编辑器(partitioneditor)在磁盘上划分几个逻辑部分,盘片一旦划分成数个分区(Partition),不同类的目录与文件可以存储进不同的分区。在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区。主分区是能够安装操作系统,能够进行计算机启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。分

区在Windows操作系统中,是先将物理地址分开,再在分区上建立目录。在Windows操作系统中,所有路径都是从盘符开始,如C:\programfile。Linux正好相反,是先有目录,再将物理地址映射到目录中。在Linux操作系统中,所有路径都是从根目录开始。分

区fdisk-l挂

载Linux下的分区需要挂载到目录后才能使用,挂载的意义就是把磁盘分区的内容放在某个目录下。这个把分区和目录对应的过程叫做挂载(Mount)而这个挂载在文件树中的位置就是挂载点。当要使用某个设备时,例如要读取硬盘中的一个格式化好的分区、光盘或软件等设备时,必须先把这些设备对应到某个目录上,而这个目录就称为“挂载点(mountpoint)”,这样才可以读取这些设备,

将物理分区细节屏蔽掉,用户只有统一的逻辑概念,所有的东西都是文件。认识文件系统文件系统Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux用户和程序看到的文件、目录、软连接及文件保护信息等都存储在其中。Linux最早的文件系统是Minix,但是专门为Linux设计的文件系统——扩展文件系统第二版(EXT2)被设计出来并添加到Linux中,这对Linux产生了重大影响。常用的文件系统ext2swapvfatNFS目录结构Linux的文件系统采用阶层式的树状目录机构,在该结构中的最上层是根目录“/”,然后在根目录下再建立其它的目录。Linux中无论操作系统管理几个磁盘分区,这样的目录树只有一个。从结构上讲,各个磁盘分区上的树型目录不一定是并列的。目录结构3链接文件:

用于不同目录下文件的共享目录文件:

用于表示和管理系统中的全部文件

Linux文件类型普通文件:

通常是流式文件#ls-lhinstall.log

-rw-r--r--1rootroot53K03-1608:54install.log#ls-lhdrwxr-xr-x2rootroot4.0K04-1910:53mydir#ls-lhsetup.loglrwxrwxrwx1rootroot1104-1911:18setup.log->install.log3Linux文件类型管道(FIFO)文件

:

提供进程间通信的一种方式设备文件:

包括块设备文件和字符设备文件套接字(socket)

文件:

该文件类型与网络通信有关#ls-la/dev/ttycrw-rw-rw-1roottty5,004-1908:29/dev/ttyls-lh/var/lib/mysql/mysql.socksrwxrwxrwx1mysqlmysql004-1911:12/var/lib/mysql/mysql.sock分

区在Windows操作系统中,是先将物理地址分开,再在分区上建立目录。在Windows操作系统中,所有路径都是从盘符开始,如C:\programfile。Linux正好相反,是先有目录,再将物理地址映射到目录中。在Linux操作系统中,所有路径都是从根目录开始。Linux默认可分为3个分区,分别是boot分区、swap分区和根分区。挂

载Linux下的分区需要挂载到目录后才能使用,挂载的意义就是把磁盘分区的内容放在某个目录下。这个把分区和目录对应的过程叫做挂载(Mount)而这个挂载在文件树中的位置就是挂载点。当要使用某个设备时,例如要读取硬盘中的一个格式化好的分区、光盘或软件等设备时,必须先把这些设备对应到某个目录上,而这个目录就称为“挂载点(mountpoint)”,这样才可以读取这些设备,

将物理分区细节屏蔽掉,用户只有统一的逻辑概念,所有的东西都是文件。SHELL使用技巧Shell环境Linux中的Shell是一个命令解析器,将用户命令解析为操作系统所能理解的指令,从而实现用户与操作系统的交互。Shell是内核的一个外层保护工具,并负责完成用户与内核之间的交互。自动补齐输入命令的前一个或者几个字母,按下Tab键系统就会自动补全命令。如果有多个可能的选择,再按一次Tab键就会列举出来。向上方向键,向后遍历输入的命令向下方向键,向前遍历“!n”

重复执行第n条历史命令“!!”重复执行上一条命令“!字串”重复执行最后一条以该字串开头的命令。命令行的历史记录可以使用

history

命令查看用户的所有历史操作,同时shell命令操作记录默认保存在用户目录的

.bash_history

文件中按

<CTRLr>后,Shell就进入向后增量搜索模式。选择相应命令后再按

<ENTER>键,上面的命令将再次执行。history用于显示历史记录和执行过的指令命令选项:-c:

清空历史命令-w:

把缓存中的历史命令写入历史命令保存文件

~/.bash_history3输出重定向输入重定向输出重定向stdin标准输入从终端设备输入内容stdout标准输出将内容输出到终端上stderr标准错误输出标准错误输出到终端上命令>文件

命令>>文件

命令>>文件1

2>>文件2

命令

&>>文件

命令

>>文件2>&1

编辑命令行13命令的任务调度当在终端里运行一个命令或开启一个程序时,终端要等到命令或程序运行完毕后,才能再被使用。gedit

&任务调度(jobbing)或后台(backgrounding),在命令后面添加一个&可以将当前运用任务或将命令置于后台,终端就立即解放可以接受新的输入。jobs13命令的排列控制字符(;、&&、||、&)来控制命令的执行方式&;&&||设置环境变量Shell环境Linux是一个多用户的操作系统,当用户登录系统后都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以通过修改相应的系统环境变量对自己的运行环境进行定制。环境变量(environmentvariables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。bash配置文件loginshell按顺序读取以下配置文件/etc/profile~/.bash_profile/etc/profile/etc/profile.d/*.sh/etc/locale.conf~/.bashrc/etc/bashrcbash配置文件13source配置文件名source:读入环境配置文件的命令环境变量更改后,在用户下次登陆时生效。如果想立刻生效,则可执行下面的语句source.bash_profile

或者

source~/.bashrcPATHHOMEUSERLOGNAME常用环境变量UIDSHELLTERMPWDMAILHISTSIZEHOSTNAME13PATH=$PATH:<PATH1>:<PATH2>:<PATH3>::<PATHN>PATH变量exportPATH=$PATH:/home/pingzhenyuecho$PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/arm/4.3.2/bin:/opt/Qt4.7/bin使用

export命令修改PATH变量修改用户主目录下的.profile或.bashrc文件修改系统目录下的profile文件13环境变量设置使用命令echo显示环境变量echo$HOME

使用export修改环境变量exportMYNAME=”mynameispingzhenyu”echo$MYNAME13环境变量设置使用env命令显示所有的环境变量使用set命令显示所有本地定义的Shell变量使用unset命令来清除环境变量unset(选项)(参数)

-f:仅删除函数; -v:仅删除变量。使用readonly命令设置只读变量readonly(选项)(参数)

-f:定义只读函数; -a:定义只读数组变量; -p:显示系统中全部只读变量列表。管理Linux文件文件相关命令

目录操作命令pwd、cd、ls、mkdir、du

文件操作命令touch、file、cp、rm、mv、which、find、ln

文件内容操作命令cat、more、less、

head、tail、wc、grep相对路径与绝对路径绝对路径由根目录/写起,例如:/usr/share/doc这个目录相对路径相对於目前工作目录的路径,不是由/写起,例如./home/test或../../home/test/等四个路径缩写..

上一层目录.

当前目录~home目录-

上一个工作目录usr/share/doc/usr/share/mancd./man目录操作命令

pwd命令用途:查看工作目录(PrintWorkingDirectory)

cd命令用途:切换工作目录(ChangeDirectory)格式:cd[目录位置]ls命令用途:列表(List)显示目录内容格式:ls[选项]...[目录或文件名]常用选项-l:以长格式显示-a:显示所有子目录和文件的信息,包括隐藏文件-d:显示目录本身的属性-A:类似于“-a”,但不显示“.”和“..”目录的信息-h:以更易读的字节单位(K、M等)显示信息-R:递归显示内容用途:创建新的目录(MakeDirectory)格式:mkdir[-p][/路径/]目录名mkdir命令用途:复制(Copy)文件或目录格式:cp[选项]...源…目标常用命令选项-a:保留链接、文件属性,并复制目录下的所有内容。-d:复制时保留链接。-f:覆盖已经存在的目标文件而不给出提示。-i:在覆盖目标文件之前给出提示。-p:把修改时间和访问权限也复制到新文件中。-r:复制该目录下所有的子目录和文件。-l:不复制文件,只是生成链接文件。cp命令用途:删除(Remove)文件或目录格式:rm[OPTION]...[FILE]...常用命令选项-f:强行删除文件或目录,不进行提醒-i:删除文件或目录时提醒用户确认-r:递归删除整个目录树rm命令用途:移动(Move)文件或目录格式:mv[OPTION]...[-T]SOURCEDESTmv[OPTION]...SOURCE...DIRECTORYmv[OPTION]...-tDIRECTORYSOURCE...mv命令常用命令选项-b:若需要覆盖文件,则覆盖前先行备份-f:

如果目标文件已存在,不会询问而直接覆盖-i:若目标文件已经存在时,就会询问是否覆盖。-t:--target–directory,即指定mv的目标目录文件操作命令

touch命令用途:新建文件或者更新文件更改时间

file命令用途:识别文件类型,也可用来辨别一些文件的编码格式用途:为文件或目录建立链接(Link)格式:ln

[OPTION]...[-T]

TARGETLINK_NAME

ln

[OPTION]...

TARGET ln

[OPTION]...

TARGET...

DIRECTORY ln

[OPTION]...

-tDIRECTORYTARGET...

ln命令硬链接符号链接(软链接)

硬链接以文件副本的形式存在,但不占用实际空间

不能对目录文件做硬链接

不能在不同的文件系统之间做硬链接

软链接软链接以路径的形式存在删除源文件,只删除了数据不会删除链接软链接可以跨文件系统软链接可以对目录进行链接用途:查找Linux命令文件并显示所在的位置格式:which[-a]filenamewhich命令用途:定位/返回与指定名字匹配的二进制文件、源文件和帮助手册文件所在的路径。格式:whereis

[-bmsu]

filename1

whereis命令用途:查找合乎范本样式条件的文档或目录。格式:locate[OPTION]...PATTERN...locate命令用途:用于查找文件或目录格式:find[查找范围][OPTION][搜索的内容]常用命令选项-name:按文件名称查找-size:按文件大小查找-time:按照修改时间搜索-perm:按文件权限搜索-type:按文件类型查找find命令问题作业文件内容操作命令用途:显示出文件的全部内容格式:cat[OPTION]...[FILE]...cat

命令用途:全屏方式分页显示文件内容格式:more[OPTION]...[FILE]...more命令用途:

less可以随意浏览文件格式:less[OPTION]...[FILE]...less命令用途:

比较文件的差异格式:diff[OPTION]...[FILES]...diff命令用途:

让用户利用设置修补文件的方式,修改,更新原始文件格式:patch[options][originalfile[patchfile]]patch命令内容管理命令

cat命令用途:显示出文件的全部内容

more命令用途:全屏方式分页显示文件内容交互操作方法:按Enter键向下逐行滚动按空格键向下翻一屏、按b键向上翻一屏按q键退出用途:与more命令相同,但扩展功能更多交互操作方法:与more命令基本类似,但个别操作会有些出入less命令

head命令用途:查看文件开头的一部分内容(默认为10行)格式:head-n文件名内容管理命令

wc命令用途:统计文件中的单词数量(WordCount)等信息格式:wc[选项]...目标文件...

tail命令用途:查看文件结尾的少部分内容(默认为10行)格式:tail-n文件名

tail-f文件名内容管理命令

grep命令用途:在文件中查找并显示包含指定字符串的行格式:grep[选项]...查找条件目标文件常用命令选项-i:查找时忽略大小写-v:反转查找,输出与查找条件不相符的行查找条件设置要查找的字符串以双引号括起来“^……”表示以……开头,“……$”表示以……结尾“^$”表示空行内容管理命令

diff命令用途:比较文件的差异格式:diff[选项]...条件1文件2常用命令选项-c:显示全部内文,并标出不同之处。b:不检查空格字符的不同。-r:

比较子目录中的文件。-s:

若没有发现任何差异,仍然显示信息。内容管理命令归档及压缩命令归档及压缩命令

.Zcompress程序压缩的文件;*.gzgzip程序压缩的文件;*.bz2bzip2程序压缩的文件;*.tartar程序打包的数据,并没有压缩过;*.tar.gztar程序打包的文件,其中并且经过gzip的压缩*.tar.bz2tar程序打包的文件,其中并且经过bzip2的压缩归档及压缩命令

gzip命令、bzip2命令用途:制作压缩文件、解开压缩文件格式:gzip[-9]文件名...bzip[-9]文件名...gzip-d.gz格式的压缩文件

bzip2-d*.bz2格式的压缩文件常用命令选项-9:表示高压缩比,多在创建压缩包时用-d:用于解开已经压缩过的文件归档及压缩命令

tar命令用途:制作归档文件、释放归档文件格式:tar[选项]...归档文件名源文件或目录

tar[选项]...归档文件名[-C目标目录]常用命令选项-c:创建.tar格式的包文件-x:解开.tar格式的包文件-v:输出详细信息-f:表示使用归档文件-p:打包时保留原始文件及目录的权限-t:列表查看包内的文件-C:解包时指定释放的目标文件夹-z:调用gzip程序进行压缩或解压-j:调用bzip2程序进行压缩或解压用户和文件权限文件所有者文件所有者(owner)文件所属的用户组(group)用户组外的其他人(others)用户账号的添加、删除与修改用户口令的管理用户组的管理用户和用户组管理用户帐号文件-passwdroot:x:0:0:root:/root:/bin/bashpingzhenyu:x:1000:1000:xUbuntu:/home/pingzhenyu:/bin/bash用户帐号的名称密码占位符“x”用户帐号的UID组帐号的GID用户全名用户home目录默认的Shell用户的密码信息-shadowroot:$6$F8i4hIiRT8eFlv9hArjOCoXFw75zGCJluhP.:17247:0:99999:7:::pingzhenyu:$1$181cwGeC$BIHt….:17247:0:99999:7:::用户帐号的名称加密的密码信息上次修改密码的时间密码的最短有效天数密码的最长有效天数用户组配置文件-grouproot:x:0:pingzhenyu:x:1000:组名组密码组ID(GID)组中的用户用途:创建一个新用户或更新默认新用户信息。格式:

useradd[options]LOGINuseradd命令常用命令选项-u:指定UID标记号-d:指定宿主目录,缺省为/home/用户名-e:指定帐号失效时间-g:指定用户的基本组名(或UID号)-G:指定用户的附加组名(或GID号)-M:不为用户建立并初始化宿主目录-s:指定用户的登录Shell用途:更改用户的密码格式:

passwd

[options]LOGINpasswd命令常用命令选项-d:清空用户的密码,使之无需密码即可登录-l:锁定用户帐号-S:查看用户帐号的状态(是否被锁定)-u:解锁用户帐号groupadd命令

用途:创建一个新的组格式:groupadd[options]groupgpasswd命令用途:设置组帐号密码(极少用)、添加/删除组成员格式:gpasswd[option]group用户帐号文件—passwd用于保存用户的帐号基本信息文件位置:/etc/passwd每一行对应一个用户的帐号记录root:x:0:0:root:/root:/bin/bashpingzhenyu:x:1000:1000:xUbuntu:/home/pingzhenyu:/bin/bash字段1:用户帐号的名称字段2:用户密码字串或者密码占位符“x”

字段3:用户帐号的UID号字段4:所属基本组帐号的GID号字段5:用户全名字段6:宿主目录字段7:登录Shell信息用户帐号文件—shadow用于保存密码字串、密码有效期等信息文件位置:/etc/shadow每一行对应一个用户的密码记录root:$6$F8i4hIiRT8eFlv9hArjOCoXFw75zGCJluhP.:17247:0:99999:7:::pingzhenyu:$1$181cwGeC$BIHtC7czVHqUg9/Kn8XF10:17247:0:99999:7:::字段1:用户帐号的名称字段2:加密的密码字串信息字段3:上次修改密码的时间字段4:密码的最短有效天数,默认值为0

字段5:密码的最长有效天数,默认值为99999用户帐号的初始配置文件~/.bash_profile:用户每次登录时执行~/.bashrc:每次进入新的Bash环境时执行~/.bash_logout:用户每次退出登录时执行主要的用户初始配置文件设置/更改用户口令常用命令选项-d:清空用户的密码,使之无需密码即可登录-l:锁定用户帐号-S:查看用户帐号的状态(是否被锁定)-u:解锁用户帐号

passwd命令格式:passwd[选项]...用户名删除用户帐号

userdel命令格式:userdel[-r]用户名添加-r选项时,表示连用户的宿主目录一并删除查看目录和文件的属性设置目录和文件的权限设置目录和文件的归属设置目录和文件的权限查看目录和文件的属性

[root@localhost~]#ls-linstall.log-rw-r--r--1rootroot3429804-0200:23install.log文件类型访问权限属主属组访问权限-rw-r--r--

文件类型文件所有者权限文件所属组权限其他用户权限文件类型文件类型说明-常规文件d目录文件bblockdevice即块设备文件ccharacterdevice即字符设备文件lsymboliclink即符号链接文件,又称软链接文件ppipe即命名管道文件ssocket即套接字文件,用于实现两个进程进行通信访问权限权限项读写执行读写执行读写执行字符表示rwxrwxrwx数字表示421421421权限分配文件所有者文件所属组其他用户-rw-r--r--

文件类型文件所有者权限文件所属组权限其他用户权限drwxr-xr-x-rw-r--r--chmod命令用途:修改文件或目录的权限格式:chmod[OPTION]

MODE...FILE..

文字法:chmod[who][operator][permission]<file-name>数字法:chmodxxx<file-name>

[who][OPR][PER]chmod

<file-name>

文字法ugoa+-=rwxchown命令用途:修改文件和目录的所有者和所属组格式:chown

[OPTION]...[OWNER]FILE..只需要修改所有者时:chown[-R]所有者文件或目录需要同时更改所有者和所属组:chown[-R]所有者:所属组文件或目录设置文件/目录的权限常用命令选项-R:递归修改指定目录下所有文件、子目录的权限

chmod[tʃ'məʊd]命令格式1:chmod[ugoa][+-=][rwx]文件或目录...u、g、o、a分别表示属主、属组、其他用户、所有用户

+、-、=分别表示增加、去除、设置权限对应的权限字符3位八进制数格式2:chmodnnn文件或目录...设置文件/目录的归属

chown[tʃəʊn]命令格式:chown属主文件或目录

chown:属组文件或目录

chown属主:属组文件或目录-R:递归修改指定目录下所有文件、子目录的归属实验案例建立用户目录创建目录/tech/iot、/tech/accp,分别用于不同项目组添加组帐号添加组帐号iot、accp,GID号分别设置为1001、1002

为技术部添加组帐号tech,GID号设置为200添加用户帐号

iot组的4个用户:jerry、kylin、tsengia、obama其中的kylin用户帐号在2009年8月31日后失效

accp组的2个用户:handy、cucci其中的cucci用户帐号的登录Shell设置为“/bin/ksh”

上述所有的用户帐号均要求加入到tech组内实验案例设置目录权限及归属“/tech”目录的属组设为tech,禁止其他人访问“/tech/benet”目录的属组设为benet,禁止其他人访问“/tech/accp”目录的属组设为accp,禁止其他人访问建立公共数据存储目录“/public”

允许技术组内的所有用户读取、写入、执行文件禁止其他用户读、写、执行管理磁盘和文件系统新增一个硬盘在系统里面新增一个硬盘时,应该有哪些动作需要做的呢:对磁盘进行分区,以创建可用的partition;对该partition进行格式化(format),以创建系统可用的filesystem;若想要仔细一点,则可对刚刚创建好的filesystem进行检验;在Linux系统上,需要创建挂载点(亦即是目录),并将他挂载上来;规划硬盘中的分区IDE\JumperMasterSlaveIDE1(Primary)/dev/hda/dev/hdbIDE2(Secondary)/dev/hdc/dev/hdd

IDE接口SATA接口SATA1插槽上的设备名:/dev/sdaSATA5插槽上的设备名:/dev/sdbU盘(启动完成后才被系统捉到):/dev/sdc确认系统中的磁盘设备fdisk命令格式:fdisk-l[磁盘设备]Disk/dev/sda:64.4GB,64424509440bytes255heads,63sectors/track,7832cylindersUnits=cylindersof16065*512=8225280bytesDeviceBootStartEndBlocksIdSystem/dev/sda1*11310439183Linux/dev/sda214783262806117+8eLinuxLVMDisk/dev/sdb:85.8GB,85899345920bytes255heads,63sectors/track,10443cylindersUnits=cylindersof16065*512=8225280bytesDisk/dev/sdbdoesn'tcontainavalidpartitiontableDevice:分区的设备文件名称。Boot:是否是引导分区,是则有“*”标识。Start:该分区在硬盘中的起始位置(柱面数)。End:该分区在硬盘中的结束位置(柱面数)。Blocks:分区的大小,以Blocks(块)为单位,默认的块大小为1024字节。Id:分区类型的ID标记号,对于EXT3分区为83,LVM分区为8e。System:分区类型规划硬盘中的分区fdisk命令用途:在交互式的操作环境中管理磁盘分区格式:fdisk[磁盘设备]规划硬盘中的分区常用命令d

deleteapartition注:这是删除一个分区的动作;

l

listknownpartitiontypes注:l是列出分区类型,以供我们设置相应分区的类型;

m

printthismenu注:m是列出帮助信息;

n

addanewpartition注:添加一个分区;

p

printthepartitiontable注:p列出分区表;

q

quitwithoutsavingchanges注:不保存退出;

t

changeapartition'ssystemid注:t改变分区类型;

w

writetabletodiskandexit注:把分区表写入硬盘并退出;

x

extrafunctionality(expertsonly)注:扩展应用,专家功能;规划硬盘中的分区硬盘最多可以分割成4个主分区或3个主分区+1个拓展分区拓展分区又可分成数个(没有限制,但总容量不得超过拓展分区大小)逻辑分区。代号的使用:以IDE0(第一个硬盘,设备名称为/dev/hda)为例来说明

主分区使用:hda[1-4](包含拓展分区在内)

逻辑分区使用:hda[5-~](请注意,逻辑分区一定由5开始计算)硬盘分区依照功能性的不同可分为主分区(Primary)、拓展分区(Extended)及逻辑分区(Logical)

三种规划硬盘中的分区分割推荐方案规划硬盘中的分区硬盘规划示例为主机新增一块20GB的SCSI硬盘对该硬盘进行分区:

划分2个主分区,各5GB,剩余空间作为扩展分区在扩展分区中建立2个逻辑分区,容量分别为2GB、8GB

将第1个逻辑分区的类型改为swap

确认分区设置情况,保存退出分区中创建文件系统用途:MakeFilesystem,创建文件系统(格式化)格式:mkfs-t文件系统类型分区设备mkfs命令ls/sbin/mkfs*/sbin/mkfs/sbin/mkfs.ext2/sbin/mkfs.msdos/sbin/mkfs.cramfs/sbin/mkfs.ext3/sbin/mkfs.vfat作为其他几个分区命令的前端工具,通过“-t...”选项指定文件系统类型挂载、卸载文件系统

mount命令用途:挂载文件系统、ISO镜像到指定文件夹格式:mount[-t类型

]存储设备挂载点目录

mount-oloopISO镜像文件挂载点目录

umount命令用途:卸载已挂载的文件系统格式:umount存储设备位置

umount挂载点目录设置文件系统的自动挂载

/etc/fstab配置文件包含了需要开机后自动挂载的文件系统记录[root@localhost~]#vi/etc/fstab/dev/VolGroup00/LogVol00/ext3defaults11LABEL=/boot/bootext3defaults12devpts/dev/ptsdevptsgid=5,mode=62000tmpfs/dev/shmtmpfsdefaults00proc/procprocdefaults00sysfs/syssysfsdefaults00/dev/VolGroup00/LogVol01swapswapdefaults00管理进程引导流程总览运行INIT进程

读取/etc/inittab配置文件执行/etc/rc.d/rc.sysinit脚本

执行/etc/rc.d/rc脚本初始化过程/etc/rc0.d/*/etc/rc1.d/*/etc/rc2.d/*/etc/rc3.d/*

/etc/rc4.d/*/etc/rc5.d/*/etc/rc6.d/*启动mingetty进程加载内核(kernel)开机自检(BIOS)MBR引导GRUB菜单

loginshell

进程配置文件/etc/rc.d/rc.sysinit由init进程调用执行完成设置网络、主机名、加载文件系统等初始化工作/etc/rc.d/rc脚本文件由init进程调用执行根据指定的运行级别,加载或终止相应的系统服务/etc/rc.local脚本文件由rc脚本调用执行保存用户定义的需开机后自动执行的命令查看进程信息用途:查看静态的进程统计信息格式:psauxps-elfps命令[root@localhost~]#psauxUSERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMANDroot10.00.32648604?SApr020:13init[3]root20.00.000?SNApr020:00[ksoftirqd/0]root30.00.000?S<Apr020:19[events/0]root40.00.000?S<Apr020:00[khelper]……查看进程信息

top命令用途:查看动态的进程排名信息[root@localhost~]#toptop-06:08:48up4days,6:57,1user,loadaverage:0.00,0.00,0.00Tasks:60total,1running,59sleeping,0stopped,0zombieCpu(s):0.3%us,0.7%sy,0.0%ni,97.4%id,0.4%wa,0.1%hi,1.1%siMem:191228ktotal,171424kused,19804kfree,19436kbuffersSwap:265064ktotal,1284kused,263780kfree,120480kcachedPIDUSERPRNIVIRTRESSHRS%CPU%MEMTIME+COMMAND6779root1602536832668R3.80.40:00.04top1root1602648604520S0.00.30:13.54init2root3419000S0.00.00:00.07ksoftirqd/0……进程的不同启动方式手工启动前台启动:用户输入命令,直接执行程序后台启动:在命令行尾加入“&”符号调度启动使用at命令,设置在某个特定的时间,执行一次任务使用crontab命令,设置按固定的周期(如每天、每周等)重复执行预先计划好的任务终止进程的运行

Ctrl+Z组合键中断正在执行的命令

kill、killall命令kill用于终止指定PID号的进程killall用于终止指定名称的所有进程-9选项用于强制终止网络管理查看网络接口信息查看所有活动网络接口的信息执行ifconfig查看指定网络接口信息查看格式:ifconfig网络接口名查看网络接口信息[root@localhost~]#ifconfigeth0Linkencap:以太网硬件地址00:0c:29:88:2c:40inet6地址:fe80::20c:29ff:fe88:2c40/64Scope:LinkUPBROADCASTRUNNINGMULTICASTMTU:1500跃点数:1

接收数据包:22错误:0丢弃:0过载:0帧数:0

发送数据包:25错误:0丢弃:0过载:0载波:0

碰撞:0发送队列长度:1000

接收字节:1320(1.3KB)发送字节:4827(4.8KB)

中断:19基本地址:0x2000loLinkencap:本地环回

inet地址:掩码:inet6地址:::1/128Scope:HostUPLOOPBACKRUNNINGMTU:65536跃点数:1

接收数据包:20错误:0丢弃:0过载:0帧数:0

发送数据包:20错误:0丢弃:0过载:0载波:0

碰撞:0发送队列长度:0

接收字节:1572(1.5KB)发送字节:1572(1.5KB)设置网络接口参数—ifconfig设置网络接口的ip地址、子网掩码格式:ifconfig接口名ip地址[netmask子网掩码]ifconfig网络接口ip地址[/掩码长度]禁用或者重新激活网卡格式:ifconfigupifconfigdown设置虚拟网络接口格式:ifconfig接口名:序号IP地址查看主机名称—hostname查看或设置当前主机名格式:hostnamehostname命令查看路由表条目—route

route命令查看或设置主机中路由表信息格式:route[-n]设置路由记录—route删除路由表中的默认网关记录格式:routedeldefaultgwIP地址向路由表中添加默认网关记录格式:routeadddefaultgwIP地址添加到指定网段的路由记录格式:routeadd-net网段地址查看网络连接情况—netstat

netstat命令查看系统的网络连接状态、路由表、接口统计等信息格式:netstat[选项]常用命令选项-a:显示所有活动连接-n:以数字形式显示-p:显示进程信息-t:查看TCP协议相关信息-u:查看UDP协议相关信息-r:显示路由表信息查看网络连接情况—netstat

[root@localhost~]#netstat|more激活Internet连接(w/o服务器)ProtoRecv-QSend-QLocalAddressForeignAddressState活跃的UNIX域套接字(w/o服务器)ProtoRefCntFlagsTypeStateI-Node路径unix17[]数据报7830/dev/logunix2[]数据报10068@�P:cunix3[]流已连接14288unix3[]流已连接14157@/tmp/dbus-gvgKEOQRiyunix3[]流已连接12835unix3[]流已连接12565unix3[]流已连接12925@/tmp/dbus-gvgKEOQRiyunix3[]流已连接12617/var/run/dbus/system_bus_socketunix3[]流已连接9382/var/run/dbus/system_bus_socketunix3[]流已连接14473@/tmp/dbus-gvgKEOQRiyunix3[]流已连接13203unix3[]流已连接14238netstat列出所有端口netstat-a显示当前TCP连接状况netstat-at显示UDP端口号的使用情况netstat-apupingtraceroute

ping命令测试网络连通性格式:ping[选项]目标主机traceroute命令测试从当前主机到目的主机之间经过的网络节点格式:traceroute目标主机地址设置网络参数的方式临时配置——使用命令调整网络参数简单、快速,可直接修改运行中的网络参数一般只适合在调试网络的过程中使用系统重启以后,所做的修改将会失效固定设置——通过配置文件修改网络参数修改各项网络参数的配置文件适合对服务器设置固定参数时使用需要重载网络服务或者重启以后才会生效网络接口配置文件/etc/network/interfaces/目录下的ifcfg-eth0:第1块以太网卡的配置文件ifcfg-eth1:第2块以太网卡的配置文件……主机名称配置文件

/etc/sysconfig/network文件用途:保存全局网络设置,主要包括主机名信息[root@localhost~]#vi/etc/sysconfig/networkNETWORKING=yesNETWORKING_IPV6=noHOSTNAME=pingzhenyu域名解析配置文件

/etc/resolv.conf文件用途:保存本机需要使用的DNS服务器的IP地址[root@localhost~]#vi/etc/resolv.confsearchlocaldomainnameserver0nameserver编辑工具vi文本编辑器文本编辑器的作用创建或修改文本文件维护Linux系统中的各种配置文件Linux中最常用的文本编辑器vi:类Unix系统中默认的文本编辑器vim:vi编辑器的增强版本,习惯上也称为vivi编辑器的工作模式三种工作模式设置命令模式、编辑模式、一般模式[root@localhost~]#vi文件名一般模式编辑模式命令模式:键a、i、o等键Esc键Esc键基本操作操作类型操作键功能光标方向移动

上、下、左、右翻页PageDown或Ctrl+F向下翻动一整页内容PageUp或Ctrl+B向上翻动一整页内容行内快速跳转Home键或“^”、数字“0”跳转至行首End键或“$”键跳转到行尾行间快速跳转1G或者gg跳转到文件的首行G跳转

温馨提示

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

评论

0/150

提交评论