Linux软件管理与vim实验报告,LinuxVi编辑器的使⽤实验报
告.doc
北 京 林 业 ⼤ 学
2012学年—2013学年第 ⼆ 学期 Linux应⽤ 实验任务书
专业名称: 信息管理与信息系统 班 级:
姓 名: 学 号:
实验题⽬: 实验三 Vi编辑器的基本使⽤
实验环境: Red Hat Linux 9
实验⽬的:
1. 通过Vi 操作练习,能够熟练使⽤ Vi 中的常见操作,并且熟悉 Vi 的3种模式。
2. 熟悉shell的各项功能。
实验步骤:
1. 熟悉Shell环境,使⽤Shell的各种功能
1) 命令补齐功能
l ⽤date命令查看系统当前时间,在输⼊da后,按tab键,让shell⾃动补齐命令的后半部分。
按tab键⾃动补齐:
l ⽤mkdir命令创建新的⽬录。⾸先输⼊第⼀个字母m,然后按tab键,由于以m开头的命令太多,shell会提⽰是否显⽰全部的可能命令,输⼊n。
l 再多输⼊⼀个字母k,按tab键,让shell列出以mk开头的所有命令的列表。
l 在列表中查mkdir命令,看看还需要多输⼊⼏个字母才能确定mkdir这个命令,然后输⼊需要的字母,再按tab键,让shell补齐剩下的命令。
l 最后输⼊要创建的⽬录名,按回车键执⾏命令。
l 多试⼏个命令利⽤tab键补齐。
到a可以补齐
到p可以补齐
2) 命令别名功能
l 输⼊alias命令,显⽰⽬前已经设置好的命令的别名。
l 设置别名ls为ls –l,以长格形式显⽰⽂件列表:
l 显⽰别名ls代表的命令,确认设置⽣效:
l 使⽤别名ls显⽰当前⽬录中的⽂件列表。
l 删除别名ls:#unalias ls。
l 显⽰别名ls,确认删除别名已经⽣效:
l 最后再⽤命令ls 显⽰当前⽬录中的⽂件列表。
3) 输⼊、输出重定向和管道linux系统vim编辑器
(1) 输⼊/输出重定向
l ⽤ls命令显⽰当前⽬录中的⽂件列表:
l 使⽤输出重定向,把ls命令在终端上显⽰的当前⽬录中的⽂件列表重定向到⽂件list中:
l 查看⽂件list中的内容:
l 再次使⽤输出重定向,把ls命令在终端上显⽰的当前⽬录中的⽂件列表重定向到⽂件list中。这次使⽤管道符号>>进⾏重定向:l 查看⽂件list的内容,可以看到⽤>>进⾏重定向是把新的输出内容附加在⽂件的末尾:
l 重复命令#ls –l > list。
l 再次查看⽂件list中的内容,和前两次的结果相⽐较,完成课后第⼀题。
(2) 管道
l 利⽤管道和grep命令,在上⾯建⽴的⽂件list中查字符串list:
l 利⽤管道和wc命令,计算⽂件list中的⾏数、单词数和字符数:
⾏数:
单词数:
字符数:
2. Vi编辑器
运⾏编辑器vi。
1) 在“/root”⽬录下建⼀个名为“/Vi”的⽬录
2) 进⼊“/Vi”⽬录。
3) 在vi中编写⼀个abc.c程序(见下页)
4) 设定⾏号。
5) 将光标移到第6⾏。
6) 复制该⾏内容。:
7) 将光标移到倒数第⼆⾏⾏⾸。
8) 粘贴复制⾏的内容。
9) 撤销第8步的动作。
10) 删除该⾏。
删除了第六⾏
11) 存盘但不退出。
12) 将光标移到⾸⾏。
13) 插⼊模式下输⼊“Hello,this is Vi world!”。
14) 返回命令⾏模式。
15) 向下查字符串“int”
16) 再向上查字符串“stdio”。
17) 强制退出 Vi,不存盘。
/* ⼀个解决“鸡兔同笼”问题的源程序abc.c */
#includemain( )
{
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);
}
实验中的问题及解决办法:
1. ⽤alias命令设置别名的时候,⼀开始直接就打了命令的名称,出现了不是命令的错误,应该在原命令的外⾯加上‘ ’说明那是⼀个命令。
2. 在执⾏复制代码⾏的命令时,经常弄不清是在哪个模式下输⼊,命令模式和插⼊模式经常搞混。需要经常切换。
3. 在本次试验中,主要了解了⼀些有关于⽂件和代码的操作。以前对于虚拟机上的代码编写只能是逐个操作,现在知道了可以逐⾏操作,更加⽅便快捷。
思考题:
1. 输出重定向>和>>的区别是什么?
答:>是将内容重定向输出到某个⽂件中,若有新的内容重定向输出到同⼀个⽂件,则新的内容会替代原来的内容。
》也是将内容重定向到某个⽂件中,但若有新的内容重定向输出到同⼀个⽂件,则新的内容会接在原来内容的尾部。
区别就是》不替代原有内容,只是接着往下输出,⽽>会替代原来的内容。
展开阅读全⽂

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。