Linux期末复习.docx

上传人:b****5 文档编号:12277111 上传时间:2023-04-17 格式:DOCX 页数:23 大小:150.26KB
下载 相关 举报
Linux期末复习.docx_第1页
第1页 / 共23页
Linux期末复习.docx_第2页
第2页 / 共23页
Linux期末复习.docx_第3页
第3页 / 共23页
Linux期末复习.docx_第4页
第4页 / 共23页
Linux期末复习.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

Linux期末复习.docx

《Linux期末复习.docx》由会员分享,可在线阅读,更多相关《Linux期末复习.docx(23页珍藏版)》请在冰豆网上搜索。

Linux期末复习.docx

Linux期末复习

实验一Linux的安装、启动和关闭

在命令行模式下执行

poweroff

shutdown–hnow[提示信息]

其中:

–h:

表示停止系统

now:

表示现在立即执行关闭操作

提示信息:

为可选内容,它将广播到登录系统的每个用户

shutdown–h+10

表示10分钟后关闭系统

重启系统

reboot

shutdown–rnow

-r:

reboot表示重启系统

Linux网络配置

假如在安装过程中没有配置网络,则用以下操作临时启用本机网络:

使用ifconfig配置IP地址:

假设你要配置的网卡的设备名为eth0

首先停止网卡:

ifdowneth0

配置IP地址并启用网卡:

ifconfigeth0IP地址netmask子掩码

使用route添加默认网关

routeadddefaultgw网关地址

添加域名服务器

echo域名服务器IP>/etc/resolv.conf

注意:

以上操作必须由root用户完成

实验二Linux命令操作

三、注意事项

在Unix/Linux中是大小写敏感,因此注意命令及参数的书写

注意权限问题。

在Unix/Linux中,每个用户都有自己的权限范围,在操作时一定要注意自己是否有权进行操作。

注意区别文件和目录权限的不同之处

注意硬连接与符号连接各自不同之处及应用

注意对SUID和SGID的使用

四、实验内容

常用命令

Linux的登录与退出

关机:

poweroff或shutdown-hnow

重启系统:

reboot或shutdown–rnow

注:

此操作只能由系统管理员(root)来执行。

课本1.3中的系统命令:

man、date、who、uptime、passwd的使用

passwd修改当前用户的口令

passwd用户名修改指定用户的口令,只能用root来完成

与其他用户通讯命令:

write、talk、wall、mesg

课本第二章中的实用程序:

more、less、cat、head与tail、wc、tee;

练习正则表达式及grep、egrep、awk、tr的使用;

用户管理(root用户有权)

添加用户:

adduseradd用户名

删除用户:

userdel用户名

添加用户组:

groupadd组名

删除用户组:

groupdel组名’组内所有用户都已被删除

查看/etc/passwd文件内容

cat/etc/passwd文件中记录系统中所有用户的信息,内容如下:

root:

x:

0:

0:

root:

/root:

/bin/sh

其中:

第一列为用户名,第二列口令,第三列用户ID(UID),第四列用户组ID(GID),第五列用户描述,第六列用户主目录,第七列用户shell

其中用户口令单独存放在/etc/shadow文件中。

vi编辑器的使用

使用命令:

cp/etc/httpd/conf/httpd.conf./

复制一个文本文件httpd.conf到自己的目录中,然后用vi进行编辑练习第三章学习的命令。

五、思考题

1.写出目录与文件权限的不同之处

2.写出硬连接与符号连接各自不同之处

3.在当前目录/home/zheng下新建一个目录back,将当前目录改为back,在back下新建2个长度为0的文件test1、test2,然后把test2移到其父目录中并改名为file12。

实验三Shell使用

一、实验目的

了解Shell的功能,理解Shell相关的概念;

掌握Bash操作方法和环境设置

二、实验要求

熟悉BashShell的环境及基本设置和技巧

掌握BashShell常用命令

掌握输入输出重定向和管道

掌握程序的前后台执行

三、实验内容

1、Bash的操作技巧

使用命令历史¬――history

使用命令补全功能——Tab键

使用命令别名

alias查看已定义的命令别名

aliascopy=‘cp’为cp定义一个别名copy

unaliascopy取消别名copy

分号――多命令执行

ls;date执行完ls命令后继续执行date命令

括号――()

(ls;date)>>list将两个文件的输出结果作为整体输出到list中

2、输入输出重定向和管道

(1)输入重定向:

writezz

标准输出重定向:

ls>ls.txt将命令ls的输出输入到ls.txt中(原内容被覆盖)

ls>>ls.txt将命令ls的输出追加到ls.txt中

(2)标准错误重定向

mkdir/etc/ttmp2>err.log将命令出错的信息输出到err.log中

(3)管道

ls–l|grep‘^d’将ls命令的输出作为grep的输入

3、Shell标准环境变量

set查看shell所有环境变量

HOME用户主目录的路径名

PATH命令查找路径

PS1和PS2

PS1B-Shell主提示符,PS2副提示符

TERM指定终端类型名

显示变量值:

echo$变量名

给变量赋值:

变量名=值

4、程序的前后台切换

Ctrl+z将正在执行的程序切换到后台执行

jobs查看所有后台执行的程序

fg编号将后台执行的程序切换到前台执行

实验四Shell编程

一、实验目的

理解Shell的变量、条件表达式、流程控制和函数的概念,掌握Shell编程的基本方法。

二、实验要求

shell程序的格式。

环境变量、变量参数、用户变量。

条件表达式,文件条件、字符串条件、数学条件和逻辑操作符标达式。

流程控制。

If,for,while等函数。

三、实验内容

变量练习

#!

/bin/sh

#Itismyfirstshellscripttotestvariables

echoThePATHenviromentvariableis:

$PATH

echoThePIDis:

$$

echoThescriptfilenameis:

$0

echoThefirstparameteris:

$1

echoThesecondparameteris:

$2

echoThethirdparameteris:

$3

echoTheIFSenviromentvarableis:

$IFS

echoThe‘$*’paramentvariableis:

“$*”

echoThe‘$@’paramentvariableis“$@”

userlist=`who`

echouserlist|awk‘{printf(“%s%s”,$1,$2)}’

exit0

与脚本交互

#!

/bin/sh

#MySecondShellScripttotesttheinteractionbetweenuserandScript

num=0

while[$num–lt3]

do

echo–nPleaseEnterYourusername:

readusername

echo–nPleaseEnterYourPassword

readpasswd

[$username=‘abcd’–a$passwd=‘1234’]&&{

echoWelcomeToOurSite

break

}

num=`expr$num+1`

done

[$num–eq3]&&Yourhavebeenfailfor3times,Systemhalt.

显示指定目录中,含有bin字符的文件名

#!

/bin/sh

if[$#-lt1]

then

echo-nPleaseaDirectory:

readdir

else

dir=$1

fi

if[!

-d$dir]

then

echo$dirisn'tadircoryordon'texist...

exit1

fi

forfilein$dir/*

do

ifgrep–qbin$file

then

echo$file

fi

done

exit0

函数使用

将指定目录中的所有文件备份当前目录

fcp(){

forfilein$1/*

do

[-f$file]&&{

cp$file./

echo$filehasbeencopied….

}

done

}

whiletrue

do

echo–n“PleaseEnteraDirectoryname(EnterReturntoexit):

readdir

[-z$dir]&&exit0

If[-d$dir]

Then

fcp$dir

else

echoEnterError…

fi

done

exit0

四、实验步骤

使用vi编辑器建立Shell脚本文件

#vifilename.sh

使用“chmodu+x脚本文件名”标记脚本文件可执行

#chmodu+xfilename.sh

执行/调试Shell脚本

#./filename

五、作业

注释实习中4个shell脚本的每一条语句的功能。

编写两个数相加的程序

Ø什么是shell脚本程序?

shell脚本程序就是按照一定的语法结构把若干linux命令组织在一起,使这些命令按照我们的要求完成一定功能。

它可以进行类似程序的编写,并且不需要编译就能执行.

Ø当编辑好脚本程序后,要使脚本程序可执行,需要改变其权限:

#chmod+xfilename

Ø变量设定规则:

1.变量与变量内容以等号(=)来连结;

2.等号两边不能直接接空格符;

3.变量名称只能是英文字母与数字,但是数字不能是开头字符;

4.引用变量用“$变量名”,例如

#echo$name

Ø4.若有空格符可以使用双引号或单引号将变量内容结合起来,但须要特别留意,双引号内的特殊字符可以保有变量特性,但是单引号内的特殊字符则仅为一般字符,例如:

#name=aabb//错误

#name=“aabb”//正确

#name=“$LOGNAMEisme”//rootisme

#name=‘$LOGNAMEisme’//$LOGNAMEisme

Ø5.通常大写字符为系统预设变量,自行设定变量可以使用小写字符;

Ø6.取消变量的方法为:

unset变量名

Øecho

显示变量内容

语法:

[test@testtest]#echo$variable

范例:

[test@testtest]#echo$PATH

/bin:

/sbin:

/usr/sbin:

/usr/bin:

/usr/local/sbin:

/usr/local/bin:

/usr/local/bin:

/bin:

/usr/bin:

/usr/X11R6/bin

Øenv

显示目前系统中主要的预设变量内容

语法:

[test@testtest]#env

Øset

显示目前系统中全部的变量内容

语法:

[test@testtest]#set

Ø

Ødeclare

声明变量内容

语法:

#declare[-afirx]变量名

-a:

定义为数组array

-f:

定义为函数function

-i:

定义为整数integer

-r:

定义为『只读』

-x:

定义为透过环境输出变量

Øread

从键盘读入变量内容

语法:

[test@testtest]#readname

testing

[test@testtest]#echo$name

testing

 

Ø测试文件状态的条件表达式

-e是否存在-d是目录

-f是文件-L符号连接

-s文件非空-r可读

-w写-x可执行

#test-e/dir&&echo“exist”

Ø字符串测试有以下格式

teststr_operator“str”

test“str1”str_operator“str2”

[str_operator“str”]

[“str1”str_operator“str2”]

Ø其中str_operator可以是:

=两个字符串相等!

=两个字符串不相等

-z空串-n非空串

Ø#test“aaa”=“aaa”&&echo“equal”

Ø测试数值格式如下:

Øtestnum1num_operatornum2

Ø[num1num_operatornum2]

Ø

Ø其中num_operator可以是以下内容:

Ø-eq数值相等-ne数值不相等

Ø-gt数1大于数2-lt数1小于数2

Ø-ge数1大于等于数2

Ø-le数1小于等于数2

Ø#test2-lt3&&echo“little”

-a

Ø(and)两状况同时成立!

test-rfile-a-xfile,则file同时具有r与x权限时,才为true.

-o

Ø(or)两状况任何一个成立!

Test-rfile-o-xfile,则file具有r或x权限时,就传回true.

!

Ø相反状态,如test!

-xfile,当file不具有x时,回传true.

数据处理指令包括:

—MOV数据传送指令—MVN数据取反传送指令

—CMP比较指令—CMN反值比较指令

—TST位测试指令—TEQ相等测试指令

—ADD加法指令—ADC带进位加法指令

—SUB减法指令—SBC带借位减法指令

—RSB逆向减法指令—RSC带借位的逆向减法指令

—AND逻辑与指令—ORR逻辑或指令

—EOR逻辑异或指令—BIC位清除指令

ØLinux命令格式:

Ø#command[-options]parameter1

parameter2...

Ø#ls-al/root

Ø--help

Ø大多数GNU工具都有--help选项,用来显示工具的一些信息,如:

#cat--help

Ø如果通过--help显示的信息超过了一屏,可通过管道用less分页程序进行分屏显示,如:

#ls--help|less

Ø非GNU工具可以使用-h或者-help显示帮助信息.

Øman工具用于显示系统文档中的manual页内容,要了解某个工具更为详细的信息,包括man工具自身,可以使用命令man后跟工具名来实现,如:

#manls

Øless分页工具

Øman工具通过分页程序(通常是less)自动发送输出结果,使用户可以分屏浏览一个文件.当以这种方式显示手册页时,less工具将在显示完一屏后,在屏幕底部显示提示符(:

),并等待键盘输入,按下空格键可以显示下一屏的文本信息,按下q键可以退出man并返回到shell提示符.

Ømanual

Ø基于文件系统层次标准(FilesystemHierarchyStandard,FHS),Linux系统的手册页分为10个部分,每个部分描述了相关工具的使用方法.

Ø1.用户命令2.系统调用3.子程序

4.设备5.文件格式6.游戏

7.其他8.系统管理9.本地

10.最新

Ø除非指定手册的某个部分,否则man工具将根据命令行上指定的单词显示手册中最早出现的相关内容.

Ø如输入以下命令,将显示系统手册中第1部分中write工具对应的页面内容:

#manwrite

Ø为了看到第二部分中write工具对应的页面内容,可输入:

#man2write

这个命令限定man工具只在第2部分查找write有关手册页的内容.

Ø使用选项-a,可以浏览相关主题的所有man页,通过按q键转到下一部分.如$man-awrite可浏览到write的所有man页内容.

Øls:

显示目录内容

#ls

Øcd:

更换当前目录

#cd/home

Øcp:

复制文件

#cp/etc/inittab/home

Ømv:

移动文件或更改文件名

#mvfile1file2

#mvfile1/home

Øcat:

显示文本文件内容

#catfile1

Ørm:

删除文件

#rm-ffile1

Ømkdir:

创建目录

#mkdirdir1

Øless或more:

分屏显示文件

#morefile1

#ls|more

Øclear:

清屏

#clear

Øpwd:

显示当前目录路径

#pwd

Ø重定向

Linux中,命令的stdout(标准输出)和stderr(标准错误输出)是显示屏幕,而stdin(标准输入)是键盘.

有时,我们会希望把输出信息输出到某个特定文件中,或从某个文件读入输入信息.这时,就要用到输入输出重定向.

Østdin代码为0使用<或<<

stdout代码为1使用>或>>

stderr代码为2使用2>或2>>

Ø#ls-l>text(清空新建)

Ø#ls-l>>text(追加)

Ø若文本文件file1存在,file2不存在,

#catfile1file2会同时输出正确信息(file1的内容)和错误信息(file2不存在),这时可分别保存正确和错误信息:

#catfile1file2>right2>error

或者将所有信息都保存在一个文件中:

#catfile1file2>msg2>&1

Ø标准输入重定向“<”的作用是:

将原本需要由键盘输入的数据经由文件读入.

#cat>text

上命令会把键盘输入的信息保存在text中,按ctrl+d结束离开.

使用“<”,我们可以用文件代替键盘输入:

#cat>text

Ø“<<”的作用是“结束输入的字符”

#cat>text<

当输入“eof”时,输入结束

Ø管道“|”的作用是把前面一个命令的输出信息做为后面一个命令的输入信息.

Ø#ls/dev|more

#ls/dev|grepcdrom

编译文件的过程可以分以下几个阶段:

ØBootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码

Ø通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境

Ø系统启动代码完成基本软硬件环境初始化后,对于有操作系统的情况下,启动操作系统、启动内存管理、任务调度、加载驱动程序等,最后执行应用程序或等待用户命令

Ø对于没有操作系统的系统直接执行应用程序或等待用户命令

主流bootloader介绍

U-boot

vivi

ARMboot

Blob

Redboot

Ø根文件系统是linux/UNIX系统启动的一个重要组成部分,也是操作系统正常工作的必要组成部分,在启动内核后需要挂载根文件系统

Ø一般重要的文件、命令、应用程序等都保存在根文件系统中,操作系统起来后可以直接使用

Ø根文件系统的实现多种多样

基于ram的ramdisk

基于flash的cramfs、yaffs2

基于网络的nfs

Øvi编辑器有3个操作模式:

1、vi编辑模式

2、vi插入模式

3、vi最后一行模式(命令模式)

在编辑模式下,vi将输入的字符作为命令对待,并对每个命令做出回应,但不显示这些字符,如dd命令;

在插入模式下,vi将输入的字符作为正文内容放在正编辑的文件中。

所有以冒号(:

)开始的命令将使vi处于最后一行模式,光标移动到屏幕最底一行,输入的命令将在该行显示,如:

q!

Ø由编辑模式切换到插入模式

vi启动后,在输入文本之前,必须通过按i键(在光标前插入字符)或a键(在光标后追加字符)将vi切换到插入模式。

Ø由插入模式切换到编辑模式

输入完成后,按ESCAPE键,将返回到vi编辑模式。

Ø由编辑模式切换到插入模式

Ø常用最后一行模式命令

:

setnumber加上行号

:

setnonumber取消行号

:

n1,n2con3将n1行到n2行之间的

内容复制到n3行下

:

n1,n2mn3将n1行到n2行之间的

内容剪切到n3行下

3、简述嵌入式系统的体系结构。

(P5)

答:

嵌入式系统自底向上包含四个部分:

硬件平台、嵌入式实时操作系统(RTOS)、硬件抽象层(HAL)和嵌入式实时应用程序。

硬件抽象层位于操作系统和硬件之间,包含了系统中与硬件相关的大部分功能。

屏蔽了底层硬件的多样性,操作系统不再直接面对具体的硬件环境,而是面向由这个中间层次所代表的、逻辑上的硬件环境。

1、ARM微处理器有哪几种运行模式?

其中哪些是特权模式,哪些又是异常模式?

(P64)

答:

ARM微处理器支持7种运行模式,分别为:

用户模式;快速中断模式;外部中断模式;管理模式;数据访问终止模式;系统模式;未定义指令中止模式。

除用户模式以外,其余的所有6种模式称之为非用户模式,或特权模式(PrivilegedModes);而除去用户模式和系统模式以外的5种又称为异常模式(ExceptionModes),常用于处理中断或异常。

ARM指令有哪几种寻址方式?

试分别叙述其各自的特点并举例说明。

(P77)

答:

ARM指令系统支持的基本寻址方式有7种:

立即数寻址、寄存器寻址、寄存器间接寻址、基址变址寻址、多寄存器寻址、堆栈寻址、相对寻址。

他们的特点分别是:

立即数寻址:

操作数本身就在指令中给出。

如:

ADDR0,R0,#0x3f

寄存器寻址:

指令中地址码给出的是寄存器编号。

如:

ADDR0,R1,R2

寄存器间接寻址:

寄存器中的值作为操作数的地址,操作数本身存放在存储器中。

如:

ADDR0,R1,[R2]

基址变址寻址:

将寄存器的内容与指令中给出的地址偏移量相加,从而得到一个操作数的有效地址,用于访问基址附近的存储器单元。

如:

LDRR0,[R1,#4]

多寄存器寻址:

块拷贝寻址。

如:

LDMIAR0,{R1,R2,R3,R4}

堆栈寻址:

用堆栈作为地址。

如:

STMFDSP!

{R1-R7,LR}

相对寻址:

以程序计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1