嵌入式Linux操作系统第1章.ppt

上传人:max****ui 文档编号:12724567 上传时间:2020-05-19 格式:PPT 页数:109 大小:2.30MB
返回 下载 相关 举报
嵌入式Linux操作系统第1章.ppt_第1页
第1页 / 共109页
嵌入式Linux操作系统第1章.ppt_第2页
第2页 / 共109页
嵌入式Linux操作系统第1章.ppt_第3页
第3页 / 共109页
点击查看更多>>
资源描述
嵌入式Linux操作系统,嵌入式系统教研室张荣高,第一章嵌入式系统基础,1.4Linux目录结构及文件,Linux文件系统采用多级目录的树型层次结构管理文件,最上层是根目录,用表示。在根目录之下是各层目录和文件。每个目录和文件都有由多个字符组成的目录名或文件名。系统在运行中通过使用命令或系统调用进入任何一层目录,这时系统所处的目录称为当前目录。Linux使用两种方法来表示文件或目录的位置,绝对路径和相对路径。绝对路径是从根目录开始依次指出各层目录的名字,它们之间用“/”分隔,如/usr/include。相对路径是从当前目录开始,指定其下层各个文件及目录的方法,如系统当前目录为/usr,bin/cc。需要注意的是Linux文件系统区分大小写,并且Linux文件没有扩展名的概念。,1.4Linux目录结构及文件,Linux文件系统组件的体系结构,1.4Linux目录结构及文件,Linux支持多种文件系统,包括ext2、ext3、vfat、ntfs、iso9660、jffs、romfs和nfs等,为了对各类文件系统进行统一管理,Linux引入了虚拟文件系统VFS(VirtualFileSystem),为各类文件系统提供一个统一的操作界面和应用编程接口。,1.4Linux目录结构及文件,Linux的文件系统由两层结构组成。第一层是虚拟文件系统(VFS),第二层是各种不同的具体的文件系统。VFS就是把各种具体的文件系统的公共部分抽取出来,形成一个抽象层,是系统内核的一部分。它位于用户程序和具体的文件系统之间,对用户程序提供了标准的文件系统调用接口。对具体的文件系统,它通过一系列对不同文件系统公用的函数指针来调用具体的文件系统函数,完成实际的操作。任何使用文件系统的程序必须经过这层接口来使用它。通过这样的方式,VFS就对用户屏蔽了底层文件系统实现上的细节和差异。,1.4Linux目录结构及文件,VFS不仅可以对具体文件系统的数据结构进行抽象,以统一的方式进行管理,还可以接受用户层的系统调用,例如:write、open、stat、link等。此外,它还支持不同文件系统之间的相互访问,接受内核其他子系统的操作请求。VFS在Linux内核中的位置如图所示。,1.4Linux目录结构及文件,VFS的主要目的在于引入了一个通用文件模型(commonfilemodel),这个模型的核心是4个对象类型,即超级块对象(superblockobject)索引节点对象(inodeobject)文件对象(fileobject)目录项对象(dentryobject)它们都是内核空间中的数据结构,是VFS的核心,不管各种文件系统的具体格式是什么样的,都要和VFS的通用文件模型相交互。,1.4Linux目录结构及文件,1.4Linux目录结构及文件,1超级块对象超级块对象是用来描述整个文件系统的信息。VFS超级块是由各种具体的文件系统在安装时建立,只存在于内存中。包含以下主要信息:设备标识符。这是存储文件系统的物理块设备的设备标识符,如系统中第一个IDE磁盘/dev/hda1的标识符是0 x301。索引节点指针。安装索引节点指针指向被安装的子文件系统的第一个索引节点;覆盖索引节点指针指向安装文件系统目录(安装点)的索引节点。根文件系统的VFS超级块中没有覆盖索引节点指针。数据块大小。文件系统中数据块的字节数。超级块操作集。指向一组超级块操作例程的指针,VFS利用它们可以读写索引节点和超级块。文件系统类型。指向所安装的文件系统类型的指针。文件系统的特殊信息。指向文件系统所需要信息的指针,1.4Linux目录结构及文件,2索引节点对象Linux继承了UINX的文件管理方法,把文件名和文件控制信息分开管理,文件控制信息单独组成一个称为i节点(inode)的结构体,即索引节点。索引节点实质上是一个由系统管理的“目录项”。每个文件对应一个inode,它们有唯一的编号,称为inode号。Linux的目录项只由两部分组成:文件名和inode号,1.4Linux目录结构及文件,3目录项对象在VFS中,目录也属于文件。路径中的每个组成部分都由一个索引节点对象表示。VFS经常需要执行和目录相关的操作,VFS引入了目录项的概念。每一个文件除了有一个索引节点对象外,还有一个目录项dentry结构。dentry结构描述的是逻辑意义上的文件,描述其逻辑意义上的属性,因此目录项对象在磁盘上并没有对应的映像。dentry和inode所描述的目标不同,dentry结构代表的是逻辑意义上的文件,所描述的是文件逻辑上的属性,因此,目录项对象在磁盘上并没有对应的映像;而inode结构代表的是物理意义上的文件,记录的是物理上的属性dentry结构有个d_inode指针指向相应的inode结构,1.4Linux目录结构及文件,4文件对象文件对象是已打开的文件在内存中的表示,主要用于建立进程和磁盘上的文件的对应关系VFS中的文件对象用于表示进程已打开的文件。文件对象是由file结构体表示的,在includelinuxfs.h中实现,1.4Linux目录结构及文件,与进程联系的文件结构的关系示意图,1.4Linux目录结构及文件,1.4Linux目录结构及文件,Linux支持的常见的文件系统类型Linux缺省文件系统Ext3、Ext4其它UNIX使用的文件系统:minix,xiafs等DOS/Windows使用的文件系统:FAT16,FAT32,FAT64,NTFSCD-ROM使用的文件系统:ISO9660NFS(网络文件系统);SMBFS(Windows共享文件系统)嵌入式常用的文件系统:cramfs,JFFS2/proc(用于内核和进程信息),1.4Linux目录结构及文件,1.4Linux目录结构及文件,/,1.4Linux目录结构及文件,Linux目录结构说明/bin该目录中存放Linux的常用命令/boot该目录下存放的都是系统启动时要用到的程序/dev该目录包含了Linux系统中使用的所有外部设备,它实际上是访问这些外部设备的端口,你可以访问这些外部设备,与访问一个文件或一个目录没有区别/sbin该目录用来存放系统管理员的系统管理程序/usr用户应用程序和文件都存放在该目录下/etc该目录存放了系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统等。,1.4Linux目录结构及文件,Linux目录结构说明/home用来存放该用户的主目录/lib该目录用来存放系统动态连接共享库,几乎所有的应用程序都会用到该目录下的共享库/tmp用来存放不同程序执行时产生的临时文件/lost+found该目录在大多数情况下都是空的。但当突然停电、或者非正常关机后,有些文件就临时存放在这里。/mnt该目录在一般情况下也是空的,你可以临时将别的文件系统挂在该目录下,1.4Linux目录结构及文件,Linux目录结构说明/proc可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的/syssys文件系统/procproc文件系统/root超级用户的主目录,1.4Linux目录结构及文件,在Linux中,带有扩展名的文件,只能代表程序的关联,并不能说明文件是可以执行,从这方面来说,Linux的扩展名没有太大的意义,主要看文件的属性有关。普通文件:计算机用户和操作系统用于存放数据、程序等信息的文件。一般都长期地存放在外存储器(磁盘等)中。普通文件一般又分为文本文件和二进制文件。目录文件:是文件系统中一个目录所包含的目录项组成的文件。目录文件只允许系统进行修改。用户进程可以读取目录文件,但不能对它们进行修改。代表当前目录,表示父目录表示根目录,1.4Linux目录结构及文件,设备文件:用于为I/O设备提供连接的一种文件,分为字符设备文件和块设备文件,对应于字符设备和块设备。Linux把对设备的I/O做为普通文件的读取/写入操作内核提供了对设备处理和对文件处理的统一接口。每一种I/O设备对应一个设备文件,存放在/dev目录中,如行式打印机对应/dev/lp。链接文件:又称符号链接文件,它提供了共享文件的一种方法,在链接文件中不是通过文件名实现文件共享,是通过链接文件中含的指向文件的指针来实现对文件的访问。普通用户可以建立链接文件,并通过其指针所指向的文件。,1.4Linux目录结构及文件,管道文件:主要用于在进程间传递数据。管道是进程间传递数据的“媒介”。某进程数据写入管道的一端,另一个进程从管道另一端读取数据。Linux对管道的操作与文件操作相同,它把管道作为文件进行处理。管道文件又称先进先出(FIFO)文件。,1.4Linux目录结构及文件,文件属性在linux中,文件属性由十位标志组成第1位表示文件类型第2,3,4位表示文件属主权限(User)第5,6,7位表示文件属组权限(Group)第8,9,10位表示文件的其他用户权限(Other),rootlocalhost#ls-linstall.log-rw-r-r-1rootroot3429804-0200:23install.log,文件类型,属组,属主,访问权限,1.4Linux目录结构及文件,文件类型:-:表示普通文件d:表示目录b:表示块设备文件,通常用于存储设备,有缓冲区,用块传送数据c:表示字符设备文件,使用字符传送数据,如鼠标、喇叭、声卡l:表示软链接文件p:表示是FIFO管道文件,1.4Linux目录结构及文件,文件归属(所有权)属主:拥有该文件或目录的用户帐号属组:拥有该文件或目录的组帐号文件访问权限r:读取,允许查看文件内容、显示目录列表w:写入,允许修改文件内容,允许在目录中新建、移动、删除文件或子目录x:可执行,允许运行程序、切换目录,1.4Linux目录结构及文件,文件访问权限也可以用数字表示,1.5Linux常用操作命令,shell主提示符rootlocalhostroot#root表示当前用户名localhost是默认的主机名root表示当前目录根目录#表示当前用户是超级用户。对于普通用户来说,该位置出现的标示是$,1.5Linux常用操作命令,Linux命令用于实现某一类功能的指令或程序命令的执行依赖于解释器程序(例如:/bin/bash)Linux命令的分类内部命令:属于Shell解释器的一部分外部命令:独立于Shell解释器之外的程序文件,1.5Linux常用操作命令,Linux命令的通用命令格式命令字选项参数选项:用于调节命令的具体功能以“-”引导短格式选项(单个字符),例如“-l”以“-”引导长格式选项(多个字符),例如“-color”多个短格式选项可以写在一起,只用一个“-”引导,例如“-al”参数:命令操作的对象,如文件、目录名等,rootlocalhost#ls-l/home总计8drwx-2benetbenet409609-0808:50benet,1.5Linux常用操作命令,命令行编辑的几个辅助操作Tab键:自动补齐反斜杠:强制换行快捷键Ctrl+U:清空至行首快捷键Ctrl+K:清空至行尾快捷键Ctrl+L:清屏快捷键Ctrl+C:取消本次命令编辑上下箭头键和:可以翻找出前面曾经执行过的命令,避免重复的命令输入,1.5Linux常用操作命令,su命令su命令可以更改用户的身份如从超级用户root改到普通用户rain:#surain$(提示符变为$,表明现在是普通用户)$su(再改回到超级用户)Password:(键入超级用户root的密码,不显示字符)#(系统进行认证、处理,无误后显示提示符#),1.5Linux常用操作命令,内部命令help查看Bash内部命令的帮助信息命令的“-help”选项适用于大多数外部命令使用man命令阅读手册页使用“”、“”方向键滚动文本使用PageUp和PageDown键翻页按Q或q键退出阅读环境、按“/”键后查找内容使用info命令阅读信息页,1.5Linux常用操作命令,将命令的man手册页信息保存到文本文件,rootlocalhost#manls|col-blshelp.txt,col命令用于过滤文本中的一些特殊控制字符,管道:将前面命令的屏幕输出结果作为后面命令的处理对象(输入),重定向输出:将正常输出结果保存到“”号后边指定的文件中,1.5Linux常用操作命令,文件目录命令ls、cd、pwd、mkdir、rmdir、rm、cp、mvfind、ln、cat磁盘管理与维护命令fdisk、mount系统管理与设置命令shutdown、ps、kill网络命令ifconfig、ping压缩备份命令gzip、bzip2、tar,1.5Linux常用操作命令,根目录是一个特殊目录,用“/”表示。它是整个文件系统唯一的根,系统所有文件都在它及其下属的子目录中。用户在系统工作时,始终处在某个目录之中,此目录称作当前目录。用户可以通过改变当前目录来变换其在文件系统中的位置。当前目录用“.”表示。当前目录的父目录用“.”表示。每个目录(包括空目录)中都至少有“.”和“.”这两个隐含文件。但根目录中的“.”和“.”都是指其自身。用户刚登录到系统中时所处的目录称为主目录(homedirectory),系统默认的用户主目录是/home/user-id。其中,user-id是用户的登录名。例如:用户cherry的主目录是/home/cherry(root例外,它的主目录是/root)。主目录就是用户登录后的初始工作目录,用“”表示。用户对自己的主目录拥有全部权限,可以在其下任意组织自己的文件,1.5Linux常用操作命令,ls命令用途:列表(List)显示目录内容格式:ls选项.目录或文件名常用命令选项-l:以长格式显示-a:显示所有子目录和文件的信息,包括隐藏文件-d:显示目录本身的属性-A:类似于“-a”,但不显示“.”和“.”目录的信息-h:以更易读的字节单位(K、M等)显示信息-R:递归显示内容-color:以颜色区分不同类型文件,1.5Linux常用操作命令,rootlocalhost#lsinstall.log*install.loginstall.log.syslogrootlocalhost#ls-lhinstall.?-rw-r-r-1rootroot37K09-0816:46install.logrootlocalhost#ls-a.chewing.gnomeinstall.log.syslog.tcshrc.cshrc.gnome2.lesshst.Trash,rootlocalhost#aliasmyls=ls-alhrootlocalhost#myls/usr/src总计32Kdrwxr-xr-x4rootroot4.0K09-0816:40.drwxr-xr-x14rootroot4.0K09-0816:28.drwxr-xr-x3rootroot4.0K09-0816:33kernels,星号通配符,问号通配符,定义命令别名,1.5Linux常用操作命令,基本的通配符与匹配规则1问号?:匹配任意的单个字符。如模式“abc?”匹配所有以abc开始,后面是2个任意字符的字符串。2星号*:匹配0或多个任意字符(隐含文件的前缀“.”字符除外)。如模式“abc*”匹配所有以abc开始的字符串。模式“*abc”匹配所有以abc结尾的字符串,但不匹配“.abc”。3方括号:匹配方括号中列出的字符集合中的任何单个字符。方括号与问号相似,只匹配单个字符。不同的是,问号与任何一个字符匹配,而方括号只与括号内字符集合中的一个相匹配。字符集合的描述方法有以下几种,1.5Linux常用操作命令,列举:逐个列出各个字符,如abc表示由a、b、c三个字符构成的字符集合。范围:用“-”描述字符范围,如a-z表示由所有小写字母构成的集合。注意,范围内的字符按升序排列,因而z-a是无效的。可以指定多个范围,如A-Za-z表示所有英文字母。排除:用“!”排除字符,如!A-Z表示除大写字母之外的所有字符构成的字符集合。例如,模式“abc123”匹配所有以abc开始,后面是1、2或3的字符串;模式“abc0-9”匹配所有以abc开始,后面是一个数字的字符串;模式“abc!0-9”匹配所有以abc开始,后面是一个非数字字符的字符串。,1.5Linux常用操作命令,cd命令用途:切换工作目录(ChangeDirectory)格式:cd目录位置,rootlocalhost#cd/etc/httpdrootlocalhosthttpd#cdconfrootlocalhostconf#cdbenetrootlocalhostbenet#pwd/home/benetrootlocalhostzhangsan#ls-dl./jerrydrwx-2jerryjerry409609-1421:50./jerry,绝对路径,相对路径,相对路径,1.5Linux常用操作命令,pwd命令用途:查看工作目录(PrintWorkingDirectory),1.5Linux常用操作命令,mkdir命令用途:创建新的目录(MakeDirectory)格式:mkdir-p/路径/目录名,rootlocalhost#mkdir-pmydir/level1/level2rootlocalhost#ls-Rmydirmydir:level1mydir/level1:level2mydir/level1/level2:,1.5Linux常用操作命令,rmdir命令用途:删除目录格式:rmdir-p/路径/目录名若目录不空,则删除操作不能成功-p递归删除目录,即当子目录删除后其父目录为空时,也一同被删除。,1.5Linux常用操作命令,rm命令用途:删除(Remove)文件或目录格式:rm选项.文件或目录常用命令选项-f:强行删除文件或目录,不进行提醒-i:删除文件或目录时提醒用户确认-r:递归删除整个目录树,1.5Linux常用操作命令,cp命令用途:复制(Copy)文件或目录格式:cp选项.源文件或目录目标文件或目录常用命令选项-r:递归复制整个目录树-p:保持源文件的属性不变-f:强制覆盖目标同名文件或目录-i:需要覆盖文件或目录时进行提醒,1.5Linux常用操作命令,mv命令用途:移动(Move)文件或目录若如果目标位置与源位置相同,则相当于改名格式:mv选项.源文件或目录目标文件或目录,1.5Linux常用操作命令,find命令用途:用于查找文件或目录格式:find查找范围查找条件常用查找条件-name:按文件名称查找-size:按文件大小查找-user:按文件属主查找-type:按文件类型查找,1.5Linux常用操作命令,ln命令用途:为文件或目录建立链接(Link)格式:ln-s源文件或目录链接文件或目标目录常用命令选项-s:建立符号链接文件(省略此项则建立硬链接)关于链接文件符号链接:指向原始文件所在的路径,又称为软链接硬链接:指向原始文件对应的数据存储位置不能为目录建立硬链接文件硬链接与原始文件必须位于同一分区(文件系统)中,1.5Linux常用操作命令,cat命令用途:显示出文件的全部内容,rootlocalhost#cat/etc/host.conforderhosts,bindrootlocalhost#cat/etc/resolv.confsearchlocaldomainrootlocalhost#cat/etc/resolv.conf/etc/host.confsearchlocaldomainorderhosts,bind,1.5Linux常用操作命令,chmod命令格式1:chmodugoa+-=rwx文件或目录.,u、g、o、a分别表示属主、属组、其他用户、所有用户,+、-、=分别表示增加、去除、设置权限,对应的权限字符,3位八进制数,格式2:chmodnnn文件或目录.,常用命令选项-R:递归修改指定目录下所有文件、子目录的权限,1.5Linux常用操作命令,fdisk命令用途:在交互式的操作环境中管理磁盘分区格式:fdisk磁盘设备交互模式中的常用指令m:查看操作指令的帮助信息p:列表查看分区信息n:新建分区d:删除分区t:变更分区类型w:保存分区设置并退出q:放弃分区设置并退出,1.5Linux常用操作命令,fdisk命令格式:fdisk-l磁盘设备,rootlocalhost#fdisk-lDisk/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/sdbdoesntcontainavalidpartitiontable,新磁盘未包含有效的分区,1.5Linux常用操作命令,mount命令用途:挂载文件系统、ISO镜像到指定文件夹格式:mount-t类型存储设备挂载点目录mount-oloopISO镜像文件挂载点目录常用命令选项a:依照/etc/fstab的内容装载所有相关的文件系统和设备l:列出当前已挂载的设备、文件系统名称和挂载点t:类型将后面的设备以指定类型的文件格式装载到挂载点上。常见的类型有:vfat、ext3、ext2、iso9660、nfs等f:通常用于除错。它会使mount不执行实际挂上的动作,而是模拟整个挂上的过程,通常会和-v一起使用,硬盘分区、U盘、光盘设备等,1.5Linux常用操作命令,umount命令用途:卸载已挂载的文件系统格式:umount存储设备位置umount挂载点目录,1.5Linux常用操作命令,光盘驱动器设备文件/dev/cdrom挂载光盘使用mount命令#mount-tiso9660/dev/cdrom/media/cdrom/光盘内容的读取使用命令访问光盘挂载点目录#ls/media/cdrom/卸载光盘使用umount命令#umount/dev/cdrom,1.5Linux常用操作命令,弹出光盘驱动器托盘#eject收回光盘驱动器托盘#ejectt,1.5Linux常用操作命令,使用cp命令制作光盘镜像文件#cp/dev/cdrommydatacd.iso使用mount命令挂载光盘镜像文件#mount-oloop-tiso9660mydatacd.iso/media/cdrom/通过挂载点目录访问ISO镜像文件的内容#ls/media/cdrom/使用umount命令卸载光盘镜像文件#umount/media/cdrom/,1.5Linux常用操作命令,识别USB存储设备包括USB硬盘、U盘、MP3播放器等/dev/sda/dev/sdb#fdisk-l使用mount命令挂载U盘#mount-tvfat/dev/sda1/mnt/通过挂载点目录访问U盘的内容#ls/mnt使用umount命令卸载U盘#umount/mnt,1.5Linux常用操作命令,硬盘分区挂载、卸载示例建立挂载点目录:/mailbox挂载分区设备:/dev/sdb1访问分区设备:挂载点目录/mailbox中创建文件进行测试查看/mailbox目录中的内容查看已挂载分区的使用情况卸载分区设备:/dev/sdb1,1.5Linux常用操作命令,/etc/fstab配置文件包含了需要开机后自动挂载的文件系统记录,rootlocalhost#vi/etc/fstab/dev/VolGroup00/LogVol00/ext3defaults11LABEL=/boot/bootext3defaults12devpts/dev/ptsdevptsgid=5,mode=62000tmpfs/dev/shmtmpfsdefaults00proc/procprocdefaults00sysfs/syssysfsdefaults00/dev/VolGroup00/LogVol01swapswapdefaults00,设备位置,挂载点,文件系统类型,1.5Linux常用操作命令,设置自动挂载示例每次重新开机后,能够自动完成挂载将/dev/sdb1分区挂载到/mailbox目录,rootlocalhost#vi/etc/fstab/dev/sdb1/mailboxext3default00rootlocalhost#mount/dev/sdb1rootlocalhost#mount|tail-1/dev/sdb1on/mailboxtypeext3(rw)rootlocalhost#umount/mailbox,1.5Linux常用操作命令,ps命令用途:查看静态的进程统计信息格式:psauxps-elf常用命令选项a:显示当前终端下的所有进程信息u:使用以用户为主的格式输出进程信息x:显示当前用户在所有终端下的进程信息-e:显示系统内的所有进程信息-l:使用长格式显示进程信息-f:使用完整的格式显示进程信息,1.5Linux常用操作命令,rootlocalhost#psauxUSERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMANDroot10.00.32648604?SApr020:13init3root20.00.000?SNApr020:00ksoftirqd/0root30.00.000?SApr020:19events/0root40.00.000?SApr020:00khelper,1.5Linux常用操作命令,kill、killall命令kill用于终止指定PID号的进程killall用于终止指定名称的所有进程-9选项用于强制终止,rootlocalhost#pgrep-lportmap2869portmaprootlocalhost#kill-92869rootlocalhost#killall-9vim1-已杀死/usr/bin/vimfile12-已杀死/usr/bin/vimfile2,1.5Linux常用操作命令,ifconfig命令用途:查看和配置网络接口的参数格式:ifconfig选项网络接口ping命令用途:查看网络上的主机是否在工作格式:ping选项主机名/IP地址netstat命令用途:显示网络连接、路由表和网络接口信息格式:netstat-an,1.5Linux常用操作命令,tar命令用途:制作归档文件、释放归档文件格式:tar选项.归档文件名源文件或目录tar选项.归档文件名-C目标目录常用命令选项-c:创建.tar格式的包文件-x:解开.tar格式的包文件-v:输出详细信息-f:表示使用归档文件-p:打包时保留原始文件及目录的权限-t:列表查看包内的文件,1.5Linux常用操作命令,常用命令选项(续)-C:解包时指定释放的目标文件夹-z:调用gzip程序进行压缩或解压-j:调用bzip2程序进行压缩或解压,rootlocalhost#tarjcftest.tar.bz2/etc/httpd/tar:从成员名中删除开头的“/”rootlocalhost#ls-lhtest.tar.bz2-rw-r-r-1rootroot21K09-0901:19test.tar.bz2rootlocalhost#tarjxftest.tar.bz2-C/tmprootlocalhost#ls-ld/tmp/etc/httpd/drwxr-xr-x4rootroot409609-0816:37/tmp/etc/httpd/rootlocalhost#rm-rf/tmp/etc/,制作压缩包文件,释放压缩包文件,1.5Linux常用操作命令,gzip命令、bzip2命令用途:制作压缩文件、解开压缩文件格式:gzip-9文件名.bzip-9文件名.gzip-d.gz格式的压缩文件bzip2-d*.bz2格式的压缩文件常用命令选项-9:表示高压缩比,多在创建压缩包时用-d:用于解开已经压缩过的文件,1.5Linux常用操作命令,在Linux系统中,流行的软件安装包有两种一种是二进制发布的软件包rpm包tar包另一种是源代码发布的软件包。tar包、tar.gz包、tar.Z包、tar.bz2包,1.5Linux常用操作命令,rpm安装包的命名例:gzip-1.3.3-13.i386.rpmgzip是软件名称1.3.3是软件的版本号,格式通常为“主版本号.次版本号.修正版本号”主次版本号是项目中已经指定,标志着重要的变更。修正号表示小的功能变更或用来管理项目的分支。13是发布版本号。是指编译的次数,也就是说这个rpm包是第几次编译生成的。i386指软件包能在什么样的体系结构运行。rpm是rpm包类型的后缀。rpm包有rmp和src.rpm两种类型后缀。,1.5Linux常用操作命令,二进制发布的软件包二进制发布的软件包是指已经事先将应用系统编译成可执行的二进制形式,在安装时不需要用户重新编译。优点:安装和使用方便容易缺点:缺乏灵活性,只能运行在特定的硬件系统平台,不同的平台需要发布相应的二进制发布软件包。,1.5Linux常用操作命令,封装格式rpm包:RedHatlinux提供的一种包封装格式,扩展名一般为.rpm或.src.rpmdpkg包:DebainLinux提供的一种包封装格式,扩展名一般为.debtar包:直接用系统工具tar打包并使用gzip等压缩工具压缩而成,扩展名.tar、.tar.gz、tar.Z、tar.bz2等。只要将其打包文件解压后,应用程序就可以运行或者运行其提供的安装脚本就可以,非常方便。,1.5Linux常用操作命令,源代码发布的软件包源代码发布的软件可以根据用户系统的实际情况和自身需求来配置,并将源程序编译成可执行的二进制代码。优点:可控制性强,配置灵活,可以根据具体要求删除或增加功能,适应多种硬件平台缺点:安装复杂,容易出现各种错误。封装格式:一般装源程序和相关配置文件使用系统打包工具tar打包并使用gzip安装而成。扩展名一般为.tar、tar.gz、tar.Z、tar.bz2,1.5Linux常用操作命令,常见的软件包封装类型,1.5Linux常用操作命令,RPM全称是RedHatPackageManager(RedHat包管理器)。RPM本质上就是一个包,包含可以立即在特定机器体系结构上安装和运行的Linux软件。rpm的出现使得Linux中的应用软件安装、卸载、升级、验证、查询等操作变得非常简单。它记录了二进制软件包的内容、安装位置、软件包的描述信息、软件包之间的依赖关系等重要的信息。Linux常见的软件包可以在网站和ftp:/,1.5Linux常用操作命令,主要功能1.查询RPM软件、包文件的相关信息2.安装、升级、卸载RPM软件包3.维护RPM数据库信息,1.5Linux常用操作命令,rpm命令的使用RPM有5种基本操作模式:安装模式:rpmi安装选项升级模式:rpm-U升级选项删除模式:rpme查询模式:rpmq查询选项验证模式:rpmV或verify验证选项,1.5Linux常用操作命令,注释:rpm包中的i386、i586、i686:rpm包支持的体系结构有Intelx86(i386、i586、i686)、SunRISCSPARC(sparc)、Alpha(alpha)。Intelx86体系结构的i386指Intel80386以上的计算机i586指IntelPentium以上的计算机i686指IntelPentium2以上的计算机Intelx86体系结构指令集是向下兼容的,所以IntelPentium2以上的计算机可以运行i386平台的软件注意:还有一种noarch的rpm包,表示这个包与体系结构无关。可以通过/proc/cpuinfo来判断当前的体系结构,1.5Linux常用操作命令,1、安装rpm包-i表示进行安装操作-v表示报告每一步操作的情况-h表示使用hash”指示安装进度-replacepkgs系统中已经存在了软件包,那么如果再要强行安装时,可以使用这个参加来忽略错误-nodeps忽略检查软件之间的依赖关系,1.5Linux常用操作命令,1、安装rpm包例:rpm-izsh-4.0.7-1.i386.rpm基本安装rpm-ivhzsh-4.0.7-1.i386.rpm安装时显示安装过程rpm-ivh-noplacepkgszsh-4.0.7-1.i386.rpm软件已被安装,强行再次安装rpm-ivh-nodepsmysql-4.1.7-4.RHEL4.1.i386.rpm解决相互依赖问题,1.5Linux常用操作命令,2、升级rpm包:-U表示进行升级操作(软件的升级安装分为两步:一是卸载旧版本软件;二是安装新版本软件。为了保留用户对原软件的配置,软件的配置文件在升级过程中会保留)-F表示只升级系统中存在的软件(这个参数可以先检查系统中是否已经有了旧的版本,如果有就执行升级操作,如果没有,就跳过这个rpm包,继续处理下一个rpm包)例:rpm-Uvhzsh-4.0.7-1.i386.rpm要用zsh-4.0.7-1.i386.rpm升级旧版本的zsh软件rpm-Fvh*.rpm批量升级系统中的软件可以使用的命令,1.5Linux常用操作命令,3、降级rpm包:-oldpackage忽略错误信息,直接进行降级操作例:rpm-Uvh-oldpackagezsh-4.0.7-1.i386.rpm对zsh进行降级操作,1.5Linux常用操作命令,4、卸载rpm包:-e表示进行卸载操作-nodeps表示忽略检查依赖关系例:rpm-ezsh注意这里的软件名只是软件的名称,不包括软件的版本号rpm-e-nodepshttpd,1.5Linux常用操作命令,5、查询rpm包-q表示进行查询操作-i表示显示软件包的概要信息-l表示显示软件包中的文件列表-a表示查询所有已安装的rpm包-f表示根据文件进行相关的查询,1.5Linux常用操作命令,5、查询rpm包例:rpm-qgzip查询系统中是否已经安装gzip这个软件包rpm-qigzip查询gzip包的概要信息rpm-qlgzip查询gzip包有那些文件,并列出这些软件rpm-qa|grep“zip”查询系统中所有的安装包中是否包含有zip这个软件包rpm-qf/etc/ntp.conf查询/etc/ntp.conf这个文件属于那个rpm包,1.5Linux常用操作命令,6、校验rpm包-K表示检查软件包的完整性-nosignature表示不验证软件包的签名例:rpm-K-nosignaturezsh-4.0.7-1.i386.rpm校验zsh-4.0.7-1.i386.rpm文件包,但不校验签名,1.5Linux常用操作命令,1.5Linux常用操作命令,安装源代码发布软件包使用源代码安装软件,能按照用户的需要选择用户制定的安装方式进行安装,而不是仅仅依靠那些在安装包中的预置的参数选择进行安装,为用户安装软件带来了很大的灵活性。同时,目前还有许多软件仍然只使用源代码发布,所以掌握源代码发布软件包的安装方法就相当的重要。,1.5Linux常用操作命令,安装步骤:解包:tar解包、释放出源代码文件配置:./configure针对当前系统、软件环境,配置好安装参数编译:make将源代码文件变为二进制的可执行程序安装:makeinstall将编译好的程序文件复制到系统中,1.5Linux常用操作命令,1、解包解压缩:tar包:tarxvffilename.tar#这种安装包直接使用命令tar打包而成tar.gz包:tarzxvffilename.tar.gz#这种安装包使用tar命令打包加上gzip命令压缩而成,需要保证系统中安装了gzip软件tar.bz2包:tarjxvffilename.tar.bz2#这种安装包使用tar命令打包加上bzip2命令压缩而成,需要保证系统中安装了bzip2软件,1.5Linux常用操作命令,1、解包解压缩:习惯上将软件包释放到/usr/src/目录解包后的源代码文件位置:/usr/src/软件名-版本号/,rootlocalhost#tarzxvfaxel-1.0a.tar.gz-C/usr/src/rootlocalhost#ls/usr/src/axel-1.0a/APIaxelrc.exampleconfigureCREDITSguinl.potcp.caxel.1CHANGESconn.cde.pohttp.cREADMEtcp.haxel.cconf.cconn.hftp.chttp.hsearch.ctext.caxel.hconf.hCOPYINGftp.hMakefilesearch.h,configure执行脚本用于下一步的配置,README或INSTALL文件可提供安装方法,1.5Linux常用操作命令,2.配置需将工作目录切换到软件源码所在目录使用源码目录中的configure脚本执行“./configure-help”可以查看帮助典型的配置选项:-prefix=软件安装目录,rootlocalhost#cd/usr/src/axel-1.0arootlocalhostaxel-1.0a#./configure-prefix=/usr/local/axel,若不指定任何配置选项,将采用默认值,1.5Linux常用操作命令,在配置、编译、安装之前,进入到软件包解压后的目录,阅读软件相关说明文件,如Readme或者Install,了解安装的需求,配置参数以及注意事项等。configure命令是一个可执行脚本,首先检查当前系统是否有符合软件编译安装的相关环境(如是否有GNUC/C+编译器等),然后根据它从系统中读出各种所需的属性在当前目录生成Makefile文件供编译安装使用,1.5Linux常用操作命令,3.编译:makemake是Linux下常用的二进制程序和函数编译工具。make通过读取当前目录下文件Makefile的内容来自动完成编译工作。Makefile文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并连接生成可执行文件,并要求定义源文件之间的依赖关系,一般是由configure脚本来生成。对于一些小软件,也可能不需要运行configure脚本,软件已经自带了Makefile文件。4.安装:makeinstall5.清理临时文件:makeclean,1.5Linux常用操作命令,卸载源代码发布软件源代码发布软件会将文件分散安装在系统的多个目录中,往往很难删除。有些软件包的源代码在编译安装后可以在源程序目录中运行makeuninstall命令来进行卸载。如果不提供此功能,那么就得手动卸载。所以在安装软件时,如果能使用configure脚本的“-prefix”参数来指定安装目录名时,卸载软件可直接使用“rm-rf”直接删除即可。不过,最好参考软件的卸载部分的帮助信息,1.5Linux常用操作命令,1.没有安装C或C+编译器确诊方法:执行命令gcc(C+则为g+),提示找不到这个命令解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:#rpm-ivhgcc*2.没有安装make工具;确诊方法:执行命令make,提示找不到这个命令解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:#rpm-ivhmake*,1.5Linux常用操作命令,3.没有安装autoconf工具确诊方法:执行命令make,提示找不到这个命令解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:#rpm-ivhautoconf*4.缺少某些链接库确诊方法:在make时,提示需要某些文件解决方法:安装包含这个文件的包,这需要积累,1.5Linux常用操作命令,在LInux系统中,扩展名为.bin的文件是二进制文件,它也是源程序经编译后得到的机器语言。有一些软件可以发布为以.bin为后缀的安装包。安装很简单,将下载下来的*.bin文件加上可执行的权限,然后输入其路径便可以执行安装。下面以流媒体播放器RealONEforLinux为例来安装二进制软件包。下载二进制包:,1.5Linux常用操作命令,在Linux中,使用的软件都是开源的,用户可以得到软件的源代码,经过编译后再进行安装。源代码包里的文件往往会含有很多源代码文件,比如头文件*.h、c代码源文件*.c、C+代码源文件*.cc、*.cpp等;典型安装过程如下:tar-zvxfxxx.tar.gz(解压)cdxxx./configure(配置)-./configure-help(查看configure选项)make(编译)makeinstall(安装)makeclean(清除临时文件),1.5Linux常用操作命令,yum是YellowdogUpdaterModified的简称yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以通过http或ftp共享出来,也可以是本地软件池。仓库中必须包含rpm的header,header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等。客户端在安装的时候便下载header并加以分析,才能自动地从服务端下载软件并一条龙地完成安装任务。,1.5Linux常用操作命令,yum客户端的配置文件放在本地的/etc/yum.repos.d/*.repo配置文件的格式为仓库名1name=仓库描述baseurl=仓库位置enabled=0/1(0:不激活配置;1:激活此配置)gpgcheck=0/1(0:安装前不对RPM包检测1:安装前对RPM包检测)gpgkey=GPG文件的位置,1.5Linux常用操作命令,配置文件实例BASEname=RedHatEnterpriseLinuxServerbaseurl=ftp:/192.168.0.254/pub/Serverenabled=1gpgcheck=1gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release,1.5Linux常用操作命令,通过yum来安装软件语法:yum安装选项installpackage安装指定的安装包packagelocalinstallpackage本地安装软件包groupinstallpackage组安装补充说明install是客户端从远程仓库中下载软件并安装localinstall是安装一个本地已经下载来的的软件包。groupinstall如果仓库为软件包分了组,则可以通过安装此组来完成安装这个组里面的所有软件包。,1.5Linux常用操作命令,通过yum来升级软件语法:yum软件包|软件名|组名升级选项update更新全部可以更新的软件包updatepackage更新指定程序包packagecheck-update检查系统中可以被升级的软件包。groupupdategroup1升级组group1里面的软件包,1.5Linux常用操作命令,通过yum来升级软件语法:yum卸载选项removepackage1:卸载软件包package1erasepackage1:卸载软件包package1groupremovegroup1:卸载组group1所有软件包。,1.5Linux常用操作命令,通过yum来升级软件语法:yum软件包|软件名|组名查询选项info:显示安装包信息list:显示所有已经安装和仓库中可以安装的程序包list:显示指定软件包安装情况grouplist:显示仓库中有哪些组deplist:查看程序package1依赖情况groupinfo:显示程序组group1信息search:查找软件包,ThankYou!,嵌入式Linux操作系统,嵌入式系统教研室张荣高,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!