实验三Shell和Vi编辑器
实验三 Shell和Vi编辑器

实验三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的基本操作

实验三 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.。
Linux实习三 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 复原命令,取消刚才的插入或删除命令;. 重复命令。
实验3:文本编辑器vi

实验三:文本编辑器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编程实验

实验三 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 ”。
Linux实验三 vi编辑器

实验三 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脚本编程实验

实验三 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程序设计

实验三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回到一般模式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1+2+3+...+99+100=5050
[student@enjoy abc]$
[student@enjoy abc]$
4)从如上内容的基础上总结vi的启动、存盘、文本输入、现有文件的打开、光标移动、复制/剪贴、查找/替换等命令。
5)编写一个程序解决“鸡兔同笼”问题。
main()
{
int i,sum=0;
for(i=0;i<=100;i++)
{
sum=sum+i;
}
printf("\n1+2+3+...+99+100=%d\n",sum);
}
[student@enjoy abc]$ gcc -o abc abc.c
[student@enjoy abc]$ ls
abc abc.c
再次查看文件list中的内容,和前两次的结果相比较,注意list文件大小和创建时间的区别,完成课后第一题。
(2)输入重定向
使用输入重定向,把上面生成的文件list用mail命令发送给自己:#mail root < list。
查看新邮件,看看收到的新邮件中其内容是否为list文件中的内容。
(3)管道
利用管道和grep命令,在上面建立的文件list中查找字符串list:#cat list | grep list。
显示别名ls代表的命令,确认设置生效:#alias ls。
使用别名ls显示当前目录中的文件列表。
在使定义的别名不失效的情况下,使用系统的ls命令显示当前目录的命令列表:#\ls。
删除别名ls:#unalias ls。
显示别名ls,确认删除别名已经生效:#alias ls。
最后再用命令ls 显示当前目录中的文件列表。
再次使用输出重定向,把ls命令在终端上显示的当前目录中的文件列表重定向到文件list中。这次使用管道符号>>进行重定向:#ls –l >> list。
查看文件list的内容,可以看到用>>进行重定向是把新的输出内容附加在文件的末尾,注意其中两行list文件的信息中文件大小的区别:cat list。
重复命令#ls –l > list。
比较前后两次的变化。
2.Vi编辑器
1)运行编辑器vi。
2)学习vi常用命令:
语法:vi文件名
对指定的文件执行vi编辑程序。
(2)参数:
文件名:要编辑的文件名。
以下是可在vi中使用的部分命令:
Esc:按<Esc>键将返回命令模式,允许输入新命令。
r:替换一个字符。
R:无限制地在一行中替换。
i:插入模式。
鸡=12兔子=6
注:
鸡+兔子=头
2鸡+4兔子=脚
x+y=h
2x+4y=f
四.思考题:
1.输出重定向>和>>的区别是什么?
2.通常命令中的-r和-f参数分别表示什么?
3.bash比sh有哪些方便用户使用的功能?
利用管道和wc命令,计算文件list中的行数、单词数和字符数:#cat list | wc。
4)查看和修改Shell变量
用echo命令查看环境变量PATH的值:#echo $PATH。
设置环境变量PATH的值,把当前目录加入到命令搜索路径中去:#PATH=“$PATH:.”。
用echo命令查看环境变量PATH的值:#echo $PATH。
写出定义别名cde为:cd /etc的命令( )。
3)输入、输出重定向和管道
(1)输出重定向
用ls命令显示当前目录中的文件列表:#ls –l。
使用输出重定向,把ls命令在终端上显示的当前目录中的文件列表重定向到文件list中:#ls –l > list。
查看文件list中的内容,注意在列表中会多出一个文件list,其长度为0。这说明shell是首先创建了一个空文件,然后再运行ls命令:#cat list。
1.熟悉Shell环境,使用Shell的各种功能
1)命令补齐功能
用date命令查看系统当前时间,在输入da后,按tab键,让shell自动补齐命令的后半部分。
用mkdir命令创建新的目录。首先输入第一个字母m,然后按tab键,由于以m开头的命令太多,shell会提示是否显示全部的可能命令,输入n。
再多输入一个字母k,按tab键,让shell列出以mk开头的所有命令的列表。
实验二Shell和Vi编辑器
一.实验目的:
1.熟悉shell的各项功能;
2.掌握Linux系统终端方式使用的编辑器vi;
3.学习vi的启动、存盘、文本输入、现有文件的打开、光标移动、复制/剪贴、查找/替换等命令。
二.实验内容:
1.练习使用shell的各项功能;
2.熟练掌握vi编辑器的使用。
三.实验练习:
dd:删除一行。
x:删除一个字符。
$:行尾。
^:行的开始。
:x:写文件并退出vi。
:q!:退出vi,不存文件。
/:允许输入查询模式。
3)在vi中编写一个abc.c程序,对程序进行编译、连接、运行。具体如下:
[student@enjoy student]$ cd abc
[student@enjoy abc]$ vi abc.c
参考程序:
#include<stdio.h>
main()
{
int h,f;
int x,y;
printf("请输入头数和脚数:");
scanf("%d,%d",&h,&f);
x=(4*h-f)/2;
y=(f-2*h)/2;
printf("鸡=%d兔子=%d",x,y);
}
运行结果:
请输入头数和脚数:18,48
在列表中查找mkdir命令,看看还需要多输入几个字母才能确定mkdir这个命令,然后输入需要的字母,再按tab键,让shell补齐剩下的命令。
最后输入要创建的目录名,按回车键执行命令。
多试几个命令利用tab键补齐。
2)命令别名功能
输入alias命令,显示目前已经设置好的命令的别名。
设置别名ls为ls –l,以长格形式显示文件列表:#alias ls=‘ls -l’。