《基于ARM9的嵌入式Linux系统开发原理与实践》课件第2章_第1页
《基于ARM9的嵌入式Linux系统开发原理与实践》课件第2章_第2页
《基于ARM9的嵌入式Linux系统开发原理与实践》课件第2章_第3页
《基于ARM9的嵌入式Linux系统开发原理与实践》课件第2章_第4页
《基于ARM9的嵌入式Linux系统开发原理与实践》课件第2章_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

第2章初识Linux2.1安装发行版Linux操作系统2.2Linux的目录结构2.3Linux的文件属性2.4Linux的文件类型2.5Shell2.6Shell编程基础本章小结

2.1安装发行版Linux操作系统

宿主机(PC)安装发行版Linux操作系统有以下三个方案:

①基于PC机Windows操作系统下的CYGWIN。

②在Windows下安装虚拟机后,再在虚拟机中安装Linux操作系统。

③直接安装Linux操作系统。2.1.1安装虚拟机VMware

安装虚拟机VMware步骤如下:

①双击安装程序后来到VMware-Workstation-6.5安装向导界面,如图2-1所示。图2-1VMware安装向导界面②安装类型选择(选中“Typical”典型安装)。

③安装路径选择(如选择将VMwareWorkstation安装在默认的路径下)。

④启动捷径选择(可全选),如图2-2所示。

⑤确定无误后单击“Install”按钮,完成安装。

⑥重新启动VMwareWorkstation,在如图2-3出现的窗口内填写序列号和注册信息。图2-2启动捷径选择图2-3填写序列号和注册信息2.1.2在虚拟机VMware中安装RedHatLinux9.0操作系统

在虚拟机VMware中安装RedHatLinux9.0操作系统步骤如下。图2-4新建虚拟机图2-5虚拟平台选择图2-6处理器配置图2-7虚拟机配置图2-8光盘安装设置图2-9测试光盘选择图2-10系统登录界面2.1.3安装VMwareTools

1. VMwareTools的软件包的安装过程

(1)以root身份登录Linux。

(2)按下Ctrl + Alt组合键,进入主操作系统,点击菜单栏VM下的InstallVMwareTools子菜单,会出现如图2-11所示界面。图2-11点击InstallVMwareTools子菜单弹出的界面

(3)将该软件包拷贝到Linux的tmp目录下。

(4)打开终端,进入tmp目录。

(5)解压缩该软件包,如图2-12所示,默认解压到vmware-tools-distrib目录下:

tar-zxfVMwareTools-5.5.3-34685.tar.gz

进入解压后的目录:

cdvmware-tools-distrib

(6)运行如下命令安装:

./vmware-install.pl

安装完成后可进行文件共享的设置。图2-12解压缩VMwareTools软件包

2.文件共享的设置

(1)关闭Linux系统。

(2)选择“编辑虚拟机设置”,点击“Options”,选择“ShareFolders”,点击“Add”按钮就可设置共享文件夹,如图2-13所示。

(3)启动Linux系统。

(4)在/mnt下即可看到hgfs文件目录,在hgfs目录下有share文件目录,这样就可实现Windows与VMware下的Linux文件共享,如图2-14所示。图2-13文件共享的设置图2-14查看文件共享2.2Linux的目录结构

(1) /bin。

(2) /boot。

(3) /dev。

(4) /etc。

(5) /sbin。

(6) /home。

(7) /lib。

(8) /lost+found。

(9) /mnt。(10) /proc。

(11) /root。

(12) /tmp。

(13) /usr。

2.3Linux的文件属性

Linux的文件属性主要有九个字段。

图2-15给出了a2ps.cfg文件属性的详细信息。图2-15a2ps.cfg文件详细信息

2.4Linux的文件类型

Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念。可以通过一般应用程序而创建,比如file.txt、file.tar.gz,这些文件虽然要用不同的程序来打开,但放在Linux文件类型中衡量的话,大多是常规文件(也被称为普通文件)。Linux文件类型常见的有普通文件、目录文件、字符设备文件、块设备文件、套接口文件和符号链接文件等。

1.普通文件

[root@localhost~]#ls-lhinstall.log

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

2.目录文件

[root@localhost~]#ls–lh

总用量14M

-rw-r--r--1rootroot

203-2702:00fonts.scale

-rw-r--r--1rootroot

53k03-1608:54install.log

-rw-r--r--1rootroot

14M03-1607:53kernel-2.6.15-

1.2025_FC5.i686.rpm

drwxr-xr-x21000users4.0k04-0423:30mkuml-2004.07.17

drwxr-xr-x2rootroot

4.0k04-1910:53mydir

drwxr-xr-x2rootroot

4.0k03-1704:25Public

3.字符设备或块设备文件

进入/dev目录,列一下文件,如下:

[root@localhost~]#ls–lh/dev/tty

crw-rw-rw-1roottty5,004-1908:29/dev/tty

[root@localhost~]#ls-lh/dev/hda1

brw-r-----1rootdisk3,12006-04-19/dev/hda1

4.套接口文件

当启动MySQL服务器时,会产生一个mysql.sock的文件。

[root@localhost~]#ls-lh/var/lib/mysql/mysql.sock

srwxrwxrwx1mysqlmysql004-1911:12

/var/lib/mysql/mysql.sock

注意这个文件属性的第一个字符是“s”。

5.符号链接文件

[root@localhost~]#ls-lhsetup.log

lrwxrwxrwx1rootroot1104-1911:18setup.log->install.log

2.5Shell

2.5.1Shell简介

Shell是一种具备特殊功能的程序,它是介于使用者和Linux操作系统核心程序(kernel)间的一个接口。图2-16Shell、Linux内核和用户之间的关系2.5.2常用Shell命令

Shell命令的一般格式:

命令名[选项][参数1][参数2]…

1.获取帮助信息命令

▪man

权限:所有用户。

使用方法:man[查找内容]

说明:用于快速查询命令和程序的使用方法等。

例如:

#manls▪help

权限:所有用户。

使用方法:help[帮助]

说明:打印出需要查找帮助命令的帮助信息,根据命令不同可能采用不同的参数 --help或 -help。

例如:

[mxl@localhosthome]$ls--help

2.浏览目录常用命令

▪ls

权限:所有用户。

使用方法:ls[选项]…[文件]…

说明:列出当前工作子目录(默认)中的文件及子目录

清单。▪cd

权限:所有用户。

使用方法:cd[目标路径]

说明:变换工作目录到目标路径,其中目标路径可以是绝对路径也可以是相对路径。目标路径名可以缺省,若缺省则变换至使用者的homedirectory(用户登录子目录)。▪pwd

权限:所有用户。

使用方法:pwd

说明:显示用户当前工作子目录的完整路径。

例如:

[mxl@localhosthome]$pwd

则出现

/home▪dir

权限:所有用户。

使用方法:dir[路径][文件名]

说明:功能与ls命令类似(列出当前工作子目录(默认)中的文件及子目录清单)。

3.阅读常用命令

▪cat

权限:所有用户。

使用方法:cat[参数][文件名]

说明:可以显示文件内容,或者把文件串接后输出到基本输出(或另一个文件)。▪more

权限:所有用户。

使用方法:more[参数][文件名]

说明:类似cat,但它可以分页显示,适合显示长文件清单或文本内容,最基本的指令就是按空格换页,按回车下一行,按b键返回上一页。

常用参数:

-num 一次显示的行数;

-d 在屏幕最下方显示提示信息;

+num 从第num行开始显示。▪less

权限:所有用户。

使用方法:less[参数][文件名]

说明:与more命令功能类似,可以用来浏览文字文件的内容,less允许往回卷动已浏览过的部分。less不会一开始就读入整个文件,所以在打开文件时,会比一般的文本编辑器(vi)快。

4.查找常用命令

▪find

权限:所有用户。

使用方法:find[路径][参数][查找相关内容]

说明:对某个特定文件、某些特定文件和某种类型的文件进行检索,可以根据名字、类型、文件属主以及上次修改时间来检索。

常用参数:

-name 检索文件名中包含查找内容字符串的文件;

-type 检索相应类型的文件(d、c等);

-user 检索创建用户为查找内容的文件。

5.目录操作常用命令

▪mkdir

权限:所有用户。

使用方法:mkdir[子目录或子目录完整路径]

说明:建立一个新的子目录,使用子目录的路径作为参数。

例如:

[mxl@localhosthome]$mkdir/home/mxl/temp▪rmdir

权限:当前目录有适当权限的所有者。

使用方法:rmdir[子目录或子目录完整路径]

说明:删除空的目录。

例如:

[mxl@localhosthome]$rmdir/home/mxl/temp

6.文件操作常用命令

▪rm

权限:当前文件有适当权限的所有者。

使用方法:rm[参数][文件名或目录]

说明:删除文件以及目录。

常用参数:

-I 删除前逐一询问确定;

-f 即使原文件为只读也强制删除,并不询问确定;

-r 同时删除该目录层下的所有目录以及文件。▪mv

权限:当前文件有适当权限的所有者。

使用方法:mv[参数][原文件或目录][目标文件或目录]

说明:将一个文件移至另一个文件,或将多个文件移动至另一个目录,也可以将一个目录移动至另一个目录。

常用参数:

-I 若目的位置已有同名文件,则询问是否覆盖旧文件。▪cp

权限:所有用户。

使用方法:cp[参数][原文件或目录][目标文件或目录]

说明:将一个文件复制到另一个文件,或将数个文件复制到另一个目录中,也可以将一个目录复制到另一个目录。

常用参数:

-a 尽可能将文件的状态、权限等信息全部复制;

-f 若目的地址有同名文件,则将已有的文件删除再进行复制;

-r 若原目录中包含子目录,则原目录中的文件及子目录也依次复制到目的地址中。

7.压缩及解压缩命令

Linux的软件一般是以 .gz、.tar或者 .tar.gz结尾的。.gz是由gzip程序压缩的;.tar.gz是先用tar程序归档(打包),再用gzip程序压缩而成的。▪tar

权限:所有用户。

使用方法:tar[参数]f[归档文件名][原文件或目录]

说明:广泛用于建立归档文档,这个命令将文件及目录复制到归档文件中,原文件并不会有被删除的危险。同时还可通过参数调用相应的压缩工具进行压缩及解压缩。

常用参数:

-f 此参数是必须的,通常用来指定包的文件名;

-c 创建新的档案文件,如果用户想备份一个目录或一些文件,就要选择这个选项;

8.挂载文件系统命令

▪mount

权限:所有用户。

使用方法:mount[参数][设备][挂载目录(挂载点)]

说明:在命令行中使用mount命令挂载文件系统。▪umount

权限:所有用户。

使用方法:umount[参数][设备][挂载目录(挂载点)]

说明:在命令行中使用umount命令卸载文件系统。

例如:

umount/dev/hda1

将 /dev/hda1设备卸载,设备必须处于空闲状态。�

常用参数:

-t指定挂载文件系统类型。

9.网络常用命令

▪ifconfig

权限:所有用户。

使用方法:ifconfig[接口]

ifconfig[接口][参数]或[地址]

说明:用来配置网络接口。

10.快捷键

(1) TAB文件目录匹配搜索的使用。

(2)光标键:如果在以前输入某个命令,下次想要再次输入此命令,则只要按上光标键就可以找到。

11.其他常用命令

(1) clear命令:清屏命令,清除屏幕上的内容。

(2) init0命令:关闭虚拟机命令,可以防止直接关闭虚拟机电源导致数据崩溃。

(3) reboot命令:重新启动虚拟机。

(4) insmod命令:向内核添加模块,如驱动模块。

(5) rmmod命令:向内核添加模块,如rmmod获至宝rtl8139删除名为rtl8139的驱动模块。(6) startx:进入Linux虚拟机图形界面。

(7) Ctrl+C:中断Shell命令。

(8) adduser:添加用户命令。

(9) userdel:删除用户命令。

2.6Shell编程基础

2.6.1建立和运行Shell程序

执行Shell程序文件有三种方法:

① #chmod+xfile

#./file

② #shfile

③ #sourcefile2.6.2Shell中的变量

1.用户自定义变量

Shell语言是非类型的解释型语言,不像用C++/Java语言编程时需要事先声明变量,给一个变量赋值,实际上就是定义了变量。在Linux支持的所有Shell中,都可以用赋值符号“=”为变量赋值。在变量赋值之后,只需在变量前面加一个“$”去引用。

2.系统变量

常用的系统变量如下:

$#保存程序命令行参数的数目;

$?保存前一个命令的返回码;

$0保存程序名;

$1第一个参数,$2第二个参数,$3,$4,$5…依次类推;

$*以(“$1$2…”)的形式保存所有输入的命令行参数;

$@以("$1""$2"…)的形式保存所有输入的命令行参数;

3.环境变量

(1)什么是环境变量。

Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。

(2)常见的环境变量。

PATH 决定了Shell将到哪些目录中寻找命令或程序。

HOME 当前用户主目录。

MAIL 当前用户的邮件存放目录。

SHELL 当前用户用的是哪种Shell。

HISTSIZE 保存历史命令记录的条数。

LOGNAME 当前用户的登录名。

(3)常用的环境变量命令。

echo 显示某个环境变量值,例如:echo$PATH。

export 设置一个新的环境变量,例如:export

HELLO=“hello”(可以无引号)。

env 显示所有环境变量。

set 显示本地定义的Shell变量。

unset 清除环境变量unsetHELLO。

readonly 设置只读环境变量readonlyHELLO。

(4)修改环境变量的方法。

可以对 .bashrc和 /etc/profile文件进行环境变量的编辑。但注意,对前者修改只对当前用户有用,对后者修改是对所有用户有用。2.6.3Shell中引号的使用方法

1.单引号 ‘

由单引号括起来的字符都作为普通字符出现。特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释。

2.双引号“

由双引号括起来的字符,除 $、\、' 和 " 这几个字符仍是特殊字符并保留其特殊功能外,其余字符仍作为普通字符对待。对于 $ 来说,就是用其后指定的变量的值来代替这个变量和 $;对于 \ 而言,是转义字符,它告诉Shell不要对其后面的那个字符进行特殊处理,只当作普通字符即可。

3.反引号‘

反引号这个字符所对应的键一般位于键盘的左上角,不要将其同单引号混淆。反引号括起来的字符串被Shell解释为命令行,在执行时,Shell首先执行该命令行,并以它的标准输出结果取代整个反引号(包括两个反引号)部分。2.6.4Shell中的test命令

test命令的语法格式:

testexpression或者[expression]

test在以下四种情况下使用:

1.字符比较

字符比较的命令和含义如表2-1所示。

2.两个整数值的比较

整数比较具有和字符比较类似的功能,只是它们的操作是针对整数,整数比较的命令和含义如表2-2所示。

3.文件操作

文件操作是对文件是否存在及文件的状态的判断等,文件操作的表达式和含义如表2-3所示。

4.逻辑操作

可以进行and和or,与其他条件联合使用,逻辑操作的表达式和含义如表2-4所示。2.6.5条件语句

1. if语句

语法格式:

if[expression1]

then

commands1

elif[expression2]

commands2

else

commands3

fi

2.case语句

case语句要求Shell将一个字符串S与一组字符串模式P1,P2,…,Pn比较,当S与某个模式Pi相匹配时,就执行相应的那一部分程序 / 命令。Shell的case语句中字符模式里可以包含像 * 这样的通配符。语法格式:

casestring1in

str1)

commands1;;

str2)

commands2;;

*)

commands3;;

esac2.6.6循环语句

1. for语句

语法格式:

for

温馨提示

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

评论

0/150

提交评论