实验三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回到一般模式。
实验三 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编辑器删除命令行前的序号。
vi编辑器实验报告
vi编辑器实验报告一、实验目的1、熟悉 vi 编辑器的基本操作命令和使用方法。
2、掌握在 vi 编辑器中进行文本编辑、查找替换、保存退出等操作。
3、培养使用 vi 编辑器进行高效文本处理的能力。
二、实验环境操作系统:_____终端模拟器:_____三、实验内容及步骤(一)启动 vi 编辑器在终端中输入“vi 文件名”,即可启动 vi 编辑器并打开指定的文件。
如果文件不存在,vi 会创建一个新文件。
(二)三种模式介绍vi 编辑器有三种主要模式:命令模式(Command Mode)、插入模式(Insert Mode)和底行模式(Last Line Mode)。
1、命令模式启动 vi 后默认进入命令模式。
在该模式下,可以使用各种命令来移动光标、删除文本、复制粘贴等操作。
例如,“h”向左移动一个字符,“j”向下移动一行,“k”向上移动一行,“l”向右移动一个字符。
2、插入模式在命令模式下,按下“i”、“a”、“o”等键可以进入插入模式。
此时,可以输入文本进行编辑。
“i”在当前光标位置前插入,“a”在当前光标位置后插入,“o”在当前行下方新开一行插入。
3、底行模式在命令模式下,按下“:”键可以进入底行模式。
在底行模式下,可以输入保存、退出、查找替换等命令。
(三)文本编辑操作1、移动光标使用上述提到的“h”、“j”、“k”、“l”键可以在文本中进行基本的光标移动。
还可以使用“w”向前移动一个单词,“b”向后移动一个单词,“$”移动到行尾,“0”移动到行首等命令。
2、删除文本“x”删除当前光标所在的字符,“dd”删除当前整行。
3、复制粘贴“yy”复制当前行,“p”粘贴在当前光标位置之后。
4、查找替换在底行模式下,输入“/查找内容”可以进行查找,输入“:s/旧内容/新内容/g”可以进行全局替换。
(四)保存和退出在底行模式下,输入“:w”保存文件,输入“:q”退出编辑器。
如果文件有修改但未保存,直接输入“:q”会提示无法退出,需要先保存。
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)将光标移到最后一行行首;
第13次小课 vi编辑器使用及shell脚本编程
第13次小课vi编辑器使用及shell脚本编程第十四周 vi编辑器使用及shell脚本编程实验目的:(1)熟练vi编辑器和通过vi命令打开相应文件。
(2)熟悉shell脚本编程语言。
实验设备与环境:(1)装有ubuntu系统的PC机或虚拟机实验内容:通过vi编辑器编写脚本程序,然后通过chmod命令修改程序文件的读写权限实验步骤1.vim编辑器的使用 (见小课课件)2.用vi 编辑器输入如下代码:#!/bin/sh no=10hello=“Hello everybody!” echo $noecho $hello1).保存名称为:file12).再用命令chmod 让所有用户对file1文件都有执行权限(chmod +x file)。
然后输入 ./ file1 命令执行输出结果。
关于chmod命令中权限设置的说明请看txt文档:chmod权限设置.txt3.输入如下脚本,并执行文件输出结果注意:变量和'='之间不要有空格,'='和赋值也不要有空格,否则shell不会认为变量被定义4.for语句的使用:1)、在vi编辑器中输入如下代码:然后用:file2文件名执行文件,输出结果,观察for 语句与变量的关系。
5.while语句的使用 #! /bin/sh u1=3 u2=1while [ $u2 -le $u1 ] doecho “hello, $u2” u2=$(($u2+1)) done通过语句的输出,思考[ $u2 -le $u1 ]的作用?6.编写脚本文件YUELI,完成从键盘输入年的值,在屏幕显示该月的月历。
7.创建一个脚本文件,完成以下功能。
- 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’。