实验三Shell和Vi编辑器
- 格式:doc
- 大小:41.00 KB
- 文档页数:5
实验三Shell和Vi编辑器一. 一.实验目的:1. 1.熟悉shell的各项功能;2. 2.掌握Linux系统终端方式使用的编辑器vi;3. 3.学习vi的启动、存盘、文本输入、现有文件的打开、光标移动、复制/剪贴、查找/替换等命令。
二. 二.实验内容:1. 1.练习使用shell的各项功能;2. 2.熟练掌握vi编辑器的使用。
三. 三.实验练习:1. 1.熟悉Shell环境,使用Shell的各种功能1)1)命令补齐功能●●用date命令查看系统当前时间,在输入da后,按tab键,让shell自动补齐命令的后半部分。
●●用mkdir命令创建新的目录。
首先输入第一个字母m,然后按tab键,由于以m开头的命令太多,shell会提示是否显示全部的可能命令,输入n。
●●再多输入一个字母k,按tab键,让shell列出以mk开头的所有命令的列表。
●●在列表中查找mkdir命令,看看还需要多输入几个字母才能确定mkdir这个命令,然后输入需要的字母,再按tab键,让shell补齐剩下的命令。
●●最后输入要创建的目录名,按回车键执行命令。
●●多试几个命令利用tab键补齐。
2)2)命令别名功能●●输入alias命令,显示目前已经设置好的命令的别名。
●●设置别名ls为ls –l,以长格形式显示文件列表:#alias ls=‘ls -l’。
●●显示别名ls代表的命令,确认设置生效:#alias ls。
●●使用别名ls显示当前目录中的文件列表。
●●在使定义的别名不失效的情况下,使用系统的ls命令显示当前目录中的命令列表:#\ls。
●●删除别名ls:#unalias ls。
●●显示别名ls,确认删除别名已经生效:#alias ls。
●●最后再用命令ls 显示当前目录中的文件列表。
●●写出定义别名cde为:cd /etc的命令()。
3)3)输入、输出重定向和管道(1) (1)输出重定向●●用ls命令显示当前目录中的文件列表:#ls –l。
实验三 vi的基本操作一实验要求1 Vi是Linux中最基本的文本编辑器,熟悉并掌握vi命令模式、文本编辑模式和最后行模式三种工作模式之间的转换方法2 掌握利用vi新建和保存文件:熟悉光标的移动,文本的插入与删除等操作3 掌握字符串替换:行的复制、移动、撤消和删除等操作二实验内容及步骤(一)新建文本文件(1)在shell命令提示符下,输入vi,启动vi编辑器,进入命令模式。
命令模式:前面有”~”的是空白区,无”~”的是编辑区,最下面会显示文件名,当前文件行数,字符数,光标位置(2)按“i”键,从命令模式,切换为文本编辑模式。
此时,屏幕最底端出现”----INSERT---“输入(编辑)模式:最下面会显示insert或replace字样(3)输入文本内容。
退格键或Delete键删除错误字符(4)按Esc键返回命令模式。
(5)按“:”键进入最后行模式,输入“w filename”,可以将正在编辑的内容保存为filename文件。
屏幕底部会显示文件相关信息。
Vi编辑模式下,只有回车键才认为是新的一行。
(6)在最后行模式下,输入”q”,退出vi编辑器。
(二)打开filename文件并显示行号(1)输入命令vi filename,启动vi文本编辑器打开filename文件。
(2)按“:”切换到最后行模式,输入命令“set nu”,每一行前出现行号(3)vi自动返回到命令模式,连续两次输入”Z”,就退出vi。
//保存退出:ZZ, 不保存退出:ZQ(三)在文件中添加内容(1)vi filename,打开文件(2)按“a”键,进入文本编辑模式(3)用方向键将光标标到第一行后,回车,另起一行。
添加文本内容。
将光标移到所需位置,添加内容。
(四)替换文本内容(1)进入最后行模式(2)输入命令1,5 s/string/replace/g ,并按回车键,将文中第1行到5行的string 替换成replace(五)移动文件和删除文件(1)“:”进入最后行模式下,输入命令:1,4 m 5 //将1到4行移动到第5行后面(2)在“:”后,输入命令1,3 d //删除第1到3行内容(3)u 可以恢复被删除部分(4)在“:”后,输入命令q! //退出vi,不保存对文件的修改(六)复制和删除(1)输入命令 vi filename,进入编辑器(2)“:”进入最后行模式,输入命令1,2 co 5 //将第1到2行的内容复制到第5行后面(3)移动光标到第2行,键入命令 dd ,将第2行删除(4)按“:”,输入”wq”,存盘并退出vi.。
实习三VI编辑器及shell命令一.实习目的1.学习vi的配置2.学习vi的常用编辑命令3.了解shell的功能及相关配置文件,及Bash常用命令二.实习内容1.练习对vi的简单配置,通过命令及配置文件set fenc=utf-8 "设定默认解码set nocp "或者set nocompatible 用于关闭VI的兼容模式set number "显示行号set ai "或着set autoindent vim使用自动对齐,也就是把当前行的对齐格式应用到下一行set si "或者set smartindent 依据上面的对齐格式,智能的选择对齐方式set tabstop=4 "设置tab键为4个空格set sw=4 "或者set shiftwidth 设置当行之间交错时使用4个空格set ruler "设置在编辑过程中,于右下角显示光标位置的状态行set incsearch "设置增量搜索,这样的查询比较smartset showmatch "高亮显示匹配的括号set matchtime=5 "匹配括号高亮时间(单位为1/10 s)set ignorecase "在搜索时忽略大小写syntax on "高亮语法2.自己复制一个文本文件练习vi的编辑命令在文本文件中可以通过输入Vi的插入命令(i)、附加命令(a)、打开命令(o)、替换命令(s)、修改命令(c)或取代命令(r)从命令方式进入到输入方式。
对于在文本中光标的移动可以简单的通过上下左右键来进行。
或者通过:$ 将光标移至行尾;W 将光标移至下一个词的开头;E 将光标移至词尾;M 将光标移至中间行的开头等。
对于文本文件的修改,可以通过:x 删除光标所在的字符;X 删除光标前面的那个字符;dd 删除光标所在的行;D 从光标位置开始删除到行尾;u 复原命令,取消刚才的插入或删除命令;. 重复命令。
实验三:文本编辑器vi1实验目的通过实验掌握Linux操作系统的文本编辑器vi。
2实验设备硬件:PC机一台软件:Windows98/XP/2000系统,VMware Workstation6.0,Red Hat Linux 3实验内容(1)v i,vim的使用。
(2)修改/etc/inittab文件。
4实验预习要求仔细阅读参考书:【1】鸟哥的Linux私房菜基础学习篇第三版,人民邮电出版社,鸟哥【2】嵌入式Linux系统开发标准教程,人民邮电出版社,华清远见嵌入式培训中心【3】嵌入式Linux应用程序开发标准教程,人民邮电出版社,华清远见嵌入式培训中心关于vi的部分。
5实验步骤(1)通过vi新建文件。
(2)分别在一般模式,编辑模式和命令模式下测试vi的使用。
6实验重点:(1)vim简介系统管理员的重要工作就是修改与设定某些重要软件的配置文件,因此至少得要学会一种以上的命令界面文本编辑器。
在所有的Linux distributions 上都会有的一套文字编辑器就是vi,而且很多软件默认的也是使用vi 为他们编辑接口。
vim 是高级版本的vi ,vim 不但可以用不同颜色显示文字内容,还能够进行诸如shell script, C program 等程序的编辑功能。
为何要学vim●所有的Unix Like 系统都会内建vi 文本编辑器,其他的文本编辑器则不一定会存在;●很多软件的编辑接口都会主动调用vi (例如crontab, visudo, edquota 等指令);●vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计;●因为程序简单,编辑速度相当快速。
(2)vi的使用基本上vi 共分为三种模式,分别是“一般模式”、“编辑模式”和“命令模式”。
这三种模式的作用分别是:●一般模式:以vi 打开一个文档就直接进入一般模式(这是默认的模式)。
在这个模式中,你可以使用“上下左右”键来移动光标,可以使用“删除字符”或“删除整行”来处理文档内容,也可以使用“复制、粘贴”来处理文件数据。
实验三 shell编程实验(一上机时间:任课教师:实验教师:实验成绩:一、实验目的1.了解shell的作用和主要分类。
2.掌握bash的建立和执行方式。
3.掌握bash的基本语法。
4.综合Linux常用命令和vi编辑器的使用,熟练掌握shell脚本编程。
二、实验注意事项实验室内的实验环境与系统是共用设施,请不要在系统内做对系统或对其他用户不安全的事情。
要求每个同学登录后系统后,要在自己的家目录下创建一个属于自己的子目录(以自己(拼音)名字或学号)。
以后所有工作都要在自己的目录内进行。
建议以后的实验都在同台计算机上做,这样可以保持连续性。
三、实验内容1.利用vi 建立一个脚本文件,该文件在用户输入年、月之后,自动打印数出该年该月的日历。
然后以3种不同方式执行该脚本,如有不能执行情况,请说明原因。
yan@ubuntu:~$ cat >timeecho "please inpute the mounth"read monthecho "please inpute the year"read yearcal $month $year2.编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同则显示“Match ”,并显示“End of program ”,如果不同则显示“End of program ”。
yan@ubuntu:~$ cat >bijiaoecho -n "please inpute word1:"read word1echo -n "please inpute word2:"read word2if test "$word1" = "$word2"thenecho "Match"fiecho "End of program"3.修改上述程序,编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同显示“Match ”,不同则显示“Not match ”,最后显示“End of program ”。
实验三 vi编辑器
一、实验目的
学习使用vi编辑器建立、编辑、显示及加工处理文本文件。
二、实验内容
1.进入和退出vi。
2.利用文本插入方式建立一个文件。
3.在新建的文本文件上移动光标位置。
4.对该文件执行删除、复原、修改、替换等操作。
三、主要实验步骤
1.进入vi。
2.建立一个文件,如hello.c。
进入插入方式,输入一个C语言程序的各行内容,故意制造几处错误。
最后,将该文件存盘。
回到shell状态下。
3.运行gcc hello.c,编译该文件,会发现错误提示。
理解其含义。
4.重新进入vi,对该文件进行修改。
然后存盘,退出vi。
重新编译该文件。
如果编译通过了,可以用../a.out运行该程序。
5.运行man date > file10,然后vi file10.
使用x,dd等命令删除某些文本行。
x命令:删除当前位置的字符
dd命令:删除当前位置所在行
使用u命令复原此前的情况。
u命令:复原上一个操作前的情况
使用c,r,s等命令修改文本内容。
c命令:将新文本修改到光标末尾处
r命令:替换光标所在处的字符
s命令:
使用检索命令进行给定模式的检索。
四、实验小结
在实验时要注意怎么进入和退出vi编辑器,如何进入插入模式还要注意使用ESC 按钮进入各种模式状态。
实验三 Shell脚本编程实验一、实验目的1.掌握Shell编程的基本方法2.了解Shell脚本的基础知识二、实验要求1.完成一个简单Shell程序的编写和执行过程;2.设计一个Shell程序,显示欢迎界面;3.使用until语句创建一个输入exit退出的Shell程序。
三、实验准备Shell是一个命令语言解释器,它拥有自己内建的Shell命令集,Shell也能被系统中其他应用程序调用。
用户在提示符下输入的命令都由Shell解释后传给Linux核心。
Shell的另一个重要特性是它自身就是一个解释型的程序设计语言。
Shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。
Shell 编程语言简单易学,任何在提示符中能键入的命令都能放到一个执行的Shell程序中。
Shell脚本的建立和执行Shell程序可以存放在文件中,这种被Shell解释执行的命令文件称为Shell脚本(Shellscript),也称做Shell文件或者Shell过程。
Shell脚本可以包含任意从键盘输入的UNIX命令。
1)·.Shell脚本的建立建立Shell脚本的方法同建立普通文本文件的方法相同,利用编辑器(如vi)进行程序录入和编辑加工。
例如,要建立一个名为ex1的Shell的脚本,可以在提示符后打入命令:$ vi ex12). 执行Shell脚本的方式执行Shell脚本的方式基本上有三种:(1)输入定向到Shell这种方式是用输入重定向方式让Shell从给定文件中读入命令行并进行相应处理。
其一般形式是:$ sh < 脚本名例如,$ sh < ex1(2)以脚本名作为Shell参数。
其一般形式是:$ sh 脚本名[参数] 例如,$ sh ex2 /usr/mengqc/usr/liuzhy(3)将Shell脚本改为有执行权限的文件,由正文编辑器(如vi)建立的Shell脚本,用户通常是不能直接执行的,需要利用命令chmod将它改为有执行权限。
实验三Vi及Shell程序设计【实验目的】1、掌握vi的操作方法。
2、掌握Shell脚本的编程方法。
【实验内容】第一部分 vi1、请在/tmp目录下建立一个名为vitest的目录;(请书写命令)[root@wwq-VirtualBox:~]# mkdir /tmp/vitest2、进入vitest目录;[root@wwq-VirtualBox:~]#cd /tmp/vitest3、将/etc/man.config复制到本目录下;[root@wwq-VirtualBox:~]#cp /etc/man.config .注意:Ubuntu中没有man.config文件4、使用vi开启本目录下的man.config文件;[root@wwq-VirtualBox:~]#vi man.config5、在vi中设定行号;:set number6、移动到第58行,向右移动40个字符,请问看到什么目录?/dir/bin/foo7、移到第1行,并向下搜寻bzip2字符串,请问它在第几行?第118行8、将50到100行之间的man改为MAN,如何实现?:50,100s/man/MAN/gc9、修改完后,想全部复原,怎么样实现?:q!或者按u撤销10、复制65到73行这9行的内容,并粘贴到最后一行之后;按“65G”使光标移到65行,再按“9yy”,再按“G”到最后一行,再按“P”就可以完成操作。
11、删除21到42行之间的开头为#符号的批注数据,如何实现?按“21G”之后,再按“22dd”即可删除22行。
12、将这个文件另存为man.test.config文件;:w man.test.config13、转到第27行,并删除15个字符,结果出现的第一个单词是什么?删除:按“27G”,再按“15x”即可删除15个字符出现“you”单词14、在第一行新增一行,输入I am a student,怎样实现?按“1G”到第一行,再按“O”新增一行并进入插入模式,输入文字后按Esc回到一般模式。
实验三 vi及Shell程序设计一、实验任务第一部分 vi1.请在/tmp目录下建立一个名为vitest的目录;(请书写命令)[root@localhost /]# mkdir /temp/vistest2.进入vitest目录;[root@localhost /]# cd /tmp/vistest3.将/etc/man.config复制到本目录下;[root@localhost vistest]# cp /etc/man.config /tmp/vistest4.使用vi开启本目录下的man.config文件;[root@localhost vistest]# vi man.config5.在vi中设定行号;:set number6.移动到第58行,向右移动40个字符,请问看到什么目录?/dir/bin/foo7.移到第1行,并向下搜寻bzip2字符串,请问它在第几行?第118行8.将50到100行之间的man改为MAN,如何实现?:50,100s/man/MAN/gc9.修改完后,想全部复原,怎么样实现?:q!或者一直按u10.复制65到73行这9行的内容,并粘贴到最后一行之后;先按“65G”使光标移到65行,再按“9yy”,然后按“G”回到再回到最后一行,按“P”,就可以完成操作。
11.删除21到42行之间的开头为#符号的批注数据,如何实现?“21G”之后,再用“22dd”即可删除22行12.将这个文件另存为man.test.config文件;13.转到第27行,并删除15个字符,结果出现的第一个单词是什么?14.在第一行新增一行,输入I am a student,怎样实现?15.保存后退出。
第二部分 Shell程序设计1.请编写一个Shell脚本,当执行该脚本的时候,该脚本可以显示:1)你目前的身份(用USER)2)你目前所在的目录(用PWD)2. 请编写一个Shell脚本,该程序可以计算“你还有多少天可以过生日”。
实验三shell常用命令及vi文本编辑器的用法一、实验目的1、掌握shell常用命令。
2、掌握vi文本编辑器的用法。
二、实验环境PC、虚拟机三、常用shell命令的介绍1、联机帮助语法:man命令例如:man ls2、更改账号密码语法:passwdOld passwd:(输入旧密码)New passwd:(输入新密码)Retype new passwd:(再输入一次密码)3、显示文字命令echo语法:echo [-n] <字符串> -n表示输出字符串后不换行例如:echo That is a command4、添加用户账号语法:useradd 选项用户名例如:useradd –m peter5、删除用户账号语法:userdel 选项用户名例如:userdel –r peter此命令删除用户账号peter(删除/etc/passwd、/etc/shadow、/etc/group等文件中的记录),同时删除用户peter的主目录。
6、修改用户账号语法:usermod 选项用户名例如:usermod –c firstpeter peter (为用户添加注释)usermod –G root student (把student加入root组中)7、添加用户组语法:groupadd 选项用户组例如:groupadd studgroup添加用户组studgroup8、修改用户组语法:groupmod 选项用户组例如:要修改用户组studgroup的标识号,可以运行以下命令:groupmod -g 1002 studgroup(此命令将组studgroup的组标识号修改为1002)要修改用户组studgroup的标识号和组名,可以运行以下命令:groupmod -g 10000 -n studgroup1 studgroup(此命令将组studgroup的标识号改为10000,组名修改为studgroup1)9、删除用户组语法:groupdel 用户组例如:要删除用户组studgroup,可以运行以下命令:groupdel studgroup10、用户组切换语法:newgrp 用户组例如:newgrp root(此命令将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组)11、列出文件或目录下的文件名语法:ls 选项目录或文件名称例如:ls –a显示当前目录中的所有文件,包含隐藏文件12、将一个文件拷贝至另一个文件,或数个文件拷贝至另一目录语法:cp 选项source destcp 选项source… directory例如:将一份文件aaa复制一份名字为bbb的文件:cp aaa bbb13、注销语法和实例:exit或ctrl+D14、重启语法和实例:reboot或shutdown –r now15、关机语法和实例:halt或shutdown –h now16、联机帮助命令语法:man <command>例如:man more 查看more命令的用法17、显示日历命令语法:cal [选项] [月] [年]例如:cal 12 2012 显示2012年12月的日历18、文件查看和连接命令cat语法:cat [选项] <file1> …例如:把file1的文件内容加上行号后输入到file2文件里cat –n file1 > file2把file1和file2的文件内容加上行号(空白行不加)之后将内容附加到file3中cat –b file1 file2 >>file319、分屏显示命令more语法:more [选项] <file>…例如:more +20 file1 从第20行开始显示file1的文件内容20、按页显示命令less语法:less [选项] <filename>例如:less file1 显示文件file1中内容三、vi常用命令介绍1、vi的进入进入vi:vi 文件名vi (在退出vi时再指定文件名)选项“+n”,表示希望在进入vi之后,光标处于文件中第n行上选项“+”表示希望在进入vi之后光标处于文件最末行2、vi的退出在末行模式下,有四种方法可以退出vi返回到shell:q 系统退出vi返回到shell。