1、嵌入式系统定义,嵌入式系统,英文为Embedded System。 广义上:凡是带有微处理器的专用软、硬件系统都可以成为嵌入式系统。 狭义上:是指使用嵌入式微处理器构成的独立系统,并且有自己的操作系统,具有特定功能,用于特定场合的系统。,嵌入式系统定义:“以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积及功耗严格要求的专用计算机系统”,嵌入式系统特点,嵌入式系统组成,嵌入式系统一般有4部分组成:嵌入式微处理器; 外围设备; 嵌入式操作系统; 用户应用程序;,嵌入式操作系统,常见嵌入式操作系统:嵌入式Linux Windows CE VxWorks uC/O
2、S-II Symbian Android ,GNU组织与GPL协议,FSF:自由软件基金会发起了GNU项目 ,目的是创建自由开放的UNIX系统内核 。Linux核心(Kernel)加入GNU组织 GPL,GNU通用公共许可协议,这是与传统商业软件许可协议CopyRight对立的,所以又被戏称为CopyLeft。 提供四种自由: 无论目的如何,有使用该软件的自由 有研究软件如何运做的自由 有重新传播该软件的自由 有改善再利用该软件的自由,认识POSIX标准,可移植操作系统接口 (Portable Operating System Interface ) 是一个庞大的标准族 不仅仅是Unix遵循P
3、OSIX标准,Dec OpenVms和Microsoft Window NT POSIX(1003.1)标准定义了C语言应用程序API,Linux系统,Unix克隆或Unix风格的操作系统 支持多用户、多任务的稳定高效的操作系统 可以在众多电脑平台上运行,如:i386、Sparc、Alpha、Mips、PPC 等,目前是得到支持厂商最多的操作系统平台 正是由于GPL,让Linux能被人们广泛用在路由器、嵌入芯片、服务器、个人电脑等,Linux发展,Linux分类及主流版本,Linux的版本号又分为两部分:内核(Kernel)版本和发行(Distribution)版本。内核版本的序号由3部分数字
4、构成,其形式:2.4.20 国外主要发行版本 1Red Hat Linux 2SuSE Linux 3. Turbo Linux 国内主要发行版本 1红旗Linux 2中标普华Linux 3. 蓝点Linux,Linux开发环境,常见的Linux开发环境有以下三种组合方式:Windows操作系统+Cygwin工具 Windows操作系统+Vmware工具+Linux操作系统 Linux操作系统+自带的开发工具,Windows和Linux文件共享,虚拟光驱/mnt/cdrom 设置共享文件夹,位置在/mnt/hgfs1、在虚拟机的菜单下选择安装VMWARE TOOLS2、在usr/bin 执行.
5、/vmware-config-tools.pl3、设置在Windows下的共享文件夹位置,Linux框架结构,Linux内核主要功能,与计算机硬件进行交互,实现对硬件对编程控制和接口操作,调度对硬件资源对访问,并为计算机上的用户程序提供一个高级的执行环境和对硬件对虚拟接口 按功能模块分为: 进程调度 文件管理 内存管理 进程间通信和网络接口,Shell程序功能概述,介于使用者和 UNIX/Linux 操作系统之核心程序(内核kernel)间的一个接口 Shell功能如下: 读取输入和语法分析命令行 处理万用字符解释 重定向和管道 搜索和运行程序 后台作业 shell编程等,常见Shell程序,
6、Bourne Shell(SH)最老、使用最广泛 Korn Shell(KSH)对Bourne Shell的扩充,兼容Bourne Shell C Shell(CSH)语法与C语言类式,功能强大,但与Bourne Shell不兼容 Bourne Again Shell(BASH)是自由软件基金会(GNU)开发的一个Shell,它是Linux系统中默认的Shell,Bash不但与Bourne Shell兼容,还继承了Korn Shell、C Shell的优点,常见外围工具(桌面系统),GNOME/GTK 支持C语言 拥有众多公司或自由软件人的支持,包括RedHat KDE/QT(K Deskto
7、p Envirment) 支持C+,稳定成熟 包括办公软件KOffice、Internet应用软件、开发工具KDeveloper、和一些其他应用软件,Linux远程登录,telnet远程登录putty远程登录secureCRT远程登录,Linux登录/登出,文本方式登录文本方式下登出logout命令Ctrl+d组合键exit命令 图形方式(X-window)登录,Linux登录前,加载引导区程序. start_kernel启动内核过程中启动1号进程init 1号进程根据/etc/inittab配置文件启动各类服务 登录时:getty()login()bash/shell 工具,Linux登录后
8、,当前目录为用户默认目录(home目录) 例如:键入#pwd 执行/etc/profile -系统环境变量设置 执行.bash_profile 执行.bashrc脚本设置针对本次登录的环境变量或初始化 等待用户命令,多终端登录,生成7个虚终端,其中1-6为文本方式,7为图形终端 各虚终端共享键盘和显示器,使用Alt+Fn来切换,Linux工作模式,3:文本模式 5:图形模式,在/etc/inittab文件中 # Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this)
9、 # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:3:initdefault:,环境变量,系统或者当前用户环境预设的变量 包含被操作系统或者程序所用的信息对象,Shell设置环境变量,设置环境变量myvar = “Hello EveryOne”;my
10、User=David; exports myvar myUser或export myvar = “Hello EveryOne” 显示环境变量例如:#echo $myvar $myvar是引用了myvar env命令 显示所有环境变量#env或者#set 搜索某个环境变量是否存在并显示#env|grep myvar,在.bash_profile文件设置系统搜索路径PATH=$PATH:/root:$HOME/davidexports PATH,备注说明:1、$PATH是引用了系统原有路径环境变量值2、“:”是用来连接两个字符串3、设置好新的PATH变量,要重新输出到系统,程序控制环境变量,ge
11、tenv()、setenv()、unsetenv()函数 指针变量environ,/示例如下: #include extern char *environ; /指针变量 int main () char *var;for (var =environ;*var !=NULL;+var) printf (“%s n “,*var); return 0; ,Linux文件系统结构,从用户角度理解文件系统,Linux文件目录结构,Linux文件目录结构,bin:linux常用的命令。如:cp、mv。 boot:系统启动时要用到的程序。 dev:所有linux系统中使用的外部设备映射文件。和我们常用的w
12、indows, dos操作系统不一样。它实际上是一个访问这些外部设备的端口。(虚拟光驱、usb) etc:系统管理的各种配置文件和子目录。如网络配置文件,文件系统,x系统配置文件,设备被指信息,设置用户信息。(passwd、group) home:每个用户的主目录存放在这个目录下以用户名命名的子目录中。例如:如果我们建立一个用户,用户名是“tom”,那么在/home目录下就有一个对应的/home/tom路径,,Linux文件目录结构,lib:存放系统动态连接共享库。几乎所有的应用程序都会用到这个目录下的共享库。因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,系统就不能工作了。 lost
13、+found:这个目录在大多数情况下都是空的。但是如果你正在工作突然停电,或是没有用正常方式关机,在你重新启动机器的时候,有些文件就会找不到应该存放的地方,对于这些文件,系统将他们放在这个目录下,就象为无家可归的人提供一个临时住所。 mnt:分区的挂载点,这个目录在一般情况下也是空的。可以临时将别的文件系统挂在这个目录下。(cdrom、hgfs、usb) proc:虚拟目录,系统内存的映射,可以在这个目录下获取系统信息,这些信息是在内存中由系统自己产生的。 root:系统管理员的主目录,其它用户无法访问。,Linux文件目录结构,sbin:这个目录是用来存放系统管理员的系统管理程序。 tmp:
14、用来存放不同程序执行时产生的临时文件。 usr:这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和库都存放在这个目录下,有很多子目录。 (/usr/bin/vmware-config-tools.pl) var:存放一些系统运行过程中的临时文件,如系统日志。 注:在各目录中以颜色区分不同的文件类型 蓝:目录; 绿:可执行文件; 红:压缩文件; 浅蓝:链接文件; 灰:其他文件; 红底白字:错误的链接文件,Linux命令格式,Linux命令行的一般格式为 命令名 选择项参数 其中:选择项可以改变命令的功能;选择项以字符-开头,多个选择项可以合起来写;参数可以是文件名或命令需要的其他信
15、息,获得命令帮助,whatis命令简单描述命令功能 -help选项命令使用摘要及参数列表 man命令 命令说明文件 info命令更详细的说明文件 说明/usr/share/doc/,文件操作命令,ls,功能:列举指定目录下的子目录和文件 指令格式: ls -arltrx name -a:显示所有文件及目录 -r:逆序排列内容 -l:列举文件的权限、大小等详细资料(补充用户权限) -t:将文件按建立的时间逆序列出 -r:以递归的方式列举一个目录及其子目录中的所有文件(不包括隐藏文件) 示例:ls lr /usr/local,cp,功能:复制指定文件到另一文件或目录 指令格式: cp -abrif
16、LP source dest -a:尽可能的将文件的属性、权限的内容都照原状复制 -b:如果目的文件存在,就创造一个备份 -r:若源中有子目录,则将子目录下的文件及目录亦全部复制至目的地 -i:若目的地有重复的文件,询问是否覆盖 -f:若目的地有重复的文件,则覆盖原有文件 -L:复制符号链接,自动修改链接以保证链接有效 -P:与-L类似,但不对符号链接做修改,可能导会导致链接无效 示例: cp test.sxw /usr/ test1.sxw;cp ri /test /usr/test1,mv,功能:移动指定文件或目录至另一文件或目录 命令格式: move -bif source dest -
17、b:如果目的文件存在,就创造一个备份 -i:若目的地有重复文件,询问是否覆盖 -f:若目的地有重复的文件,则覆盖原有文件 示例:mv test.sxw test1.sxwmv i test1.sxw /usr,mkdir,功能:创建目录 命令格式: mkdir -p dirname -p:递归建立目录和子目录 示例:mkdir test /在当前路径下建立新目录,rm,功能:删除文件和目录 指令格式: rm -ifr name -r:删除目录及子目录 -i:删除前逐一询问确认 -f:不询问直接删除 示例:rm test,cat, more, less, tail, wc命令,cat用来查看文件
18、内容 more分屏显示文件内容 less命令类似more命令,但是比more命令提供更多功能 tail用来查看文件的末尾几行 wc统计文件的行数、字数、字符数,进程操作命令,系统服务命令,磁盘操作,查看磁盘空间df 例如:df -v查看文件占用空间du du k装载文件系统mount 格式:mount 设备名 挂载点 例如:mount /dev/cdrom /mnt/cdrom,挂载文件系统,使用mount命令挂载文件系统 #mount 常用选项 -t fstype:指定要挂载的文件系统的类型 -r:以只读方式来挂载文件系统 -o:用于设置各种挂载选项 -a:挂载/etc/fstab文件中记录
19、的设备,卸载文件系统,使用umount命令卸载文件系统 # umount 操作举例 1)使用设备名卸载已经挂载的文件系统# umount /dev/hda1 2)使用挂载点卸载已经挂载的文件系统# umount /opt,挂载/卸载操作注意事项,挂载点目录必须存在 应该在挂载目录的上级目录下进行挂装操作 不该在同一个挂载点目录下挂载两个文件系统 当文件系统处于“busy”状态时不能进行卸载,使用软盘和光盘,使用软盘 挂载:# mount /mnt/floppy 卸载:# umount /mnt/floppy 注意:卸载文件系统前不要取出软盘 使用光盘 挂载:# mount /mnt/cdrom
20、 卸载:# umount /mnt/cdrom,直接挂载使用ISO文件,直接挂载使用ISO文件 ISO文件是光盘镜像文件 用mount命令加-o loop选项挂载光盘镜像文件 # mount -o loop 例如:# mount -o loop valhalla-i386-disc1.iso /mnt/iso 卸载ISO文件 # umount /mnt/iso,使用U盘,执行fdisk l /检查磁盘分区 mkdir /mnt/usb /创建一个usb目录 mount /dev/sdb1 /mnt/usb /挂载U盘 umount /mnt/usb,CPU、内存查看,其他系统命令,Linux文
21、件系统概述,从系统角度理解文件系统 文件系统是操作系统用于明确磁盘分区上文件的方法和数据结构, 即文件在磁盘上的组织方法。 文件系统规定了如何在存储设备上存储数据以及如何访问存储在设备上的数据。 一个文件系统在逻辑上是独立的实体,他能单独地被操作系统管理和使用。 Linux的内核采用了称之为虚拟文件系统(VFS)的技术, 因此Linux可以支持多种不同的文件系统类型。 ext2:支持标准Unix文件类型,可用于多种存储介质,向上兼容性好,支持长达255个字符的文件名; ext3:ext2的升级版本,是多数linux发行版的默认文件系统类型,其主要优点是在ext2的基础上加入了记录数据的日志功能
22、,可方便地从ext2迁移至ext3且支持异步的日志; reiserfs:一种新型的文件系统,通过完全平衡树结构来容纳数据,包括文件数据,文件名以及日志支持,reiserfs 还支持海量磁盘和磁盘阵列,并能在上面继续保持很快的搜索速度和很高的效率,Linux文件类型(字符表示),-:普通文件 d:目录文件 l:链接文件 b:块设备文件 c:字符设备文件 p:管道文件,Linux用户类别,root:这是系统特权用户类,他们都有访问root登录帐号的权限 owner:这是实际拥有文件的用户 group:这是共享文件的组访问权的用户类的用户组名称 world:这是不属于上面3类的所有其他用户,/etc
23、/passwd,该文件是存放linux所有用户信息文件,帐号名称:登陆的用户名 密码:MD5加密的密码 UID:用户ID号.0是管理员帐号,1499保留系统使用.50065535给一般使用者 GID:用户所属组ID号 使用者信息说明栏 家目录:用户默认所在home目录 Shell名称,/etc/shadow,存放linux所有用户的密码文件,帐号名称:由于密码也需要和帐号相匹配 密码:这才是真正密码,是以MD5加密(如果密码是以*或者是!开头表示密码对应用户不是登陆用户) 最近更动密码日期 密码不可被更改得天数 密码需重新变更天数 密码变更期限前警告期限 密码过去恕限时间 帐号失效日期 保留,
24、/etc/group,group文件格式:groupname:password:gid:user_list groupname:组名称 password:组密码 gid:组识别号 user_list:该组用户清单,/etc/gshadow,保存组密码的重要文件格式 bin:root,bin,daemon 第一栏:组名称 第二栏:密码 第三栏:组编号 第四栏:组有效用户名,组的创建和用户的创建,创建组groupadd groupname 创建用户并设置默认组 useradd -g groupname username 向组添加、删除用户gpasswd -a username groupnameg
25、passwd -d username groupname 给组设置密码gpasswd groupname 删除组groupdel groupname 删除用户userdel username,Linux登录获取UID和GID,首先寻找/etc/passwd里面是否有这帐号,如果没有则退出,如果有得话将该帐号对应得UID和GID读出来,另外,该帐号的家目录与shell设定一并读出 再来则是核对密码表,这时linux会进/etc/shadow里面查找对应帐号后核对你得密码和里面密码是否相同 如果一切正常,就进入shell控管阶段,finger查看用户信息,要得到一个用户的详细信息,除了查看pass
26、wd,shadow文件的相应内容外,还可以使用finger命令,用法:finger username,Linux文件权限位,文件权限位的表示:-rwxrwxrwx 第一位表示文件的类型,-表示普通文件,d表示目录文件,l表示符号链接文件; 接下来三位表示owner用户的读,写,执行权限 紧接着三位表示group用户的读,写,执行权限 最后三位表示world用户的读,写,执行权限,Linux文件权限管理,规划用户以及用户所属的组 设置文件所属的用户以及所属的组(chown,chgrp) 给文件赋予相应的权限位(chmod),chmod,chmod命令格式为:chmod option mode f
27、iles.,mode表示格式:1、数字方式:nnn r=4 w=2 x=1rwx:4+2+1; r-x:4+1; rw-:4+22、文本方式:ugoa+ - =rwxu - 该档案的拥有者;g - 与该档案的拥有者属于同一个群体(group)者;o - 其他以外的人;a-所有+ - 增加权限- - 去掉权限= - 设定权限,chmod示例,给text文件赋予rwxr-xr-x权限chmod 755 text 给text及其子目录底下所有文件赋予rwxr-xr-x权限chmod -R 755 text 为文件abc的组拥有者增加rw权限chmod g+rw abc 为abc文件的用户拥有者去除x
28、权限chmod u-x abc 指定文件abc的其他用户权限为rw-chmod o=rw- 为文件abc及其子目录底下的所有文件的全体用户增加x权限chmod -R a+x abc,chgrp,chgrp用来更改文件的组拥有者,其一般格式为:chgrp option group file 把文件abc的组拥有者改为study:chgrp study abc 把abc及其子目录下的所有文件的组拥有者改为study:chgrp -R study abc,chown,chown用来更改文件所有者与组拥有者,其一般格式为:chown option owner:group file 将abc及其子目录下
29、的所有文件的所有者改为jjl:chown jjl abc 将abc文件的所有者改为jjl,组拥有者改为study:chown jjl:study abc,目录权限,目录的内容认为是文件,如果目录是没有w权限,则不能该目录下进行增删文件操作,特殊权限,考查/usr/bin/passwd与/etc/shadow的权限,分别为:-r-s-x-x、-r- 我们发现/etc/shadow文件没有写的权限,那么普通用户要修改密码如何做到修改/etc/shadow文件呢? 这是通过s这个特殊权限实现的。当具有s权限的文件运行时,进程的拥有者不是执行程序的用户,而是文件的拥有者。 同样如果文件组用户执行权限位
30、为s,表示任何用户执行该文件,都拥有该组的权限,就好像自己是组的成员一样。,设置特殊权限,用chmod命令来设置这些“特殊”的权限位。数值4表示设置文件拥有者的执行权,数值2表示设置文用户组的执行权。如:chmod 4755 test-rwsr-xr-x 1 study study 0 May 25 17:37 testcmhod 2755 test-rwxr-sr-x 1 study study 0 May 25 17:37 testcmhod 6755 test-rwsr-sr-x 1 study study 0 May 25 17:37 test,文件权限掩码设置umask,考查root
31、用户的umask值为0022 这表示root用户创建的文件对于组用户与其他用户都要去掉2即写的权限,目的就是防止除root以外的用户改写root用户的文件。 设定了umask的文件权限计算公式:newmode = oldmode & umask,Bash程序基本功能,转义和通配符号解释 重定向 管道 后台作业 历史表记录 命令行编辑 命令修正 别名 Shell编程及解释,通配符,输入输出重定向,ls -l /usr/tmp dir ls -l /usr/tmp dir ls /usr/tmp 2err.file ls /usr/tmp output.file 2&1 wc /etc/passw
32、d,管道,将一个程序的标准输出写到一个文件中去,再将这个文件作为另一个程序的输入。管道要解决的就是不需要临时文件就能将两条命令结合在一起。如: ls /usr/bin | wc -w,后台作业,后台作业示例,在命令最后加入 &关键字符 ls R / list.txt & 从前台切换到后台操作 首先 ls R /list.txt 其次按Ctrl + Z键盘暂停该命令 按bg键使该命令到后台操作 从后台切换到前台操作 按fg键使后台操作运行到前台 查看后台作业 输入 jobs命令显示后台操作,RPM,何为RPM:RPM是软件包管理工具,是Redhat Package Manager的缩写,最早由r
33、edhat公司引入的,现在已经成为公认的行业标准了,OpenLinux、S.U.S.E.以及Turbo Linux 等Linux发行版本都采用rpm。 什么是Package:简单地说就是归档包,其中包含了应用程序或程序库的所有文件,另外还包含了一个控制脚本,用来进行安装、卸载、状态检查、依赖检查等。,rpm命令一般格式,安装rpm包,rpm -ivh glibc-2.3.2-11.9.rpm 如果提示有依赖关系,我们忽略依赖关系强制安装,可以使用rpm -ivh -nodeps glibc-2.3.2-11.9.rpm 如果要安装的软件包中有一个文件已在安装其它软件包时安装,可以使用rpm -
34、ivh -replacefiles glibc-2.3.2-11.9.rpm替代现有文件,也可以用rpm -ivh -force glibc-2.3.2-11.9.rpm忽略文件冲突,卸载rpm包,rpm -e glibc 卸载的时候不需要指定包的版本号,如果其它软件包依赖于您要卸载的软件包,卸载时会产生错误信息。,升级rpm包,rpm -Uvh glibc-2.3.2-11.9.rpm 注:即使系统上没有安装glibc包,用这一条命令也可以顺利安装。,查询已安装rpm包,rpm qa list.txt 注:可以用后面介绍的grep命令查找 rpm -qa:查询已安装的所有软件包 rpm q
35、glibc:检察glibc包的版本,文件压缩与解压缩 gzip/gunzip,功能:压缩和解压缩 命令格式: gzip 19 trv file gunzip file -1:表示压缩速度最快,压缩比最低 -9:表示压缩速度最慢,压缩比最高 -t:表示校验压缩文件的完整性 -r:表示压缩时包含子目录中的内容 -v:表示压缩时显示正在压缩的文件名和压缩比等资料 示例:gzip -5v test.sxwgunzip test.sxw.gz,文件备份(打包)(tar),tar示例,tar -cvf text.tar text:创建一个备份档案 tar -tvf text.tar:查看一个备份档案内容列
36、表 tar -xvf text.tar:从备份档案中提取文件 tar -zcvf text.tar.gz text:备份档案并压缩 tar -zxvf text.tar.gz:从压缩包中提取文件,grep,grep是通用正则表达式分析程序(General Regular Expression Parser)的缩写。 grep命令可以在它的输入中搜索指定的字符串模式(Pattern)。grep命令的输出是包含输入中指定的字符串模式的行。 grep命令的一般格式:grep option pattern file grep命令中用到的正则表达式最好用单引号或双引号括起来,grep命令常用开关,正则表
37、达式,何为正则表达式:正则表达式(regular expressions )描述了字符串的匹配规则。,基本特殊字符集,扩展特殊字符集,正则表达式示例,public 匹配以public开始的行 public$ 匹配以public结尾的行 $ 匹配空行 .$ 匹配只有一个字符的行 compu*t 匹配u 0次或多次,如:compter computer,computing,compuuute等 (abc)+ 将abc进行看作单项进行匹配,如:abcabcabc 111A|B 匹配的字符串:111A或111B,grep命令示例,grep public exp grep public$ exp gre
38、p -n $ exp grep -n .$ exp grep compu*t exp grep -E (abc)+ exp grep -E 111111A|B exp,grep命令示例,查询多个文件,可以使用通配符 “ * ”,grep “math2“ *.txt,grep “12“ *,反向匹配,ps aux | grep “ssh“ | grep v “grep“,匹配空行,grep -n $ datafile,grep -v $ datafile,grep命令示例,精确匹配单词: ,grep west datafile,grep north datafile,grep datafile,
39、找出所有包含 以 north 开头 的单词的行,找出所有包含 以 west 结尾 的单词的行,找出所有包含 north 单词的行,grep命令示例,递归搜索目录中的所有文件:-r,grep -r “north“ datafile /Teaching/linux/,关于某个字符连续出现次数的匹配,grep o2, helloworld,o,4 , o2,4 , lo2,4,find,find命令的主要作用是对树形目录层次结构进行彻底检查。 find命令的一般格式:find pathname -expressions,find常用表达式,find逻辑表达式,find示例,find . -name
40、abc* -print 搜索当前目录下以abc开头的所有文件 find . -group root -print 搜索当前目录下属于root组的所有文件 find . -group root -exec echo ; -print搜索当前目录下属于root组的所有文件并执行echo命令,然后再用print表达式输出,网络连接类型,虚拟网卡,安装了VMware虚拟机后,会在网络连接对话框中多出两个虚拟网卡 :,虚拟设备,VMnet0:用于虚拟桥接网络下的虚拟交换机 VMnet1:用于虚拟Host-Only网络下的虚拟交换机 VMnet8:用于虚拟NAT网络下的虚拟交换机 VMware Netwo
41、rk Adapter VMnet1:Host用于与Host-Only虚拟网络进行通信的虚拟网卡 VMware Network Adapter VMnet8:Host用于与NAT虚拟网络进行通信的虚拟网卡,桥接模式,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。在bridged模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。,NAT模式,NAT
42、模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。,Host-only模式,在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用Host-only模式。在Host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的,可以利用Windows
43、XP里面自带的Internet连接共享(实际上是一个简单的路由NAT),来让虚拟机通过主机真实的网卡进行外网的访问。虚拟系统的TCP/IP配置信息(如IP地址网关地址DNS服务器等),都是由VMnet1(Host-only)虚拟 网络的DHCP服务器来动态分配的。,Linux网络配置,采用配置文件 1)找到配置文件ifcfg-eth0cd /etc/sysconfig/network-scripts 2)配置文件配置项如下:DEVICE=eth0BOOTPROTO=noneBROADCAST=192.168.1.255IPADDR=192.168.1.199NETMASK=255.255.25
44、4.0NETWORK=192.168.0.0GATEWAY=192.168.1.254TYPE=Ethernet 3)重新激活网卡#ifdown eth0; #ifup eth0 4)DNS配置打开配置文件 /etc/resolv.conf 修改nameserver项注意:service network restart,配置文件ifcfg-eth0,位于 /etc/sysconfig/network-scripts目录 DEVICE=eth0 /名称 ONBOOT=yes /启动时是否激活网卡 BOOTPROTO=none /知名是否使用DHCP协议 IPADDR=192.168.1.121
45、/ip地址 NETMASK=255.255.255.0 /子网掩码 GATEWAY=192.168.1.2 /默认网关 TYPE=Ethernet /网络类型 USERCTL=no PEERDNS=no NETWORK=192.168.1.0 /网段 BROADCAST=192.168.1.255 /广播地址 注意:service network restart,ifconfig命令,功能说明:用于查看和更改网络接口的地址和参数,包括IP地址、网络掩码、广播地址,使用权限是超级用户 格式:ifconfig interface options address 参数说明:-interface:指定
46、的网络接口名,如eth0和eth1up:激活指定的网络接口卡。down:关闭指定的网络接口。broadcast address:设置接口的广播地址。pointopoint:启用点对点方式。address:设置指定接口设备的IP地址。netmask address:设置接口的子网掩码 注意:无需重新启动,其他常用网络命令,netconfig命令,netconfig命令,按空格键,选择是否使用DHCP 注意:service network restart,setup命令,vsftpd安装,下载压缩包文件 解压 tar zxvf vsftp2.1.tar.gz 编译 make 安装 make ins
47、tall 拷贝 拷贝vsftpd.conf到/etc下 拷贝Redhat目录下vsftpd.pam到/etc/pam.d下,常见ftp命令,服务启动/停止,服务启动 service 服务名 start 服务停止 service 服务名 stop 服务重启 service 服务名 restart,服务注册流程(独立服务),安装服务程序(一般目录在/usr/local下) 在/etc/rc.d/init.d下生成服务脚本文件(文件名与服务名相同),实现start,stop,restart方法 指定Linux工作模式下服务自启动 chkconfig level 12345 服务名 on 人工启动服务
48、 service 服务名 start,设置服务自启动,独立服务 chkconfig level 345 服务名 on 基于inetd服务 找到/etc/xinetd.d/服务名的文件 将diable参数改成no,注册基于xinetd的服务,按照如下格式,生成服务配置文件,文件名与服务名相同,并放置于/etc/xinetd.d目录下 service telnet flags = REUSEsocket_type = streamwait = nouser = rootserver = /usr/sbin/in.telnetdlog_on_failure += USERIDdisable = no
49、 ,防火墙iptables,停止/启动iptables服务 service iptables stop/start 不自动启动iptables服务 chkconfig -level 345 iptables off,iptables开放协议端口,iptables A INPUT p tcp -dport 21 j ACCEPT-A: 端口方向input/output-p: 协议tcp/udp/icmp-d: 地址范围-dport: 目标端口或范围-j: ACCEPT /REJECT,文本编辑工具vi,什么vi :vi是Linux/Unix底下最常用的文本编辑器。 vim:vim是vi的升级版本,它不仅兼容vi的所有命令,而且还加入了一些新的特性。,