版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
博学谷——让IT教学更简单,让IT学习更有效PAGE12PAGE6《openEuler系统管理与运维》教学设计课程名称:授课年级:授课学期:教师姓名:年月课题名称项目2管理目录和文件任务2-1熟悉目录和文件基础命令计划课时4课时教学引入在Linux环境中,所有数据和程序都是以文件形式存在,在完成运维任务时,熟练掌握目录和文件操作至关重要,技术主管要求王亮首先熟悉目录和文件的基本操作,再使用交互方式和非交换方式编辑文件内容,再通过智能体完成复杂的目录文件操作。教学目标【知识目标】(1)了解Shell基础概念。(2)掌握Shell命令通用格式。【技能目标】(1)能够使用命令进行目录和文件基础操作。(2)能够使用命令浏览文件内容。(3)能够使用智能体完成复杂的文件操作任务。【素养目标】(1)通过学习目录和文件的基础操作,培养学生认真仔细、精益求精的工匠精神。(2)通过学习通过智能体完成复杂任务,培养学生利用工具解决问题的能力。教学重点使用命令进行目录和文件基础操作教学难点使用智能体完成复杂的文件操作任务教学方式课堂教学以PPT讲授为主,并结合多媒体进行教学教学过程任务2-1熟悉目录和文件基础命令※通过直接引入的方式导入新课熟练掌握目录和文件操作是完成复杂运维任务的基础,技术主管要求王亮使用Xshell工具登录到openEuler操作系统,学习浏览、复制、移动、创建、修改、删除、查找等最基本目录和文件操作,并使用智能体完成复杂的文件操作任务。※新课讲解一、教师通过PPT的方式讲解1.Shell基础概念(1)Shell提示符Linux操作系统中的Shell是一个程序,它作为用户与操作系统内核之间的中介,Shell将用户输入的命令转化为系统调用,由操作系统执行后,将结果返回给用户。通过Shell,用户可以执行各种任务,例如打开文件、安装软件、运行程序等。常见的Shell包括Bash、zsh、Fish等,其中Bash是最常用的一种Shell,功能强大、易用,几乎所有Linux系统都默认安装它。无论用户采用本地还是远程方式登录操作系统后,系统都会启动一个Shell程序,用户可以在Shell提示符后输入命令,管理操作系统,以本地登录为例,登录后返回Shell提示符如图2-2所示。图2-2任务2-1Shell提示符从返回结果中可以发现Shell提示符为[root@localhost~]#(2)查看当前Shell程序名称在Shell提示符后输入命令echo$SHELL,可以查询当前使用的Shell程序名称,返回结果如图2-3所示。图2-3任务2-1Shell返回当前使用的shell名称从结果中可以看出,当前使用Shell程序是/bin目录下的bash。2.Shell命令通用格式(1)通用格式Shell命令的通用命令格式为command[options][arguments](命令名、选项、参数)。在Shell命令中,command(命令名)是必须出现的,选项和参数是可选项,不是必须出现,例如重启操作系统时,只需要输入reboot命令即可。(2)查看命令帮助当不清楚一个命令的具体用法时,可以通过命令的--help选项提供帮助,--help提供简明的命令用法和常见选项,适合快速了解命令的基本功能。如查看当前系统的时间命令为timedatectl,在VMwareWorksation的操作系统终端上执行timedatectl命令,返回结果如图2-4所示。图2-4任务2-1返回系统时间通过结果发现,执行命令后返回了系统时间和时区,其中CST时间代表中国官方时间,UTC
是全球的标准时间,通过观察,CST时间为UTC时间加8小时,RTC时间是计算机硬件中的时钟时间,时区为Asia/Shanghai。可以使用timedatectl--help查看命令帮助,返回结果如图2-5所示。图2-5任务2-1返回timedatectl帮助信息从结果中发现,系统返回了Commands(子命令)、Options(选项)等帮助信息,通过观察set-time为timedatectl设置系统时间的子命令,set-timezone为设置时区的子命令。二、操作目录和文件1.浏览目录结构浏览目录使用的Shell命令是ls,基本语法为ls[选项][目录],常用的选项如下所示。-l:以长格式列出文件,显示详细信息,如文件权限、所有者、大小和修改时间。-a:列出所有文件,包括隐藏文件。-d:仅列出目录本身,而不列出目录中的内容。-R:递归列出所有子目录及其内容。-t:按修改时间排序,最新的文件排在前面。-S:按文件大小排序,最大的文件排在前面。为了方便命令操作,使用Xshell工具登录到openEuler服务器上,登录完成后,在命令提示符下输入ls-l/命令,查看根目录(/)详细信息,结果如图2-6所示。图2-6任务2-1查看/(根)目录详细信息从结果中可以看出,在根目录(/)下存在多个目录和文件,其中每条记录中以d开头的都是目录,Linux操作系统和Windows操作系统的目录有所区别,它没有C、D、E盘符的概念,根目录(/)是整个文件系统的起点,包含所有其他目录和文件,通过根目录(/),可以找到任何目录和文件。根目录下的主要目录及功能介绍如下。(1)/bin目录 存放ls、cp等基础用户命令,所有用户可用,系统启动时必需。(2)/sbin目录存放ip、fdisk等系统管理命令,通常需要root权限。(3)/lib目录存放共32位享库文件,支持/bin和/sbin中的程序。(4)/lib64目录 openEuler默认使用64位架构,/lib64目录存放64位共享库。(5)/etc 目录存放系统配置文件,如用户配置文件/etc/passwd、永久挂载文件/etc/fstab。(6)/boot目录 存放内核文件和引导加载器。(7)/dev目录设备文件,如/dev/sda表示磁盘。(8)/proc目录虚拟文件系统,实时反映内核和进程状态,如/proc/cpuinfo。(9)/var目录存放可变数据文件,如系统日志,数据库和动态数据等。(10)/root目录 root用户的家目录,与普通用户隔离。(11)/home目录普通用户家目录,存储个人文件和配置。(12)/mnt 目录临时挂载点目录,如挂载iso文件等。2.切换目录在Linux中,cd(changedirectory)命令用于改变当前工作目录。它是一个非常基础且常用的命令,基本语法为cd[目录路径],在cd后面跟着一个路径,表示将当前工作目录切换到指定的目录,可以使用绝对路径和相对路径的方法定位到某一个目录中。在切换目录时,可以使用tab键进行补全操作,即进入到某个名称比较长的目录时,只需要打出这个目录的前面部分内容,使用tab键补全目录全称。当终端内容比较多,可以使用clear命令清理终端,回到初始登陆后的提示符状态。(1)绝对路径切换绝对路径切换是通过根目录(/)进入到任何一个目录,在Xshell终端,完成以下示例任务。【示例1】使用cd命令切换到根目录[root@localhost~]#cd/执行命令后,在localhost后面显示/路径,表示成功进入了根(/)目录,如下所示。[root@localhost/]#【示例2】使用cd命令切换etc目录[root@localhost/]#cd/etc执行完成后,localhost后面显示etc目录,如下所示。[root@localhostetc]#(2)相对路径切换【示例1】当前位于/目录,切换到etc目录。大家注意观察绝对路径切换中的示例2,当前的目录在根(/)目录下,进入到etc目录时,还有必要再输入/etc吗,其实这里的/是没必要再输入的,因为当前已经在/目录下了,切换时只需要输入cdetc即可,操作如下。[root@localhost~]#cd/#首先通过cd/切换到根目录[root@localhost/]#cdetc#在/目录下直接通过cdetc进入/etc目录[root@localhostetc]##成功进入/etc目录【示例2】当前位于/etc目录,切换到yum.repos.d目录。大家再观察绝对路径切换中的示例3,进入到/etc目录下面的yum.repos.d目录,由于当前已经在/etc目录下了,所以进入到yum.repos.d目录就没必要再输入/etc了,直接输入cdyum.repos.d即可,操作如下。[root@localhostetc]#cdyum.repos.d/#从当前/etc目录进入yum.repos.d目录[root@localhostyum.repos.d]##成功进入yum.repos.d目录以上方法通过两个目录之间的相对关系进行目录切换,这种方式叫做相对路径切换。【示例3】通过..相对路径方式返回上级目录。..代表当前目录的上级目录,通过cd..可以回到当前目录的上级目录,也是相对路径切换目录方式,执行cd..后,结果如下所示。[root@localhostyum.repos.d]#cd..#执行cd..命令[root@localhostetc]##成功回到yum.repos.d的上级目录/etcls命令与绝对和相对路径配合使用ls命令用于显示目录下内容,通过与绝对和相对路径方式配置,可以快速完成查询效果。3.创建目录创建目录的命令是mkdir,语法格式为mkdir[选项][目录名],mkdir
后面跟着目录的名称,表示创建一个新的目录,也可以同时创建多个目录,或者使用选项来控制目录的创【示例1】在根目录下创建目录linux。[root@localhost~]#mkdir/linux#当前目录是/root,所以创建目录时加上/linux创建完成后,查看/目录下的内容,结果如图2-7所示。图2-7任务2-1查看linux目录创建效果发现linux目录已经被成功创建了。【示例2】在根目录下创建目录net,在net目录下创建子目录study。[root@localhost~]#mkdir-p/net/study#通过-p选项创建级联目录[root@localhost~]#ls-d/net/study/#查看/net/study目录/net/study/通过mkdir-p选项直接创建了net目录以及net目录下的study目录。【示例3】在/root创建目录linux,在linux目录下同时创建子目录openEuler和子目录ubentu。[root@localhost~]#mkdir-plinux/{openEuler,ubentu}#创建级联目录,{}表示多个目录[root@localhost~]#ls#查看创建的linux目录anaconda-ks.cfglinux[root@localhost~]#lslinux#查看linux目录的内容openEulerubentu通过结果发现,在当前/root目录下,创建了子目录linux,在linux目录下,创建了2个并列目录,分别为openEuler和ubentu。4.创建文件touch命令用于创建新文件或修改文件的时间戳,语法为touch[选项]filename,常用选项如下。-a:仅修改文件的访问时间(atime)-m:仅修改文件的修改时间(mtime)-d:使用指定的日期字符串作为时间戳,格式为YYYY-MM-DDHH:MM:SS。【示例1】在/root目录下创建文件file。[root@localhost~]#touchfile#在当前/root目录下创建file文件。创建完成后,通过stat命令查看file文件的状态,结果如图2-8所示。图2-8任务2-1查看file文件的状态通过结果可以发现文件的访问、修改、变更、创建时间。【示例2】更新file文件的访问时间和修改时间为当前时间。当file已经存在时,再次使用命令touchfile.txt时,将不会创建新的文件,而是修改file的访问时间和修改时间,如下所示。[root@localhost~]#touchfile#当file文件存在,修改file文件时间再次查看file文件状态,结果如图2-9所示。图2-9任务2-1再次查看file文件的状态从结果看出,除了创建时间没有变化,其余的访问时间、修改时间、变更时间都发生了变化。5.复制目录和文件cp命令用于复制目录或文件,基本语法为cp[选项][源目标],语法说明如下。源:要复制的目录或文件。目标:复制到的目标目录或文件。如果目标是一个目录,则源文件将被复制到该目录中。常用选项如下所示。-r或--recursive:递归复制目录及其内容,用于复制目录时必须使用该选项。-i或--interactive:复制前提示确认,当目标文件已经存在时,会询问是否覆盖。-f或--force:强制复制,覆盖已存在的文件,如果目标文件存在,不会询问,直接覆盖。-u或--update:只复制源文件比目标文件新的文件,或者目标文件不存在-v或--verbose:显示详细操作过程,在复制文件时,会列出正在复制的文件。【示例1】将文件/root/file复制到当前目录下,并改名为file1。通过cp命令,可以复制一个文件到某个目录下,并可以同时修改复制后的文件名称,如下所示。[root@localhost~]#cpfilefile1#复制file文件当当前目录,改名为file1[root@localhost~]#ls#查看当前/root目录内容anaconda-ks.cfgfilefile1linux#发现已经成功复制了file1文件【示例2】将文件/root/file复制到目录/usr/tmp下,并改名为file2。[root@localhost~]#cpfile/usr/tmp/file#复制file文件到/usr/tmp目录并改名[root@localhost~]#ls-l/usr/tmp/file2#查看file2文件详细信息结果如下所示。-rw-r--r--.1rootroot07月29日12:55/usr/tmp/file2通过结果发现已经复制成功了,这里使用ls-l命令查看一个文件时,会显示这个文件的详细信息。【示例3】将目录/etc本身复制到目录/tmp下,改名为etc1。[root@localhost~]#cp-r/etc//tmp/etc1#复制/etc目录到/tmp目录下并修改名称为etc1[root@localhost~]#ls-ld/tmp/etc1#查看复制的etc1目录详情结果如下所示。drwxr-xr-x.83rootroot37007月29日13:07/tmp/etc1通过结果发现,已经成功的实现了目录复制和改名。【示例4】创建/tmp/backup目录,将/etc目录下的所有内容复制到/tmp/backup目录下。这里需要注意,复制的是/etc下的所有内容,而不是/etc目录本身,操作如下。[root@localhost~]#mkdir/tmp/backup#创建backup目录[root@localhost~]#cp-r/etc/*/tmp/backup/#拷贝/etc目录下的内容到/tmp/backup目录查看/tmp/backup目录,结果如图2-10所示。图2-10任务2-1查看/tmp/backup目录下内容从结果发现,在/tmp/backup目录中,显示了/etc目录下的内容,需要注意的是在复制命令中出现的*是通配符,匹配/etc目录下的任何内容。6.移动目录和文件mv命令可以将目录和文件移动到新的位置,在移动时,还可以改变目录和文件的名称,基本语法为mv[选项]源目标,说明如下。源:要移动或重命名的目录或文件。目标:目录或文件的新位置或新名称。mv的常见选项如下所示。-i:交互模式。如果目标文件已存在,会提示用户是否覆盖。-f:强制模式,直接覆盖目标文件或目录,无提示。-u:只有源文件比目标文件更新时,才进行移动。-v:显示详细的操作过程,告诉用户具体做了哪些操作。-n:不覆盖目标文件。如果目标文件已存在,则不进行任何操作。【示例1】修改/root/file文件的名称为file2并删除file文件。通过mv移动/root/file文件到当前目录下并改名,即可实现文件名称修改并删除原来文件的目的,操作如下。[root@localhost~]#mvfilefile2#移动file到当前目录,修改名称file2[root@localhost~]#ls#查看当前/root目录anaconda-ks.cfgfile1file2linux#发现file2文件存在,file文件删除。【示例2】移动/root目录下的file1和file2文件移动到/mnt目录。当移动多个文件时,只需要在mv的后边加上多个文件即可,操作如下。[root@localhost~]#mvfile1file2/mnt#移动file1file2到/mnt目录[root@localhost~]#ls#查看当前目录anaconda-ks.cfglinux#发现file1和file2已经不存在了。[root@localhost~]#ls/mnt#查看/mnt目录file1file2#发现file1和file2已经存在了。【示例3】将目录/tmp目录下的etc和etc1目录移动到/root目录下。[root@localhost~]#mv/tmp/etc/tmp/etc1/.#移动/tmp/etc和/tmp/etc1到当前目录下[root@localhost~]#ls#查看当前/root目录anaconda-ks.cfgetcetc1linux#发现已经移动成功在移动/tmp/etc和/tmp/etc1到/root目录时,目标处使用..表示当前目录,由于当前目录是/root,所以将2个文件拷贝到/root目录下。7.删除目录和文件rm命令用于删除目录和文件,基本语法为rm[选项][目录或文件],常用选项如下。-r:递归删除目录及其内容。-f:强制删除文件,不会提示确认。-i:删除前进行确认,询问每个文件是否删除。-v:显示详细信息,告诉用户正在删除哪些文件。-d:删除空目录。【示例1】使用交互式方式删除/mnt目录下的file1和file2文件。[root@localhost~]#rm-i/mnt/file1/mnt/file2#使用交互方式删除/mnt下file1、file2文件rm:是否删除普通空文件'/mnt/file1'?y#确认是否删除file1文件,输入y确认rm:是否删除普通空文件'/mnt/file2'?y#确认是否删除file2文件,输入y确认【示例2】强制删除/tmp/backup目录,不给出提示信息。[root@localhost~]#rm-rf/tmp/backup/#强制删除/tmp/backup目录这里需要注意两点,一是删除目录时,需要加上-r选项,二是不确认是否删除,需要加上-f选项,rm删除命令是一个比较危险的命令,特别是在使用-rf选项时,一定要确认好再执行命令。8.查找目录和文件find命令用于查找符合特定条件的目录或文件,它支持多种搜索条件,如文件名、大小、修改时间等,基本语法为find[路径][条件][操作]。常用选项如下。-name:根据文件名查找(支持通配符*)-type:根据文件类型查找(f为普通文件,d为目录,l为符号链接等)。-size:根据文件大小查找(如+100M查找大于100MB的文件,-10k查找小于10KB的文件)-mtime:根据修改时间查找(如+7查找7天前修改的文件,-1查找过去一天内修改的文件)-exec:针对找到的文件执行命令【示例1】在/etc目录下查找所有以.conf结束的文件。通过find查询时,通过-typef指定查找文件,-name指定文件的名称,*通配任意字符。[root@localhost~]#find/etc-typef-name*.conf结果如图2-11所示。图2-11任务2-1查找/etc目录下所有以.conf结尾的文件通过结果发现,通过find命令查找了到所有以.conf结尾的文件。【示例2】查找/boot目录下大于10MB的文件通过find查询时,-typef用于指定查找文件,-size+10M用于指定大于10M,命令如下。[root@localhost~]#find/boot-typef-size+10M结果如下所示。/boot/vmlinuz-0-rescue-150e54e1dce34ac1a3df0f88467a79d8/boot/initramfs-6.6.0-98.0.0.103.oe2403sp2.x86_64.img/boot/initramfs-6.6.0-98.0.0.103.oe2403sp2.x86_64kdump.img/boot/initramfs-0-rescue-150e54e1dce34ac1a3df0f88467a79d8.img/boot/vmlinuz-6.6.0-98.0.0.103.oe2403sp2.x86_649.管道符|是管道符命令,用于将一个命令的输出作为另一个命令的输入,从而实现命令的链式操作,它允许用户将多个命令组合在一起,完成复杂操作任务,基本语法为command1|command2。常用的与管道符配合使用的命令如下。grep:用于过滤内容。wc:统计行数、字数、字符数等。sort:排序输出。【示例1】统计/etc目录下以.conf结尾的文件个数。首先通过find命令找到以.conf结尾的文件,再通过管道符将输出结果传递为wc命令进行统计,wc-l统计内容行数,命令如下所示。[root@localhost~]#find/etc-typef-name*.conf|wc-l结果如下所示:97从结果中可以发现,共有97个以.conf结尾的文件。【示例2】列出/dev目录下名称中包含sd的文件。通过ls命令列出/dev目录下的所有文件,再将结果通过管道符传递给grep命令,通过grep过滤包含sd的磁盘文件,命令如下。[root@localhost~]#ls/dev|grepsd结果如下所示。sdasda1sda2sda3三、浏览文件内容1.普通浏览cat命令主要用于查看文件内容,其基本语法为cat[选项][文件],常用选项包括如下内容。-n:为输出的每一行加上行号。-b:为输出的每一行加上行号,但空行不加。-E:显示行尾的$符号。-s:压缩多个连续的空行,只显示一个空行。【示例1】查看/etc/passwd用户文件的全部内容,显示行号。/etc/passwd文件中保存着系统用户信息,通过cat命令可以查看文件的内容,使用-n可以显示行号命令如下。[root@localhost~]#cat-n/etc/passwd结果如图2-12所示。图2-12任务2-1查看用户信息文件从结果中可以看出,当前系统中共有22个用户,第1行显示的是root用户。【示例2】查看/etc/ssh/ssh_config文件内容,为不是空行的内容显示行号。显示内容时,为不是空行的内容加行号的选项是-b,命令如下。[root@localhost~]#cat-b/etc/ssh/ssh_config结果如图2-13所示。图2-13任务2-1显示文件并为不是空格的内容加行号从结果中可以发现,在显示文件内容时,不带空格的行被加上行号了。2.分页浏览(1)moremore命令用于分页显示文件内容,适用于较长文件,语法为morefilename,即more加上文件名,使用more时,内容会逐屏显示,用户可以通过空格键翻到下一页,或者按q退出查看。常用操作如下。按回车:显示下一行按空格:显示下一页。按b:返回上一页。按q:退出查看。lessless是more的增强版,支持更多的功能,例如向上和向下滚动、查找文本等。它比more更为灵活,适合查看较大文件。常见操作如下。按回车:显示下一行。按空格:显示下一页。按b:返回上一页。按方向键:向上或向下滚动。按/:查找指定内容。按q:退出查看。【示例1】通过more命令查看/etc/ssh/ssh_config文件。通过more查看/etc/ssh/ssh_config文件的命令如下。[root@localhost~]#more/etc/ssh/ssh_config结果如图2-14所示。图2-14任务2-1more命令显示文件效果从结果可以看出,more命令显示了文件的部分内容,通过回车键、空格键、b、q键可以执行相关的操作。【示例2】通过less命令查看/etc/ssh/ssh_config文件。使用less查看文件的命令如下所示。[root@localhost~]#less/etc/ssh/ssh_config在结果中,使用/ssh查找文件包含ssh的内容,如图2-15所示图2-15任务2-1查看包含ssh的内容从结果中发现,可以查询到包含ssh的内容。2.浏览部分内容(1)headhead命令用于显示文件的前几行内容。默认情况下,head显示文件的前10行。如果需要查看更多或更少的行数,可以通过-n参数来指定。(2)tailtail命令用于显示文件的最后几行内容,默认显示文件的最后10行,可以使用-n参数指定显示行数。tail对于查看日志文件非常有用,尤其是在实时查看文件变化时,可以使用-f选项。【示例1】查看/etc/password文件中的前15个用户。使用head可以显示/etc/password的前15行,也就时前15个用户,命令如下。[root@localhost~]#head-15/etc/passwd结果如图2-16所示。图2-16任务2-1查看包含ssh的内容【示例1】实时监控系统日志变化。使用tail的-f选项可以实时的查看一个文件的变化,系统日志文件位于/var/log/目录下,名称为messages,监控命令如下所示。[root@localhost~]#tail-f/var/log/messages结果如图2-17所示。图2-17任务2-1实时监控系统日志通过会话选项卡的“右键菜单”复制一个会话,如图2-18所示。图2-18任务2-1复制会话复制会话后,即可看到系统日志的变化,如图2-19所示。图2-19任务2-1系统日志变化使用crtl+c键可以退出系统日志监控。四、使用智能体查找和备份文件1.提问并执行命令/etc目录通常用于存放系统和应用程序的配置文件,以.conf结尾的文件通常是系统和应用程序配置文件,这些文件比较重要,可以将它们备份起来,在系统和应用程序出现问题时,可以及时恢复正常状态。打开智能体,完成对接大语言模型和连接openEuler服务器的操作之后,在“问题输入”框中输入以下问题:“在/目录下创建一个名称为backup的目录,查找/etc目录下所有以.conf结尾的文件类型文件,把这些文件备份到/backup目录”输入完成后,单击“提问”按钮,在终端输出中显示结果,如图2-20所示。图2-20任务2-1创建备份目录并查找备份文件单击“执行命令”按钮执行命令,结果如图2-21所示。图2-21任务2-1执行大语言模型返回的命令2.检查备份结果执行完成后,在“问题输入”提示框中输入内容“查看/backup目录内容”,执行返回的命令,结果如图2-22所示。图2-22任务2-1检查备份结果从结果中可以发现,在/backup目录已经成功的备份了/etc目录下的.conf结尾文件。※归纳总结教师回顾本节课所讲的知识,并通过测试题的方式引导学生解答问题并给予指导。※布置作业教师通过超星学习通平台布置本节课作业以及下节课的预习作业教学小结本任务中,学习了目录和文件的查看、创建、复制、粘贴、删除、查找等操作,使用智能体完成在查找文件的同时,对文件进行备份。课题名称项目2管理目录和文件任务2-2编辑文件内容计划课时4课时教学引入编辑和修改文件内容是操作和管理openEuler服务器的必备技能,技术主管要求王亮登录openEuler服务器后,通过交互方式和非交互方式编辑文件内容,遇到较为复杂的文件编辑任务,采用智能体快速完成操作任务。教学目标【知识目标】(1)掌握交互方式和非交互方式编辑文件的区别。(2)掌握vi编辑器的三种模式和切换方法。(3)掌握vi编辑器的常用操作方法。【技能目标】(1)能够使用vi交互方式编辑文件内容。(2)能够使用非交互方式编辑文件内容。【素养目标】(1)通过使用vi编辑文件内容,培养学生仔细观察、冷静思考的素养。(2)通过使用非交互式方式编辑文件内容,培养学生精益求精,不断提升自身能力的习惯。教学重点使用vi交互方式编辑文件内容教学难点使用非交互方式编辑文件内容教学方式任务驱动,案例教学教学过程任务2-2编辑文件内容※通过直接引入的方式导入新课编辑和修改文件内容是操作和管理openEuler服务器的必备技能,技术主管要求王亮登录openEuler服务器后,通过交互方式和非交互方式编辑文件内容,遇到较为复杂的文件编辑任务,采用智能体快速完成操作任务。※新课讲解教师通过PPT的方式讲解。1、交互方式和非交互方式编辑文件的区别(1)交互方式在编辑文件时,交互方式指用户与文件编辑工具进行实时互动的方式。在这种模式下,用户通过输入命令和内容进行文件编辑,适用于需要对文件内容进行精细修改的场景。其特点如下。实时编辑手动输入命令灵活性高常用的编辑工具如下。vi/vimnano(2)非交互方式在编辑文件时,非交互方式是指用户无需直接干预,通过命令或者脚本自动执行对文件的修改。与交互式编辑不同,非交互式编辑通过预设的命令、脚本或程序化操作,在没有用户干预的情况下对文件进行修改。非交互方式适用于批量处理任务、自动化操作和定期维护任务的场景,其特点如下。自动执行批量操作不需要人工干预常用工具如下。EchoTeesed2.Vi编辑器的三种模式和切换方法vi是一种常用的文件编辑器,它有三种工作模式:命令模式、插入模式和末行模式,每种模式都有不同的功能和用途。(1)三种模式功能①命令模式在命令模式下,用户可以执行各种命令,如移动光标、删除文本、复制粘贴、保存文件等,启动vi后,默认进入命令模式。如果处于其他模式,按Esc键可以返回命令模式。②插入模式在插入模式下,用户可以编辑文本,输入字符,进行文件内容的修改。③末行模式在末行模式下,用户可以执行一些高级命令,如保存、退出、查找替换、设置文件参数等。(2)三种模式切换方法命令模式、插入模式、末行模式之间的切换方法如图2-23所示,具体描述如下。①从命令模式到插入模式如果当前处于命令模式,通过i、a、o、I、A都能够进入插入模型,按i在光标前插入、按a在光标后插入、按o在光标下一行插入、按I在行首插入、按A在行尾插入。②从命令模式到末行模式如果当前处于命令模式,按:键进入末行模式。③从插入模式和末行模式到命令模式无论当前处于插入模式还是末行模式,如果想回到命令模式,按Esc键。插入模式和末行模式之间无法完成直接切换,需要通过命令模式中转。图2-23任务2-2vi编辑器的三种模式切换方法3.Vi编辑器常用操作方法(1)命令模式命令模式是vi默认的模式,在命令模式下,用户可以进行移动光标、换行、删除、复制、粘贴等操作。移动光标gg:跳到第一行G:跳到最后一行20G:跳到第20行,行号加上G可以跳转到任意行。h:向左移动一个字符l:向右移动一个字符w:跳到下一个单词的开头b:跳到前一个单词的开头删除操作x:删除光标所在位置的字符dd:删除当前行d$:删除光标到行尾的内容dw:删除光标到下一个单词开头的内容复制与粘贴yy:复制当前行,5yy复制当前行开始的5行。p:将复制的内容粘贴到光标后P:将复制的内容粘贴到光标前撤销与重做u:撤销上一步操作ctrl+r:重做撤销的操作(2)插入模式进入到插入模式下,用户可以在文档中直接输入和修改内容。进入插入模式i:在光标前插入a:在光标后插入o:在当前行下方插入新行I:在当前行的开头插入A:在当前行的末尾插入O:在当前行上方插入新行退出插入模式按Esc键返回命令模式(3)末行模式在末行模式下,用户可以进行一些高级操作,如保存、退出文件、查找替换文本。显示行号在命令模式下,按:键进入末行模式,输入命令后,按Enter执行。setnu:显示行号setnonu:不显示行号保存文件:w:保存当前文件:wfilename:将文件保存为指定名称退出文件:q:没有修改的情况下退出vi:q!:修改的情况下,强制退出,不保存修改:wq:保存并退出:wq!:强制保存退出:x:和:wq功能相同,保存并退出查找文本:/pattern:光标位置向下查找指定的文本:?pattern:光标位置向上查找指定的文本替换文本:s/old/new/:替换当前行的第一个old为new:s/old/new/g:替换当前行的所有old为new:%s/old/new/g:替换文件中的所有old为new:10,20s/old/new/g:替换10到20行之间的old为new二、使用vi编辑文件内容1.vi命令模式【示例1】将/etc/ssh/sshd_config复制到/root目录下,使用vi打开sshd_config文件。[root@localhost~]#cp/etc/ssh/sshd_config.#拷贝sshd_config文件到当前/root目录[root@localhost~]#visshd_config#使用vi打开sshd_config文件打开后,结果如图2-24所示。图2-24任务2-2使用vi打开sshd_config文件在进行命令模式相关操作之前,首先把行号显示出来,输入:号进入末行模式,在末行模式下输入setnu,回车执行后,内容显示了行号,如图2-25所示。图2-25任务2-2显示行号显示完成后,自动退回到命令模式。【示例2】在第一行、最后一行、任意行之间进行跳转。在命令模式下,输入G,即可跳转到最后一行,如图2-26所示。图2-26任务2-2跳转到最后一行输入gg,即可跳转到第一行,如图2-27所示。图2-27任务2-2跳转到第一行输入50G,即可跳转到第50行,如图2-28所示。图2-28任务2-2跳转到第50行2.vi插入模式【示例1】在第50行行首输入内容helloworld。在命令模式下,使用50G跳转到50行,输入i键,即可进入插入模式,在当前光标前输入“helloworld”,结果如图2-31所示。图2-31任务2-2在当前光标前输入helloworld【示例2】切换到命令模式,在当前行的下一行输入内容helloworld。使用Esc键切换到命令模式,然后输入o键切换到插入模式,与输入i不同的是,进入到下一行的输入模式,输入helloworld后,结果如图2-32所示。图2-32任务2-2在当前行的下一行输入helloworld3.vi末行模式【示例1】去掉显示的行号首先使用Esc键从插入模式切换到命令模式,再使用:键进入末行模式,输入setnonu,回车执行后即可去掉行号,如图2-33所示。图2-32任务2-2在当前行的下一行输入helloworld【示例2】将内容中所有的yes替换为no在末行模式下,输入:%s/yes/no/g,回车后即可将文中的所有yes替换为no,如图2-33所示。图2-33任务2-2将所有的yes替换为no【示例3】在当前光标之后查找内容no。进入末行模式后,输入/no,即可从当前光标处向下查找内容no,输入n可匹配下一个no,输入N可匹配上一个no,如图2-34所示。图2-34任务2-2在当前光标后查找内容no【示例4】保存所有修改,退出vi编辑器。修改完成后,进入末行模式,输入wq即可实现保存退出,如图2-35所示。图2-35任务2-2保存修改并退出如果修改后不想保存退出,在末行模式下输入q!即可。三、使用非交互方式编辑文件内容1.使用echo命令echo命令用于向终端输出文本或将文本写入文件,当使用echo命令将文本输出到文件时,通常配合>和>>重定向命令。其中>会覆盖文件内容,如果文件已存在,内容会被替换,>>会追加内容到文件末尾。【示例1】使用echo命令在终端上输出hello,world。[root@localhost~]#echo"helloworld"#在终端上输出helloworld结果如图2-36所示。图2-36任务2-2在终端上输出helloworld【示例2】输出helloworld到file.txt文件,覆盖掉原内容。通过echo和>重定向命令可以将echo正常输出到终端上的内容写入到某个文件中,如果文件存在,则覆盖掉之前的内容,如果文件不存在,则创建文件,如下所示。[root@localhost~]#echo"helloworld">file.txt查看file.txt文件,结果如图2-37所示。图2-37任务2-2查看file.txt文件内容【示例3】追加hello,world到file.txt文件通过echo和>>重定向命令可以将echo正常输出到终端上的内容追加到某个文件中,如下所示。[root@localhost~]#echo"helloagain">>file.txt以上命令将文本"helloagain"追加到file.txt文件的末尾,不覆盖原内容,查看file文件,结果如图2-38所示。图2-38任务2-2查看file.txt文件内容变化2.使用tee命令tee用于将命令结果显示在终端的同时,写入目标文件,适合需要既查看输出,又保存输出的情况,tee命令写入文件时,会覆盖之前内容,如果需要内容的追加,使用-a选项
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5年(2021-2025)辽吉黑蒙高考政治真题分类汇编专题10 各具特色的国家和国际组织(原卷版)
- 衢州江山市事业单位招聘考试试题及答案
- (新版)钢铁行业水处理习题集及答案
- 通辽市教师招聘面试题及答案
- 莲花落演员题库及答案
- 天津市教师招聘考试题及答案
- 绍兴社区工作者招考真题及答案2025
- 泰安市辅警招聘笔试题及答案
- 全身麻醉总结2026
- 宿州市教师招聘面试题及答案
- 2025-2030猪肉加工产业链行业市场现状供需分析及投资评估规划分析研究报告
- 车间员工计件薪酬方案范本
- 2026年盐城市机关事业单位工勤人员技师选拔考试试卷及答案
- 高炉煤气干法精脱硫技术规范
- 天平使用步骤课件
- 高原铁路隧道供氧系统管道施工
- 2026年材料员之材料员基础知识考试题库300道附参考答案【考试直接用】
- 2025年宠物服务产业园区建设项目可行性研究报告及总结分析
- 雨课堂学堂在线学堂云《俄罗斯文化艺术赏析(北京联合大学 )》单元测试考核答案
- 校车驾驶员安全培训课件
- 《业务三板斧:定目标、抓过程、拿结果》阅读随笔
评论
0/150
提交评论