《第3章 Linux操作系统基础.ppt》由会员分享,可在线阅读,更多相关《第3章 Linux操作系统基础.ppt(52页珍藏版)》请在金锄头文库上搜索。
1、第3章Linux操作系统基础,教材:嵌入式系统设计与应用 作者:张思民 出版:清华大学出版社,本章要点,1、Linux基本概念 2、Linux的目录结构 3、Linux的常用命令,3.1 Linux基本概念,Linux一般有四个主要部分: 内核、Shell、文件系统和实用工具。,1、Linux内核,Linux内核是整个Linux系统的灵魂,inux系统的能力完全受内核能力的制约。Linux内核负责整个系统的内存管理,进程调度和文件管理。 Linux内核的功能: (1)进程管理 (2)内存管理 (3)文件管理 (4)设备控制 (5)网络功能,2、Linux Shell,Shell是Linux系统
2、下的命令解释器,也是使用Linux系统的主要环境,它提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,类似于Microsoft Windows的Command命令。,3、Linux文件系统,Linux的文件系统只有一个文件树,整个文件系统是以一个树根“/”为起点的,所有的文件和外部设备都以文件的形式挂结在这个文件树上,包括硬盘、软盘、光驱、调制解调器等,这和以“驱动器盘符”为基础的Microsoft Windows系统有很大区别。,图3.1 Linux文件系统的目录结构,3.2嵌入式Linux文件系统,嵌入式Linux支持多种文件系统,包括ext2、ext3、v
3、fat、ntfs、YAFFS、JFFS、Ramfs和NFS等,为了对各类文件系统进行统一管理,嵌入式Linux引入了虚拟文件系统VFS(Virtual File System),为各类文件系统提供一个统一的操作界面和应用编程接口。,图3.2嵌入式Linux下的文件系统结构,Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。,3.2.1 基于FLASH的文件系统,1、 jffs2,Jffs2的全称是“日志闪存文件系统第2版本(Journalling Fla
4、sh FileSystem v2)”,主要用于NOR型闪存,基于MTD驱动层,特点是:可读写的、支持数据压缩的、基于哈希表的日志型文件系统,并提供了崩溃/掉电安全保护,提供“写平衡”支持等。 jffs2不适合用于NAND闪存。,2、yaffs,yaffs/yaffs2是专为嵌入式系统使用NAND型闪存而设计的一种日志型文件系统。与jffs2相比,它减少了一些功能(例如不支持数据压缩),所以速度更快,挂载时间很短,对内存的占用较小。 yaffs/yaffs2自带NAND芯片的驱动,并且为嵌入式系统提供了直接访问文件系统的API,用户可以不使用Linux中的MTD与VFS,直接对文件系统操作。,3
5、、Cramfs(Compressed ROM File System ),Cramfs是一种只读的压缩文件系统。它也基于MTD驱动程序。 在cramfs文件系统中,每一页(4KB)被单独压缩,可以随机页访问,其压缩比高达2:1,为嵌入式系统节省大量的Flash存储空间,从而降低系统成本。 Cramfs文件系统以压缩方式存储,在运行时解压缩。另外,它的速度快,效率高,其只读的特点有利于保护文件系统免受破坏,提高了系统的可靠性。,3.2.2 基于RAM的文件系统,1、Ramdisk,Ramdisk是将一部分固定大小的内存当作分区来使用。它并非一个实际的文件系统,而是一种将实际的文件系统装入内存的机
6、制,并且可以作为根文件系统。将一些经常被访问而又不会更改的文件(如只读的根文件系统)通过Ramdisk放在内存中,可以明显地提高系统的性能。,2、Ramfs/tmpfs,Ramfs/tmpfs文件系统把所有的文件都放在RAM中,所以读/写操作发生在RAM中,可以用ramfs/tmpfs来存储一些临时性或经常要修改的数据,例如/tmp和/var目录,这样既避免了对Flash存储器的读写损耗,也提高了数据读写速度。 Tmpfs的一个缺点是当系统重新引导时会丢失所有数据。,3.2.3网络文件系统NFS,NFS(Network File System)是一项在不同机器、不同操作系统之间通过网络共享文件
7、的技术。通过NFS可以让计算机通过网络将NFS服务器共享出来的文件安装到自己的系统中。在嵌入式Linux应用系统的开发调试阶段,利用该技术在主机上建立基于NFS的文件系统,挂载到嵌入式设备,可以很方便地修改和调试应用系统的内容。 (详见第5章的“5.3 配置NFS服务”),3.3Linux常用操作命令,3.3.1文件目录相关命令,1、ls (1)作用 ls的功能为列出目录的内容。该命令类似于DOS下的dir命令。 (2)命令格式 ls -选项 目录或文件名 (3)命令选项 - a 显示指定目录下所有子目录与文件名,包括隐藏文件。 - l 以长格式来显示文件的详细信息。,2、文件权限的表示,用户
8、对文件的读、写和执行权限(简称为文件权限)如下所示: r 读权限, w 写权限, x 执行权限,对于目录,表示可进入。 也可用数字表示: 0表示无权限,1表示可执行,2表示写权限,4表示读权限。 可用数字求和来表示多权限的组合。 例如:对某一文件拥有可读、可写、可执行的权限,则可表示为7(1+2+4=7),对另一文件拥有可读、可执行的权限,则可表示为5(1+4=5)。,3、cd,(1)作用 改变工作目录,该命令与DOS下的md命令作用是相同的。 (2)命令格式 cd 目录路径/目录名,4、mkdir,(1)作用 创建一个目录,该命令类似于DOS下的md命令。 (2)命令格式 Mkdir 目录路
9、径/新目录名,5、cp,(1)作用 复制文件,可以使用通配符,该命令类似于DOS下的copy命令。 (2)命令格式 cp 选项 源文件路径源文件名 目标路径目标文件名 (3)示例 在/tmp目录下,新建一个子目录mysub,并将/usr/test目录下的所有文件复制到mysub目录下: # mkdir /tmp/mysub # cp /usr/test/*.* /tmp/mysub,5、rm和rmdir,(1)作用 rm为删除指定文件,可以使用通配符,该命令类似于DOS下的del命令。 rmdir为删除指定的目录,其目录必须为空目录。 (2)命令格式 rm 选项 文件名 rmdir 目录路径/
10、目录名 (3)命令选项 rm的命令选项有: -i 询问是否删除(y表示是,n表示否); -f 不询问是否删除; -r 递归删除整个目录,同rmdir。,3.3.2磁盘及系统操作,1、fdisk,(1)作用 fdisk命令可以用来给磁盘进行分区,查看磁盘情况等,往往使用参数-l 来显示系统的分区情况。 (2)命令格式 Fdisk 选项 (3)命令选项 -l 显示系统的分区情况,2、df,(1)作用 检查硬盘所剩(所用)空间。 (2)命令格式 df 选项 (3)命令选项 -h 以1024KB=1M的方式显示磁盘的使用情况 -H 以1000KB=1M的方式显示磁盘的使用情况,3、free命令,(1)
11、作用 free命令的功能是查看当前系统内存的使用情况,它显示系统中剩余及已用的物理内存和交换内存,以及共享内存和被核心使用的缓冲区。 (2)命令格式 free 选项 (3)命令选项 -b 以字节为单位显示。 -k 以K字节为单位显示。 -m 以M字节为单位显示。,4、mount命令,(1)作用 挂载某一设备使之成为某个目录名称。 (2)命令格式 mount 选项 -o 挂载选项 (3)命令选项 -t该参数配合选项用于指定一个文件系统分区的类型。 -o 该参数配合选项用于指定一个或多个挂载选项。,示例,例1:挂载一个Linux分区,将其挂载到/mnt目录下(/mnt称为挂载点): # mount
12、 -t ext3 /dev/hdb1 /mnt 例2:挂载硬盘的Windows分区,将其挂载到/mnt/wind目录下: #mount -t vfat /dev/hda5 /mnt/wind 例3:挂载U盘 #mount -t vfat /dev/sdb1 /mnt/usb,3.3.3打包压缩相关命令,1、gzip命令,我们在Linux中经常会用到后缀为.gz的文件,它们就是GZIP格式的。 Gzip命令的基本用法: # gzip test.txt 生成test.txz的压缩文件,同时不再保留test.txt # gzip -d test.txz 解压test.txz,生成test.tx文件,
13、2、tar命令,格式: tar 选项 文件目录列表功能: 对文件目录进行打包备份 常用选项:-c 建立新的归档文件-r 向归档文件末尾追加文件-x 从归档文件中解出文件-f 对普通文件操作-z 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩,2、tar命令,1、用tar打包一个目录下的文件:tar -cvf /mnt/lgx/a1.doc生成一个以.tar为扩展名的打包文件 2、用tar解开打包文件:tar -xvf /mnt/lgx/a1.doc.tar通常情况下,tar打包与gzip(压缩)经常联合使用。方法:首先用tar打包,如: tar -cvf /mnt/lgx/a1
14、.doc (产生a1.doc.tar文件)然后用gzip压缩a1.doc.tar文件,如: gzip /mnt/lgx/a1.doc.tar (产生a1.doc.tar.gz文件),3.3.4网络相关命令,1、ifconfig,(1)作用 用于查看和配置网络接口的地址和参数,包括IP地址、网络掩码、广播地址,它的使用权限是超级用户。 (2)命令格式 查看网卡配置信息:ifconfig 设置网卡:ifconfig eth0 主机IP地址 eth0代表第一块网卡,eth1代表第二块网卡,若主机上仅安装了一块网卡,则为eth0。,2、ping,(1)作用 ping命令用于检测网络连接情况,从而判断主
15、机联网是否连接正常。 (2)命令格式 ping IP地址,3.4 Vi文本编辑器,1、Vi 的 3 种模式,(1) 命令行模式command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。 (2) 插入模式(Insert mode) 只有在Insert mode下,才可以做文字输入,按ESC键可回到命令行模式。 (3) 底行模式(last line mode) 将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等。,2、vi的基本操作,(1) 进入vi 在系统提示符号输入vi及文件名称后,就
16、进入vi全屏幕编辑画面 (2) 切换至插入模式(Insert mode)编辑文件 (3) Insert 的切换 在“插入模式(Insert mode)”,就只能输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,就要先按一下ESC键转到命令行模式(command mode)再删除文字。,2、vi的基本操作,(4) 退出vi及保存文件 在命令行模式(command mode)下,按一下:冒号键进入Last line mode,例如: : w filename (输入 w filename将文章以指定的文件名filename保存) : wq (输入wq,存盘并退出vi) : q! (输入q!, 不存盘强制退出vi),3.5Linux启动过程,3.5.1Linux 系统的引导过程,(1)启动内核。 (2)执行程序init。,3.5.2ARM Linux 操作系统,ARM Linux可以划分为三大部分: 启动引导(Bootloader), 操作系统内核(Linux Kernel), 文件系统(File System)。,启动引导程序Bootloader非常像PC机中的