Linux系统基础及服务器配置教程与实验课件第2章.pptx

上传人(卖家):momomo 文档编号:7301154 上传时间:2023-11-20 格式:PPTX 页数:33 大小:781.06KB
下载 相关 举报
Linux系统基础及服务器配置教程与实验课件第2章.pptx_第1页
第1页 / 共33页
Linux系统基础及服务器配置教程与实验课件第2章.pptx_第2页
第2页 / 共33页
Linux系统基础及服务器配置教程与实验课件第2章.pptx_第3页
第3页 / 共33页
Linux系统基础及服务器配置教程与实验课件第2章.pptx_第4页
第4页 / 共33页
Linux系统基础及服务器配置教程与实验课件第2章.pptx_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、2.1 Shell命令概述2.1.1 Shell简介 Shell是Linux的一个特殊程序,是内核与用户的接口,是命令语言、命令解释程序及程序设计语言的统称。Shell是一个命令语言解释器,它拥有自已内建的Shell命令集,Shell也能被系统中其他应用程序所调用。当用户成功登录Linux系统后,即开始了与Shell的对话交互过程,此时,不论何时键入一个命令,都被Shell解释执行。有一些命令,比如改变工作目录命令cd,是包含在Shell内部的,只要处在Shell命令行下就可以执行。还有一些命令,例如复制命令cp和移动命令mv,是独立的应用程序,必须存在于文件系统中某个目录下才能执行。对用户而

2、言,不必关心一个命令是建立在Shell内部还是一个单独的程序。2.1 Shell命令概述2.1.1 Shell简介 当用户键入并执行命令时,Shell首先检查命令是否是内部命令,若不是再检查是否是一个应用程序,如Linux本身的实用程序ls和rm或者是购买的商业程序,如xv;还可以是自由软件,如Emacs。然后Shell在一个能找到可执行程序的目录列表里寻找这些应用程序,这个列表称作搜索路径。如果输入的命令不是一个内部命令并且在路径里没有找到这个可执行文件,将会显示一条错误信息。如果能够成功找到命令,该内部命令或应用程序将被分解为系统调用并传给Linux内核执行。例如,如果用户输入:rootl

3、ocalhost Desktop#hellobash:hello:command not found2.1 Shell命令概述2.1.1 Shell简介 可以看到,用户得到了一条没有找到该命令的错误信息。用户敲错命令后,系统一般会给出这样的错误信息。Shell的另一个重要特性是它自身就是一个解释型的程序设计语言,Shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。Shell编程语言简单易学,任何在提示符下能键入的命令都能放到一个可执行的Shell程序中,以非交互的方式执行,这意味着用Shell语言能简单地重复执行某一任务。例如,可以把一些要执行的命

4、令预先存放在文本文件中(称作Shell脚本),然后执行该文件。这一做法类似于DOS的批处理文件,但其功能要比批处理文件强大得多。2.1 Shell命令概述2.1.1 Shell简介 Linux中的Shell有多种类型,其中最常用的几种是Bourne Shell(BSH)和C Shell(CSH),两种Shell各有优缺点。Bourne Shell是UNIX最初使用的Shell,并且在每种UNIX上都可以使用。Bourne Shell在Shell编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种Shell。Linux操作系统缺省的Shell是Bourne Again Shell,它是Bo

5、urne Shell的扩展,简称BASH,与Bourne Shell完全向后兼容,并且在Bourne Shell的基础上增加了很多特性。Bash放在/bin/bash中,它有许多特色,可以提供命令补全、命令编辑和命令历史表等功能,还包含了很多C Shell中的优点,有灵活和强大的编程接口,同时又有很友好的用户界面。2.1 Shell命令概述2.1.1 Shell简介 C Shell是一种比Bourne Shell更适于编程的Shell,它的语法与C语言很相似。Linux为喜欢使用C Shell的人提供了TCSH。TCSH是C Shell的一个扩展版本,包括命令行编辑、可编程单词补全、拼写校正、

6、历史命令替换、作业控制和类似C语言的语法,它不仅和Bash Shell是提示符兼容,而且还提供比Bash Shell更多的提示符参数。检查系统当前运行的Shell版本,可以运行以下命令:rootlocalhost Desktop#echo$SHELL/bin/bash显示/bin/bash表示当前系统默认的Shell是BASH。在命令中,echo是屏幕显示命令,$表示扩展SHELL环境变量。2.1 Shell命令概述2.1.1 Shell简介 如果系统中安装有其他类型的Shell如TCSH,用户也可以通过以下命令将其启动:rootlocalhost#tcsh在TCSH下运行exit命令返回原来

7、的Shell。rootlocalhost#exit用户可以将任何版本的Shell设置为系统登录后默认的Shell,方法是修改在文件/etc/passwd中该用户文本行中的最后一个字段,将其内容替换为用户所需的Shell版本。1使用Linux系统的终端窗口 现在的Red Hat Enterprise Linux 6操作系统默认采用的都是图形界面的GNOME或者KDE操作方式,要想使用Shel1功能,就必须像在Windows中那样打开一个命令行窗口。一般用户,可以执行“应用程序”“系统工具”“终端”命令来打开终端窗口(或者直接右键单击桌面,选择“在终端中打开”命令)。2.1 Shell命令概述2.

8、1.2 Shell的启动2使用Shell提示符 在Red Hat Enterprise Linux 6中,还可以更方便地直接打开纯命令行窗口。应该怎么操作呢?Linux启动过程的最后,它定义了6个虚拟终端,可以供用户随时切换,切换时用“Ctrl”+“Alt”+“F1”“Ctrl”+“A1t”+“F6”组合键可以打开其中任意一个。进入纯命令行窗口之后,还可以使用“A1t”+“Fl”“A1t”+“F6”组合键在6个终端之间切换,每个终端可以执行不同的指令,进行不一样的操作。2.1 Shell命令概述2.1.2 Shell的启动登录之后,普通用户的命今行提示符以“$”号结尾,超级用户的命令以“#”号

9、结尾。yylocalhost$;一般用户以“$”号结尾yylocalhost$su root;切换到root账号Password:rootlocalhost#;命令行提示符变成以“#”号结尾了 当用户需要返回图形桌面环境时,也只需要按下“Ctrl”+“A1t”+“F7”组合键,就可以返回到刚才切换出来的桌面环境。2.1 Shell命令概述2.1.2 Shell的启动使用任何文本编辑器打开/etc/inittab文件,找到如下所示的行:id:5:initdeafault将它修改为:id:3:initdeafault重新启动系统你就会发现,它登录的是命令行而不是图形界面。要想让Red Hat En

10、terprise Linux 6直接启动到图形界面,可以按照上述操作将“id:3”中的“3”修改为“5”;也可以在纯命令行模式,直接执行“startx”命令打开图形模式。2.1 Shell命令概述2.1.2 Shell的启动 Linux的BASH提供了一个方便的功能:自动补齐。当用户输入命令时,不需要输入完整的命令,只需要输入前几个字符,利用“Tab”键,系统能自动找出四配的命令或文件。自动补齐命令 用户在输入命令时,只需要输入命令的开头字母。然后连续按两次“Tab键,系统会列出符合条件的所有命令以供参考。【例2-1】自动补齐以“mk”开头的命令。在命令提示符下输入字母“mk,然后连续按两次“

11、Tab”键,屏幕就会显示所有以“mk”开头的Shell命令。用户输入命令的剩余部分后就可以执行相关的命令。2.2 BASH的应用2.2.1 命令补齐自动补齐文件或目录名 假定当前工作目录中包含以下个人建立的文件和子目录f1 f2 mytest test如果要进入test子目录,只要输入rootlocalhost#cd t 在键入字母“t”后按下“Tab”键,系統将帮助用户补齐命令并显示在屏幕上,相当于输入了“cd test。在按“Enter键之前命令并没有执行,系統会让用户检验补齐的命令是否是直正需要的。在输入像这样短的命令时也许看不出命令补齐的价值所在,甚至在命令很短时还会减慢输入速度,但是

12、当要输入的命令较长时,命令补齐将会十分有用。如果目录中以字母t开头的目录不止一个,系統将不知用户到底想进入哪个子目录,这时需要在原来的基础上再按下两次“Tab”键,就会将以字母t开头的目录全部示出来。2.2 BASH的应用2.2.1 命令补齐 BASH支持命令历史记录,意味着BASH保留了一定数目的、先前在BASH中输入过的命令。这个数目取决于一个名为histsize的变量。BASH将输人的命令文本保存在一个历史列表中。当用户登录后,历史列表将根据一个历史文件进行初始化。历史文件的文件名由名为histfile的BASH变量指定,历史文件的缺省名字是.bash_ history。这个文件通常在用

13、户目录中(注意该文件的文件名以“.”开头,这意味着它是隐含的,仅当用-a或-A参数的ls命令列目录时才可见)。BASH提供了几种方法来调用命令历史记录。使用历史记录列表最简单的方法是用上方向键。按一下上方向键后,最后输入的命令将出现在命令行上,再按一下则倒数第二条命令会出现,依此类推。如果上翻多了的话也可以用向下的方向键来下翻。另一个使用命令历史记录的方法是用Shell的内部命令history来显示和编辑历史命令。history命令有两种不同的使用方法。2.2 BASH的应用2.2.2 命令历史记录格式一:history n功能:查看Shell命令的历史记录。参数n的作用是仅列出最后n个历史命

14、令。当不使用命令参数时,整个历史记录的内容都将显示出来。在每一个执行过的Shell命令行前均有一个编号,代表其在历史列表中的序号。如果想执行其中某一条命令,可以采用“!序号”的格式。格式二:history -r|w|a|n 文件名功能::修改命令历史列表文件的内容。常用选项说明:-r 读出命令历史列表文件的内容,并且将它们当作当前的命令历史列表。-w 将当前的命令历史记录写入文件,并覆盖文件原来的内容。-a 将当前的命令历史记录追加到文件尾部。-n文件名 读取文件中的内容,并加入到当前历史命令列表中。如果没有指定文件名,history命令将用变量histfile的值来代替。2.2 BASH的应

15、用2.2.2 命令历史记录 命令别名通常是命令的缩写,对于用户经常使用的命令,如果设置为别名命令将大大提高工作效率。格式:a1ias 别名标准Shell命令行功能:查看和设置别名。查看别名 无参数的alias命令可查看用户可使用的所有别名命令,以及其对应的标准Shell命令。【例2-4】查看当前用户可使用的别名命令。rootlocalhost#aliasalias cp=cp ialias 1.=1s-d.*-color=ttyalias ls=ls-color=ttyalias vi=vim2.2 BASH的应用2.2.3 命令别名设置别名 使用带参数的alias命令,可设定用户的别名命令。

16、在设置别名时,“”的两边不能有空格,并在标准Shell命令行的两端使用单引号。【例2-5】设置别名命令pd,其功能是打开etc/passwd文件。rootlocalhost#alias pd=vim/etc/passwdrootlocalhost#pd 设置此别名命令后,只要输入“pd”命令就将启动vim文本编辑器,并打开/etc/passwd文件。不过,利用alias命令设定的用户别名命令,其有效期限仅持续到用户退出登录为止,当用户下一次登录到系统时,该别名命令已经无效。如果希望别名命令在每次登录时都有效,就应该将命今写入用户主目录下的.bashrc文件中。2.2 BASH的应用2.2.3

17、命令别名 Shell命令中可以使用通配符来同时引用多个文件以方便操作。Linux系统中的通配符主要有“*”、“?和“”3种。1.“*”通配符“*”通配符可以匹配任意数目的字符。2.“?”通配符“?”通配符的功能是在相应位置上匹配任意单个字符。3.“”通配符“”通配符可以匹配括号中给出的字符或字符范围。“”中的字符范围可以是几个字符的列表,也可以使用“-”给定一个取值范围,还可以用“!”表示不在指定字符范围内的其他字符。2.2 BASH的应用2.2.4 通配符 正则表达式(Regular Expression)就是用一个“字符中”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如,

18、表达式“ab+”描述的特征是“一个a和任意多个b,那么ababbabbbbbbbbbb都符合这个特征”。表达式有以下作用:(1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。(2)用来查找字符串,从一个长的文本中查找符合指定特征的字符串,比查找固定字符申更加灵活方便。(3)用来替换,比普通的替换更强大。表达式学习起来其实是很简单的,少数几个较为抽象的概念也很容易理解。下面是几种正则表达式的规则。1.普通字符 字母、数字、汉字、下划线,以及后边章节中没有特殊定义的标点符号,都是“普通字符”。表达式中的普通字符,在匹配一个字符串的时候,匹配与之相同的一个字符。2.3 正则表达式、管道与

19、重定向2.3.1 正则表达式2.简单的转义字符一些不便书写的字符,采用在前面加“”的方法。3.能够与“多种字符”匹配的表达式 正则表达式中的一些表示方法,可以匹配“多种字符”其中的任意一个字符。比如,表达式“d”可以匹配任意一个数字,它虽然可以匹配其中任意字符,但是只能是一个,不是多个。这就好比玩扑克牌时候,大小王可以代替任意一张牌,但是只能代替一张牌。4.自定义能够匹配“多种字符”的表达式 使用方括号 包含一系列字符,能够匹配其中任意一个字符。用包含一系列字符,则能够匹配其中字符之外的任意一个字符。同样的道理,虽然可以匹配其中任意一个,但是只能是一个,不是多个。2.3 正则表达式、管道与重定

20、向2.3.1 正则表达式5.修饰匹配次数的特殊符号 前面章节中讲到的表达式,无论是只能匹配一种字符的表达式,还是可以匹配多种字符中任意一个的表达式,都只能匹配一次。如果使用表达式再加上修饰匹配次数的特殊符号,那么不用重复书写表达式就可以重复匹配。使用方法是:“次数修饰”放在“被修饰的表达式”后边。比如:“bcdbcd”可以写成“bcd2”。6.其他一些代表抽象意义的特殊符号 一些符号在表达式中代表抽象的特殊意义。2.3 正则表达式、管道与重定向2.3.1 正则表达式 Linux系统中标准的输入设备为键盘,输出设备为屏幕,但在某些情况下,希望能从键盘以外的其他设备读取数据,或将数据送到屏幕外的其

21、他设备,这种情况称为重定向。Shell中输入输出重定向主要依靠重定向符号来实现,通常重定向到一个文件。1.输入重定向 输入重定向用于改变一个命令的输人源,这个输入源通常指文件,用“”作为输出重定向符号。2.3 正则表达式、管道与重定向2.3.2 管道与重定向3.错误信息重定向 程序的输出设备分为标准输出设备和错误信息输出设备,当程序输出错误信息时使用的设备是错误信息输出设备。前面介绍的输出重定向方法只能重定向程序的标准输出,错误信息的重定向使用下面方法。“2”:程序的执行结果显示在屏幕上,而错误信息重定向到指定文件。4.管道 管道可以将第1个命令的输出通过管道传给第2个命令,作为第2个命令的输

22、人,第2个命令的输出通过管道传给第3个命令,作为第3个命令的输人,以此类推,最后一个命令的输出才会显示在屏幕上。管道所使用的符号是“|。2.3 正则表达式、管道与重定向2.3.2 管道与重定向 Linux中的文本编器有很多,比如图形模式的Gedit、Kwrite、Openoffice等,文本模式下的编辑器有Vi、Vim等。Vi和Vim在Linux中是最常用的编辑器。Vi或Vim虽然没有图形界面编辑器那样单击鼠标的简单操作。但Vim编掛器在系统管理、服务器管理方面的功能远比图形界面的编辑器强大。Vim(Vimsual Interface Improved)是Linux系统上第一个全屏幕交互式编辑

23、程序。它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的特性。Vim不是一个排版程序,它不像MS Word或WPS那样可以对字体、格式、段落等其他属性进行编排,它只是一个文本编辑程序。Vim没有菜单,只有较多的命令,且其命令简短、使用方便。Vim是Linux系统中最常用的编辑器,本节将介绍Vim编辑器的使用和其常用的命令。2.4 文本编辑器Vim 2.4.1 Vim简介 Vim有3种基本工作模式,分别是命令模式(Command Mode)、插入模式(Insert Mode)和末行模式(Last Line Mode)。1.命令

24、模式 在系统提示符下输入Vim和想要的编辑名后便可进入Vim。进入Vim之后,处于命令模式,如图2-1所示。在该模式下,用户可以输入各种Vim命令来管理自己的文挡,例如控制屏幕光标的移动,字符、字或行的删除,移动、复制某区段等,此时从键盘上输入的任何字符都被看作编辑命令来解释。若输入的字符是合法的Vim命令,则Vim在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来,若输入的字符不是Vim的合法命令,Vim会响铃报警。不管用户处于何种模式,只要按一下“Esc”键,即可进入Vim命令行模式。2.4 文本编辑器Vim 2.4.2 Vim的3种模式2.插入模式 在命令模

25、式下,按下“i”、“o”、“a”或“Insert键可以切换到插人模式下。插入模式下屏幕的最底端会提示“INSERT(插入)-”字样,如图2-2所示。只有在插入模式下,用户才可以进行文字和数据的输入。按“Esc”键可回到命令模式。3.末行模式 在命令模式下用户按“:”键即可进入末行模式,此时Vim会在显示窗口的最后一行(通常也是屏幕的最后一行)显示个“:”作为末行模式的提示符,等待用户输人命令,如图2-3所示。多数文件管理命令都是在此模式下执行的,保存文档或退出Vim、设置编辑环境、寻找字符串、列出行号、把编辑缓冲区的内容写到文件中等。末行命令执行完后,Vim自动回到命令模式,也可按“Esc”键

26、回到命令模式。2.4 文本编辑器Vim 2.4.2 Vim的3种模式1.进入Vim 输入Vim命令后,便进入全屏幕编辑环境,此时的状态为命令模式。进入Vim有以下7种命令方式。(1)Vim:进入Vim的一个临时缓冲区,光标定位在该缓冲区第1行第1列的位置上。(2)vim filel:如果filel文件不存在,将建立此文件;如该文件存在,则将其复制到一个临时缓冲区。光标定位在该缓冲区第1行第1列的位置上。(3)vim+filel:如果filel文件不存在,将建立此文件;如该文件存在,则将其复制到一个临时缓冲区。光标定位在文件最后1行第1列的位置上。(4)vim+filed(为数字):如果file

27、1文件不存在,将建立此文件;如该文件存在,则将其复制到一个临时缓冲区。光标定位在文件第1行第1列的位置上。(5)vim+/string file:如果file1文件不存在,将建立此文件;如该文件存在,则将其复制到一个临时缓冲区。光标定位在文件中第一次出现字符串string的行首位置。(6)vim-r filename:在上次正使用Vim编辑发生系统崩溃时,恢复filename文件。(7)vim filename 1 filename 2 filename n:打开多个文件,依次进行编辑。2.4 文本编辑器Vim 2.4.3 Vim的进入与退出2.退出Vim 在退出Vim前,可以先按“Ese键,

28、以确保当前Vim的状态为命令方式,然后再输入下列命令,退出Vim。(1):w:保存命令。将编辑缓冲区的内容写入文件,原始文件被新的内容所替代。这时并没有退出Vim。(2):q:退出Vim,若文件被修改过,则会被要求确认是否放弃修改内容。(3):wq:存盘退出,即将上面的两步操作合成一步来完成,先执行w,后执行q。(4):w filename:指定文件另存为filename。(5):x和ZZ:功能与:wq等价,注意,ZZ前面没有“:”,要大写。(6):q!成:quit:放弃刚才编辑的内容,强行退出Vim。2.4 文本编辑器Vim 2.4.3 Vim的进入与退出1.移动光标命令 移动光标是在使用V

29、im全屏幕文本编辑器时用得较多的操作。在插入模式下,可以使用键盘上的4个方向箭头来控制光标移动,在命令模式下,提供了许多移动光标的命令。熟练掌握这些命令,可以大大提高用户的编辑效率。2.添加文本命令 如果要对文档正文添加文本数据等内容,只能在插入模式下进行。从命令模式切换到插人模式的常用命令如下。3.删除文本命令 利用Vim提供的删除命令,用户可以删除一个或多个字符,可以删除一个字或一行的部分或全部内容。常用的删除命令如下。4.文本替换命令 替换文本是用新输入的内容替换原文档中的内容。在命令模式下和末行模式下都可以执行文本替换操作。在命令模式下的Vim中,替换的命令又可以分为取代命令、替换命令

30、和字替换命令。2.4 文本编辑器Vim 2.4.4 Vim的基本操作命令5.复制和粘贴命今 复制和粘贴是文本编辑中常用的操作。在Vim中为用户提供了缓冲区,当用户执行复制命令时,所选择的文本会被存入缓冲区中,当下一个复制命令被执行后,缓冲区的内容将被刷新。使用粘贴命今可以将缓冲区的内容添加到文档中的光标所在处。6.查找和替换命令 如同在Windows中提供的“查找”及“替换”命令菜单一样,在Vim中也提供了查找和替换命令。查找是在末行模式下进行的,用户首先输入“/”或“?”,就会切换到末行模式,在文本编辑框的最下面显示“/或“?”,在其后输入要查找的字符模式即可。利用查找命令可以实现向前或向后

31、搜索指定的关键字的功能,并且可以按原搜索方向或反方向继续查找。2.4 文本编辑器Vim 2.4.4 Vim的基本操作命令7.重复命令 重复命令也是一个经常用到的命令。在文本编辑中经常会碰到需要重复一些操作,这时就需要用到重复命令,它可以让用户方便地再执行一次前面的命令。重复命令只能在Vim的命令模式下使用,在该模式下按圆点“.”键即可。执行一个重复命令时,其操作结果是针对光标当前位置进行的。8.取消命令 取消命令用于取消前一次的误操作,使之恢复到这种误操作被执行之前的状态。取消上一个命令有两种形式,在命令模式下键入字符u和U,它们的功能都是取消刚才输入的命令,恢复到原来的情况。大写U命令的功能

32、是恢复到误操作命令前的状态,即如果插入命令后使用U命令,就删除刚刚插入的内容,如果删除命令后使用U命令,就相当于在光标处又插入刚刚删除的内容。2.4 文本编辑器Vim 2.4.4 Vim的基本操作命令1.多文件编辑命令 如果要对多文件进行编辑,一种方法是进人Vim时,在Vm命令后的参数是多个文件名,另一种方法是进入Vim后,使用命令打开多个文档。下面列出了对多文件进行编辑及在当前文件和另外一个文件间切换的命令。2.在Vim中运行Shell命令 在使用Vim的过程中,可以不退出Vim的同时执行其他的Shell命令,这时需要在末行模式下操作。3.块标记命令 在命令模式下可以标记文本的某个区域,再使用d、y、P等命令对标记的内容进行删除、复制或粘贴等操作。4.Vim环境设置命令 这里的Vim环境是指Vim运行时的运行方式。在末行模式下,可以通过命令set进行设置。set后面加选项名来进行该功能选项的设置,如果选项名前输入“no,则表示关闭该选项。2.4 文本编辑器Vim 2.4.5 Vim的高级命令2.5.1 实验目的实验目的学会使用vim编辑器掌握vim的工作模式掌握vim命令熟练掌握shell2.5.2 实验内容实验内容本实验的目的是学习启动与退出vim;使用shell命令。2.5.3 实验实验步骤步骤略2.5 实验:Shell的基本应用略2.6 习题

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(Linux系统基础及服务器配置教程与实验课件第2章.pptx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|