实验三 Shell和Vi编辑器
实验三 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.。
实验三Shell和Vi编辑器
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。
Linux操作系统实训unit3
Unit3实习报告:Vi编辑器与Linux shell编程1、Vi编辑器的使用补充教材(《操作系统课程实习》)第二章2、Linux shell编程补充教材(《操作系统课程实习》)第七章及习题【实习报告】实习报告:Linux vi的使用学生姓名:班级:学号:一、实习内容1、用vi编辑器建立一个文件exec,文件内容如下:The present economic system of production,distribution and consumption consumed many years in the making.2、在exec文件的第一行后插入如下两行内容:when the profits were alloted, I received one-hundred dollars.Wet days alternated with fien days.o键,在当前光标所在列下方新增一列并进入插入模式。
3、将文件中第二行中的单词“when”的第一个字符“w”改写成大写“W”。
Esc+:2(空)s/w/W/gc 回车,第一问y,第二问n。
只修改第二行的第一个w 4、将光标移到单词“fien”上,修改成“fine”。
R键,进入覆盖状态,直到按esc键回到指令模式。
5、查找到单词“alloted”,删除该单词,重新打入单词“allotted”。
输入范围,查找并写入新单词6、用“查找”和“替换”命令实现,用“100”替换单词“one-hundred”。
Esc+:1,3 s/one-hundred/100/gc 替换7、在文件的第四行上复制第二行的内容。
Esc+yy 复制光标所在列;p黏贴8、将文件中第一行内容移至文件尾。
9、分别用cat 命令或more命令检查编辑修改后的exec文件。
10、将exec文件中的第一行内容写成文件exec1,存于当前目录下。
在exec中,esc+file exec1创建新文件,dd删除光标所在行,exec1就生成了并保存11、如何获得有关vi编辑器的帮助信息?vi --help回车12、在exec文件的开始处,插入exec0文件(文件exec0是事先在当前目录下已创建的文件文件)内容。
vi编辑器实验报告
竭诚为您提供优质文档/双击可除vi编辑器实验报告篇一:实验报告3_vi编辑器的使用实验三VI编辑器的使用篇二:linux实验报告--vi编辑器的使用计算机工程技术学院(软件学院)实验报告专业计算机网络技术班级成绩评定______学号姓名(合作者____号____)教师签名赖小卿实验题目VI编辑器的使用第周星期一第节广东科学技术职业学院篇三:linux下使用vi编辑器编写并执行c程序实验报告课程名称:操作系统原理实验名称:“helloworld”程序专业:计算机科学与技术年级/班级:学号:实验地点:实验日期:姓名:实验类型:验证性指导教师:实验目的:熟悉linux基本命令;学会使用VI编辑器;掌握在linux 系统下编译c程序的方法。
实验仪器及耗材:1、机房电脑;2、centos-6系统。
实验原理:通过centos-6系统中的终端编写命令并执行,从终端进入vi编辑器编写c程序代码保存后退回终端利用命令执行程序输出helloworld!!!。
实验内容及步骤:1.2.3.4.5.6.7.8.9.添加一个新用户(以自己的名字命名);为新建用户设置口令;用who命令显示登录到系统上的用户;pwd显示当前工作目录cd要求:先转到/root目录下;再转到根目录列出根目录下的文件和目录的详细信息在你的用户家目录下创建新目录“os”删除“os”目录建立一个实验文件file1.txt,要求:建在/home目录下;文件内容为:Iloveos1,?,Iloveos510.显示文件file1.txt的权限用文字设定法将file1.txt权限设置为rw-r—r-x用数字设定法将file.txt权限设置为rwxrw-r—用chown将file1.txt所属的组改为root用chown将file1.txt属主改为root用cat在/home目录下再建文件file2.txt,内容为Iloveos6,?,Iloveos10用cat显示file2.txt的内容用cat将file1.txt和file2.txt的内容合并起来放到file3.txt中。
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 复原命令,取消刚才的插入或删除命令;. 重复命令。
shell和vi编译器
电子信息工程学系实验报告 ——适用于计算机课程课程名称:UNIX 和LINUX 操作系统实验项目名称:Shell 和Vi 编辑器 实验时间:09-21 班级: 姓名: 学号:实 验 目 的:1.熟悉shell 的各项功能;2.掌握Linux 系统终端方式使用的编辑器vi ;3.学习vi 的启动、存盘、文本输入、现有文件的打开、光标移动、复制/剪贴、查找/替换等命令。
实 验 环 境:PC 机一台、虚拟机、CentOs5.5实 验 内 容 及 过 程:1.熟悉Shell 环境,使用Shell 的各种功能 1) 命令补齐功能例:用date 命令查看系统当前时间:例:用mkdir 命令创建新的目录。
在目录下创建“qiong ”文件,然后用“ls -l ”命令查看是否创建成功。
创建: 查看:2.Vi 编辑器在vi 中编写一个abc.c 程序,对程序进行编译、连接、运行。
具体如下: 1)vi 文件名:对指定的文件执行vi 编辑程序。
2)“i ”:插入,进行编辑程序。
输完程序后按“ESC ”退出返回命令模式,输入“:wq ”进行保存并返回。
3)gcc -o abc file01.c成 绩: 指导教师(签名):4)ls命令:5)./abc6)cat 查看文件的内容:编写一个程序解决“鸡兔同笼”问题。
创建一个编译器文件:file01.c 。
用vi编译器编写程序。
保存程序,显示已写入。
实验结果及分析:实验结果如上所示。
分析:在运行程序的时候使用“gcc -o ”命令,但是结果总是出现“command not found”错误提示,导致程序不能运行。
实验心得:通过这次实验,基本熟悉了shell的各项功能:命令补齐功能、命令别名功能输入、输出重定向和管道的功能。
掌握了Linux系统终端方式使用的编辑器vi以及vi的启动、存盘、文本输入、现有文件的打开、光标移动、复制/剪贴、查找/替换等命令。
虽然运行结果有问题,但是过程中的那些命令以及步骤也基本掌握并熟练了。
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 按钮进入各种模式状态。
【答案】实验三 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回到一般模式。
Linux网络操作系统课程实验报告3(Vi编辑器)学生
实验序号: 3 实验项目名称: Vi编辑器
学 号
姓 名
专业、班
实验地点
指导教师
实验时间
一、实验目的及要求
1.掌握Linux系统终端方式使用的编辑器vi;
2.学习vi的启动、存盘、文本输入、现有文件的打开;
3.学习使用vi编辑器建立、编辑、显示以及加工处理文本文件。
二、实验设备(环境)及要求
Redhat linux 9.0
三、实验内容与步骤
1.进入和退出vi
<1>进入vi在系统提示符($)下输入命令vi和想要编辑(建立)的文件名(如example),便可进入vi。
#vi example
<2>退出vi
在命令方式下可有几种方法退出vi编辑器:
:wq把编辑缓冲区的内容写到你编辑的文件中,退出编辑器,回到UNIX shell下。
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仅当作过修改时才将缓冲区内容写到文件上。
: x与: ZZ相同。
:q!强行退出vi。感叹号(!)告诉vi,无条件退出,丢弃缓冲区内容。这样,先前对该文件所做的修改或输入都被抛弃。
2.新建文件
<1>在LinuX提示符$之后,输入命令: vi myfile,然后按〈Enter〉键。
实验三 vi及Shell程序设计
实验三 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脚本,该程序可以计算“你还有多少天可以过生日”。
linux操作系统作业——shell常用命令及vi文本编辑器的用法
实验三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。
实验三-vi及Shell程序设计
实验三及程序设计一、实验任务第一部分1.请在目录下建立一个名为的目录;(请书写命令)[ /]#2.进入目录;[ /]#3.将复制到本目录下;[ ]#4.使用开启本目录下的文件;[ ]#5.在中设定行号;6.移动到第58行,向右移动40个字符,请问看到什么目录?7.移到第1行,并向下搜寻2字符串,请问它在第几行?第118行8.将50到100行之间的改为,如何实现?:50,1009.修改完后,想全部复原,怎么样实现?!或者一直按u10.复制65到73行这9行的内容,并粘贴到最后一行之后;先按“65G”使光标移到65行,再按“9”,然后按“G”回到再回到最后一行,按“P”,就可以完成操作。
11.删除21到42行之间的开头为#符号的批注数据,如何实现?“21G”之后,再用“22”即可删除22行12.将这个文件另存为文件;13.转到第27行,并删除15个字符,结果出现的第一个单词是什么?14.在第一行新增一行,输入I a ,怎样实现?15.保存后退出。
第二部分程序设计1.请编写一个脚本,当执行该脚本的时候,该脚本可以显示:1)你目前的身份(用)2)你目前所在的目录(用)2. 请编写一个脚本,该程序可以计算“你还有多少天可以过生日”。
3. 让用户输入一个数字,程序可以由1+2+3...一直累加到用户输入的数字为止。
4. 请编写一个脚本,它的作用是:1)先查看一下这个名称是否存在;2)若不存在,则建立一个文件,使用来建立,建立完成后离开;3)如果存在的话,判断该名称是否为文件,若为文件则将它删除后建立一个目录,目录名为,之后离开;4)如果存在的话,判断该名称是否为目录,若为目录则删除此目录。
而且每一栏都以一行字符串 1 “”来显示,那个1表示行数。
,6. 请编写一个脚本,利用循环把当前目录下的所有*文件复制到指定的目录中,并显示复制后该目录内按文件大小排序的目录文件清单。
# :基本名当前目录路径指定目录路径# :$1x $1/*$x $2$27. 请编写一个脚本,它把第二个位置参数及其以后的各个位置参数指定的文件复制到第一个位置参数执行的目录中。
Linux操作系统及应用项目3 shell与vim编辑器
课题引入——教学目标
学习本课需要实现的教学目标: 掌握shell的基本命令 掌握shell的基本概念和作用 掌握shell环境变量概念和使用方法 掌握shell程序的结构和设计方法 能够完成本课程提出的项目内容
课题引入——应达到的职业能力
学生学习本课后应该具有的职业能力: 熟练掌握Vi编辑器的使用 深入理解shell的思想 掌握shell变量和环境变量的设置 能够进行基本的shell程序设计 能够读懂Linux操作系统中的系统脚本
Shell支持具有字符串值的变量。 Shell变量不需要专门的说明语句,通过赋值语句完 成变量说明并予以赋值。 在命令行或Shell脚本文件中使用$name的形式引用 变量name的值。
shell变量的定义和引用
在Shell中,变量的赋值有下列句法格式: name=string name是变量名,它的值就是string,“=”是赋值符号。 变量名是以字母或下划线开头的字母、数字和下划线字 符序列。 通过在变量名(name)前加$字符(如$name)引用变 量的值,引用的结果就是用字符串string代替$name。 在定义变量时,若string中包含空格、制表符和换行符, 则string必须用’string’或者”sting”的形式,即用单(双 )引号将其括起来。双引号内允许变量替换,而单引号 内则不可以。
• 项目3 shell与vim编辑器
项目导入:系统管理员的一项重要工作就是要修改与设定某些重要软 件的配置文件,因此至少得要学会一种以上的文字接口的文本编辑器。 所 有的Linux发行版本都内置有 vi文本编辑器,很多软件也默认使用 vi 作为 编辑的接口, 因此读者一定要学会使用 vi文本编辑器。vim 是进阶版的vi, vim 不但可以用不同颜色显示文本内容,还能够进行诸如 shell script、C program 等程序的编辑,因此,可以将 vim 视为一种程序编辑器。 职业能力目标和要求: 学会使用vi编辑器。 了解shell的强大功能和shell的命令解释过程。 学会使用重定向和管道。 掌握正则表达式的使用方法。
实习三 VI编辑器
实习三VI编辑器及shell命令一.实习目的学习vi的配置学习vi的常用编辑命令了解shell的功能及相关配置文件,及Bash常用命令二.实习要求掌握vi的简单配置参数:添加行号、括号匹配、自动缩进及C格式缩进等掌握常用的编辑命令:i、x、r、p、yy、dd等及ex转义命令掌握vi中的模式查找与替换学会使用vi的帮助文档了解Bash相关配置文件:/etc/profile、$HOME/.bash_profile、$HOME/.bashrc、$HOME/.bash_logout掌握Bash常用命令:history、alias、fg、bg、jobs、输入输出重定向三.实习内容1,练习对vi的简单配置,通过命令及配置文件先输入vi .vimrc然后输入要配置的命令::set ai 自动缩进:set cindent C格式锁定:set num 显示行号2,自己复制一个文本文件练习vi的编辑命令复制一个文本文件的内容到file1中,并练习一些简单的vi编辑器的命令,如:wc –w :统计字数cp a.txt file1&&rm 等命令。
3,在vi中编写一个C程序,并编译执行;或输入第四章的shell脚本,保存并执行。
编译C程序的方法:gcc 源程序-o 生成的可执行程序文件名4为可执行程序添加执行权限;chmod u=rwx,g=r,o=r aa执行程序:./可执行程序文件名: ./aa4,修改Bash的配置文件,让所有用户登录后首先显示用户主目录中的所有内容,并致欢迎词。
以root身份登录,在 /etc/profile 文件的最后一行加上ls $HOMEecho "Welcome to MyLinux!!!"5,将某用户最近使用过的20条命令行保存到一个文件中,并用vi编辑,删除命令行前的序号。
history 20 >>a.txt然后用vi编辑器删除命令行前的序号。
linux实习三 vi编辑和shell命令
?text 在文件中向后查找textn 在同一方向重复查找N 在相反方向重复查找ftext 在当前行向前查找textFtext 在当前行向后查找textttext 在当前行向前查找text,并将光标定位在text的第一个字符Ttext 在当前行向后查找text,并将光标定位在text的第一个字符:set ic 查找时忽略大小写:set noic 查找时对大小敏感:s/oldtext/newtext 用newtext替换oldtext:m,ns/oldtext/newtext 在m行通过n,用newtext替换oldtext:g/text1/s/text2/text3 查找包含text1的行,用text3替换text2:g/text/command 在所有包含text的行运行command所表示的命令:v/text/command 在所有不包含text的行运行command所表示的命令s 命令来替换字符串::s/vivian/sky/ 替换当前行第一个vivian 为sky:s/vivian/sky/g 替换当前行所有vivian 为sky:n,$s/vivian/sky/ 替换第n 行开始到最后一行中每一行的第一个vivian 为sky :n,$s/vivian/sky/g 替换第n 行开始到最后一行中每一行所有vivian 为skyn 为数字,若n 为.,表示从当前行开始到最后一行:%s/vivian/sky/(等同于:g/vivian/s//sky/)替换每一行的第一个vivian 为sky :%s/vivian/sky/g(等同于:g/vivian/s//sky/g)替换每一行中所有vivian 为sky //自己操作过没有可以使用# 作为分隔符,此时中间出现的/ 不会作为分隔符:s#vivian/#sky/# 替换当前行第一个vivian/ 为sky/:%s+/oradata/apras/+/user01/apras1+ (使用+ 来替换/ ):/oradata/apras/替换成/user01/apras1/1.:s/vivian/sky/ 替换当前行第一个vivian 为sky:s/vivian/sky/g 替换当前行所有vivian 为sky2. :n,$s/vivian/sky/ 替换第n 行开始到最后一行中每一行的第一个vivian 为sky:n,$s/vivian/sky/g 替换第n 行开始到最后一行中每一行所有vivian 为sky(n 为数字,若n 为.,表示从当前行开始到最后一行)3. :%s/vivian/sky/(等同于:g/vivian/s//sky/)替换每一行的第一个vivian 为sky:%s/vivian/sky/g(等同于:g/vivian/s//sky/g)替换每一行中所有vivian 为sky4. 可以使用# 作为分隔符,此时中间出现的/ 不会作为分隔符:s#vivian/#sky/# 替换当前行第一个vivian/ 为sky/4.学会使用vi的帮助文档vim -h和vi 命令下:help5.了解Bash相关配置文件:/etc/profile、$HOME/.bash_profile、$HOME/.bashrc、$HOME/.bash_logout/etc/profile是全局的,每个用户登录时都会运行的环境变量设置。
vi使用和shell编程实验
练习 1.5 a.建立以下文件 ex8: echo"current directory is`pwd`" echo"home directory is $ HOME" echo"file * . ?" echo" directory ' $ HOME ' " b.执行 ex8: $sh ex8 单引号 由单引号括起来的字符都作为普通字符出现。 倒引号 练习 1.6: $ today=`date` $echo Today is $ today Today is Thu May 04 10 :56 :20 CST 2000 $ 又: $ users=`who | wc -l` $ echo The number of users is $ users The number of users is 5 反斜线
实验设备:PC 机。 实验原理:使用 vi 的单行和多行复制命令,练习字符串查找替换命令,删除一
个字符,删除光标后整个内容命令,删除一行命令,恢复删除,保存 和退出命令等命令。 shell是Linux系统中一个重要的层次,它是用户与系统交互作用的界 面。在介绍Linux命令时,shell都作为命令解释程序出现:它接收用 户打入的命令,进行分析,创建子进程实现命令所规定的功能,等子 进程终止工作后,发出提示符。这是shell最常见的使用方式。 shell 除了作为命令解释程序以外,还是一种高级程序设计语言,它 有变量,关键字,有各种控制语句,如 if, case, while, for 等语 句,有自己的语法结构。利用 shell 程序设计语言可以编写出功能很 强、但代码简单的程序,特别是它把相关的 Linux 命令有机地组合在 一起,可大大提高编程的效率,充分利用 Linux 系统的开放性能,设 计出适合自己要求的命令。 实验方法: 1.vi 实验 (1)在“/home”目录下建一个名为“vi”的目录; (2)进入“vi”目录; (3)将文件“/etc/inittab”复制到“vi”目录下; (4)使用 vi 打开“vi”目录下的 inittab; (5)设定行号,指出设定 initdefault(类似于“id:5: initdefault”)的 所在行号; (6)将光标移到该行; (7)复制该行内容; (8)将光标移到最后一行行首;
实验三 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。
【6】vi编辑器及shell编程
【删除】——命令模式下
x 删除光标所在字符 dw/db 删除光标后/前一单 词 dd 删除光标所在的行 s 删除光标所在字节, 并进入输入模式
d光标键:
左:删除光标前面的字符; 右:删除光标所在的字符; 上:将当前行与上一行删除; 下:当前行与下一行删除
#表示数字 #x 删除几个字符,如3x #dw 删除几个单词,如3dw表示 删除三个单词 #dd 删除多个行,如3dd 表示删 除光标行及光标的下两行 d$ 删除光标到行尾的内容
1.4文本编辑
【显示行号】——底行命令模式下输入set nu可设置vi显示 行号 命令模式转编辑模式的命令有:
i 切换到插入模式,在光标左侧输入正文。 a 切换到插入模式,在光标右侧输入正文。 o 切换到插入模式,在光标所在行的下一 行增添新行。 O 切换到插入模式,在光标所在行的上一 行增添新行。 I 切换到插入模式,在光标所在行的开头 输入正文。 A 切换到插入模式,在光标所在行的末尾 输入正文。 s 切换到改写模式,用输入的正文替换光 标指向的字符。
autoindent 就是自动缩进的意思,当你在输入 状态用回车键插入一个新行,或在 normal 状 态用 o 或 O 插入一个新行时,autoindent 会自动地将当前行的缩进拷贝到新行,也就是" 自动对齐”,当然了,如果你在新行没有输入 所有字符,那么这个缩进将自动删除。
cindent 就不同了,他会按照 C 语言的语法, 自动地调整缩进的长度,比如,当你输入了半 条语句然后回车时,缩进会自动增加一个 TABSTOP 值,当你键入了一个右花括号时,会 自动减少一个 TABSTOP 值。
如果文件存在,则vi显示文件内容并等待用 户的命令。如果指定的文件不存在,则vi将 告知用户这是未命名的文件,并进入一个空 白的界面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4)查看和修改Shell变量
用echo命令查看环境变量PATH的值:#echo $PATH。
设置环境变量PATH的值,把当前目录加入到命令搜索路径中去:#PATH=“$PATH:.”。
用echo命令查看环境变量PATH的值:#echo $PATH。
再次查看文件list中的内容,和前两次的结果相比较,注意list文件大小和创建时间的区别,完成课后第一题。
(2)输入重定向
使用输入重定向,把上面生成的文件list用mail命令发送给自己:#mail root < list。
查看新邮件,看看收到的新邮件中其内容是否为list文件中的内容。
(3)管道
利用管道和grep命令,在上面建立的文件list中查找字符串list:#cat list | grep list。
再次使用输出重定向,把ls命令在终端上显示的当前目录中的文件列表重定向到文件list中。这次使用管道符号>>进行重定向:#ls–l >> list。
查看文件list的内容,可以看到用>>进行重定向是把新的输出内容附加在文件的末尾,注意其中两行list文件的信息中文件大小的区别:cat list。
重复命令#ls–l > list。
显示别名ls代表的命令,确认设置生效:#alias ls。
使用别名ls显示当前目录中的文件列表。
在使定义的别名不失效的情况下,使用系统的ls命令显示当前目录中的命令列表:#\ls。
删除别名ls:#unalias ls。
显示别名ls,确认删除别名已经生效:#alias ls。
最后再用命令ls显示当前目录中的文件列表。
鸡=12兔子=6
注:
鸡+兔子=头
2鸡+4兔子=脚
x+y=h
2x+4y=f
四.思考题:
1.输出重定向>和>>的区别是什么?
2.通常命令中的-r和-f参数分别表示什么?
3. bash比sh有哪些方便用户使用的功能?
[student@enjoy abc]$ ./abc
1+2+3+...+99+100=5050
[student@enjoy abc]$
[student@enjoy abc]$
4)从如上内容的基础上总结vi的启动、存盘、文本输入、现有文件的打开、光标移动、复制/剪贴、查找/替换等命令。
5)编写一个程序解决“鸡兔同笼”问题。
dd:删除一行。
x:删除一个字符。
$:行尾。
^:行的开始。
:x:写文件并退出vi。
:q!:退出vi,不存文件。
/:允输入查询模式。
3)在vi中编写一个abc.c程序,对程序进行编译、连接、运行。具体如下:
[student@enjoy student]$ cd abc
[student@enjoy abc]$ vi abc.c
比较前后两次的变化。
2.Vi编辑器
1)运行编辑器vi。
2)学习vi常用命令:
(1)语法:vi文件名
对指定的文件执行vi编辑程序。
(2)参数:
文件名:要编辑的文件名。
以下是可在vi中使用的部分命令:
Esc:按<Esc>键将返回命令模式,允许输入新命令。
r:替换一个字符。
R:无限制地在一行中替换。
i:插入模式。
实验三Shell和Vi编辑器
一.实验目的:
1.熟悉shell的各项功能;
2.掌握Linux系统终端方式使用的编辑器vi;
3.学习vi的启动、存盘、文本输入、现有文件的打开、光标移动、复制/剪贴、查找/替换等命令。
二.实验内容:
1.练习使用shell的各项功能;
2.熟练掌握vi编辑器的使用。
三.实验练习:
1.熟悉Shell环境,使用Shell的各种功能
1)命令补齐功能
用date命令查看系统当前时间,在输入da后,按tab键,让shell自动补齐命令的后半部分。
用mkdir命令创建新的目录。首先输入第一个字母m,然后按tab键,由于以m开头的命令太多,shell会提示是否显示全部的可能命令,输入n。
再多输入一个字母k,按tab键,让shell列出以mk开头的所有命令的列表。
写出定义别名cde为:cd /etc的命令()。
3)输入、输出重定向和管道
(1)输出重定向
用ls命令显示当前目录中的文件列表:#ls–l。
使用输出重定向,把ls命令在终端上显示的当前目录中的文件列表重定向到文件list中:#ls–l > list。
查看文件list中的内容,注意在列表中会多出一个文件list,其长度为0。这说明shell是首先创建了一个空文件,然后再运行ls命令:#cat list。
参考程序:
#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’。
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