北 京 林 业 大 学
2012学年—2013学年第 二 学期 Linux应用 实验任务书
专业名称: 信息管理与信息系统 班 级:
姓 名: 学 :
实验环境: 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) 输入、输出重定向和管道
(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中的行数、单词数和字符数:
行数:
单词数:
字符数:
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. 输出重定向>和>>的区别是什么/p>
答:>是将内容重定向输出到某个文件中,若有新的内容重定向输出到同一个文件,则新的内容会替代原来的内容。
》也是将内容重定向到某个文件中,但若有新的内容重定向输出到同一个文件,则新的内容会接在原来内容的尾部。
区别就是》不替代原有内容,只是接着往下输出,而>会替代原来的内容。
展开阅读全文
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!