linux实验二.docx
《linux实验二.docx》由会员分享,可在线阅读,更多相关《linux实验二.docx(13页珍藏版)》请在冰豆网上搜索。
linux实验二
北京林业大学
2013学年—2014学年第2学期Linux应用实验任务书
专业名称:
班级:
姓名:
学号:
实验题目:
实验二Linux环境下编辑器vi/vim的使用
实验环境:
Linux环境
实验目的:
1.通过Vi操作练习,能够熟练使用Vi中的常见操作。
2.熟悉shell的各项功能。
实验步骤:
1.熟悉Shell环境,使用Shell的各种功能
1)命令补齐功能
●用date命令查看系统当前时间,在输入da后,按tab键,让shell自动补齐命令的后半部分。
●用mkdir命令创建新的目录。
首先输入第一个字母m,然后按tab键,由于以m开头的命令太多,shell会提示是否显示全部的可能命令,输入n。
●再多输入一个字母k,按tab键,让shell列出以mk开头的所有命令的列表。
●在列表中查找mkdir命令,看看还需要多输入几个字母才能确定mkdir这个命令,然后输入需要的字母,再按tab键,让shell补齐剩下的命令。
●最后输入要创建的目录名,按回车键执行命令。
●多试几个命令利用tab键补齐。
2)命令别名功能
●输入alias命令,显示目前已经设置好的命令的别名。
●设置别名ls为ls–l,以长格形式显示文件列表:
显示别名ls代表的命令,确认设置生效:
●使用别名ls显示当前目录中的文件列表。
●删除别名ls:
#unaliasls。
显示别名ls,确认删除别名已经生效:
●最后再用命令ls显示当前目录中的文件列表。
3)输入、输出重定向和管道
(1)输入/输出重定向
●用ls命令显示当前目录中的文件列表:
●使用输出重定向,把ls命令在终端上显示的当前目录中的文件列表重定向到文件list中,查看文件list中的内容:
●再次使用输出重定向,把ls命令在终端上显示的当前目录中的文件列表重定向到文件list中。
这次使用管道符号>>进行重定向:
查看文件list的内容,可以看到用>>进行重定向是把新的输出内容附加在文件的末尾:
●重复命令#ls–l>list。
●再次查看文件list中的内容,和前两次的结果相比较,完成课后思考题。
(2)管道
●利用管道和grep命令,在上面建立的文件list中查找字符串list:
●利用管道和wc命令,计算文件list中的行数、单词数和字符数:
2.Vi编辑器
更改linux的启动类型
修改/etc/inittab配置文件
保存退出
重新启动验证
如何限定用户登录
使用vi编辑器修改/etc/passwd配置文件
例如:
将下列项
heng:
x:
501:
501:
:
/home/heng:
/bin/bash
修改为
heng:
x:
501:
501:
:
/home/heng:
/sbin/nologin
保存退出
切换为heng账户登录验证
[root@localhost~]#su-heng
使用编辑器vi
1)在“/root”目录下建一个名为“/Vi”的目录。
2)进入“/Vi”目录。
3)在vi中编写一个abc.c程序(见下)。
4)设定行号。
:
setnumber
5)将光标移到第6行。
:
6
6)复制该行内容。
yy
7)将光标移到倒数第二行行首。
8)粘贴复制行的内容。
p
9)撤销第8步的动作。
u
10)删除该行。
Dd
11)存盘但不退出。
W
12)将光标移到首行。
:
h插入模式下输入“Hello,thisisViworld!
”。
13)返回命令行模式。
esc向下查找字符串“int”。
(输入?
int)
14)再向上查找字符串“stdio”。
15)强制退出Vi,不存盘。
输入:
q!
/*一个解决“鸡兔同笼”问题的源程序abc.c*/
#include
main()
{
inth,f;
intx,y;
printf("请输入头数和脚数:
");
scanf("%d,%d",&h,&f);
x=(4*h-f)/2;
y=(f-2*h)/2;
printf("鸡=%d兔子=%d",x,y);
}
实验中存在的问题及解决办法:
用esc和i转化命令模式和插入模式。
思考题:
输出重定向>和>>的区别是什么?
>是重定向符号,将命令的输出重定向到一个文件中.>>的不同点在于>>以追加的方式将命令的输出写在文件的末尾