Linux期末复习.docx
- 文档编号:2203563
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:23
- 大小:150.26KB
Linux期末复习.docx
《Linux期末复习.docx》由会员分享,可在线阅读,更多相关《Linux期末复习.docx(23页珍藏版)》请在冰点文库上搜索。
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} 相对寻址: 以程序计
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 期末 复习