第5章字符界面操作-shell基础_第1页
第5章字符界面操作-shell基础_第2页
第5章字符界面操作-shell基础_第3页
第5章字符界面操作-shell基础_第4页
第5章字符界面操作-shell基础_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章字符界面操作——shell基础

5.1shell简介

5.2

帮助命令

5.3shell基本命令的体验

5.4shell应用技巧

5.5

环境变量

5.6shell内部命令

5.7vi编辑器5.1shell简介Linux内核、shell和用户之间的关系如图所示。5.1shell简介1.进入shell在UbuntuGNOME桌面环境下,用户可以通过终端进入shell命令行界面。打开终端的方法是单击“应用程序”→“附件”→“终端”,屏幕上显示类似“user@ubuntu:~$”的信息。2.shell脚本shell脚本就是由Linux命令或可执行程序组成的文本文件。shell脚本可以由任意的Linux命令组成。当执行shell脚本文件时,除了脚本的控制结构语句外,脚本命令都是从上到下顺序执行的。5.2帮助命令5.2.1man工具man工具可以显示系统手册页中的内容,这些内容基本上都是对命令的解释信息。man为每个命令都提供了详细的信息,所以对所有Linux用户来说,man是一种非常实用的工具。格式:man[选项参数]命令名称选项参数:man命令常用的选项参数如表5.1所示。选项参数参数含义-M指定搜索man手册页的路径,通常这个路径由环境变量MANPATH预设,如果在命令行上指定另外的路径,则覆盖MANPATH的设定-a显示所有的手册页-f只显示命令的功能,而不显示详细的说明文件-d只显示排错信息,不显示帮助内容-w显示该命令的man手册页的文件所在位置5.2.1man工具man手册页组成内容:man手册页内容一般会分为HEADER、NAME、SYNOPSIS、DESCRIPTION、OPTIONS、SEEALSO等内容。Linux系统下man手册页组成内容的说明如表5.2所示。手册页内容说明HEADER标题NAME命令/函数的功能简单说明SYNOPSIS命令/函数用法的简单描述。即对于命令来说是命令的语法,对于函数来说是函数的定义AVAILABILITY可用性说明DESCRIPTION命令/函数的详细描述OPTIONS命令的所有可选项参数的详细说明RETURNVALUE如果是函数,则列出函数返回值ERRORS如果函数调用出错,则列出所有出错的值和可能引起错误的原因FILES命令/函数所用到的相关系统文件ENVIRONMENT与该命令/函数相关的环境变量NOTES不常用的用法或实现的细节BUGS命令或函数已知的错误和警告HISTORY命令/函数的历史发展SEEALSO可以参照的其他的相关命令/函数OTHERS与一些具体命名/函数有关的特殊信息5.2.1man工具【例5.1】显示ls命令的man手册页。命令及显示信息。【例5.2】显示ls命令的功能,而不显示详细的说明文件。命令及显示信息如下:user@ubuntu:~$man-flsls(1)

-listdirectorycontents5.2.2help命令选项help命令主要用来显示shell内部命令的说明或列出全部shell内部命令。格式:help[shell内部命令]例如:显示所有shell内部命令。命令及结果显示如下:[user@ubuntu:~]$helpGNUbash,version4.0.33(1)-release(i386-redhat-linux-gnu)Theseshellcommandsaredefinedinternally.Type`help'toseethislist.Type'helpname'tofindoutmoreaboutthefunction'name'Use'infobash'tofindoutmoreabouttheshellingeneral.Use'man-k'or'info'tofindoutmoreaboutcommandsnotinthislist.

Astar(*)nexttoanamemeansthatthecommandisdisabled.

job_spec[&]history[-c][-doffset][n]orhist>((expression))ifCOMMANDS;thenCOMMANDS;[elifC>.filename[arguments]jobs[-lnprs][jobspec...]orjobs>: kill[-ssigspec|-nsignum|-sigs>[arg...]letarg[arg...]...5.2.3info显示命令信息与man工具相比,info工具可显示更完整的最新的GNU工具信息。若man页包含的某个工具的概要信息在info中也有介绍,那么man页中会有“请参考info页更详细内容”的字样。格式:info[选项参数]命令info的参数一般情况下用的不多,用户可以使用命令“info--help”来查看info命令的参数。【例5.3】显示ls命令的info信息。命令如下:user@ubuntu:~$infols5.3shell基本命令的体验1.进入shell如果用户名为user,主机是名为ubuntu的主机,当前所在用户主目录为/home/user,提示符如下:user@ubuntu:~$要运行命令的话,只要在提示符后面输入命令,然后按回车键。shell将在它的路径中搜索这个命令,找到该命令后就运行它,并在终端输出相应的结果。命令结束后,系统将会给出新的提示符。例如:user@ubuntu:~$ls公共的

模板

视频

图片

文档

下载

音乐

桌面user@ubuntu:~$5.3shell基本命令的体验2.查看当前路径命令pwdpwd(PrintWorkingDirectory),是打印当前工作目录的命令。如果用户想知道当前所处的目录,可以用pwd命令,该命令显示完整路径名,此路径名为绝对路径名。【例5.4】显示当前路径。命令及显示信息如下:user@ubuntu:~$pwd/home/user5.3shell基本命令的体验3.改变目录命令cdcd命令主要实现将当前用户的当前工作目录更改至cd命令中指定的目录。【例5.5】用cd命令进入/user/local/bin/目录下,然后查看当前工作目录。命令及显示结果如下:user@ubuntu:~$cd/usr/local/bin/user@ubuntu:/usr/local/bin$pwd/usr/local/bin【例5.6】使用cd命令进入根目录“/”。命令及显示结果如下:user@ubuntu:~$cd/user@ubuntu:/$user@ubuntu:/$pwd/5.4shell应用技巧5.4.1Tab自动补全命令例如需要快速地从当前所在的用户主目录/home/user跳转到/usr/local/bin/目录,可以执行下面的操作:user@ubuntu:~$cd/u<Tab>/lo<Tab>/b<Tab>其中<Tab>是按下Tab键的意思,使用Tab键可以将命令自动补全,这在Linux命令的日常应用中是不可缺少的。5.4.2命令记忆功能1.上下方向键Linux用户通过向上方向键向后遍历最近在该控制台下输入的命令,用向下方向键可以向前遍历命令。2.历史记录命令historyhistory命令是用于读取、显示或清除命令历史记录的shell命令。【例5.7】用history命令列出命令历史缓冲区或文件记录中记录的所有命令。命令及结果显示如下:user@ubuntu:~$history

1history

2cd/usr/ 3ls 4cdlocal/ 5ls 6cdbin/ 7ls …5.4.2命令记忆功能【例5.8】假设用户想列出最近执行的10条命令。命令及显示结果如下:user@ubuntu:~$history10 3 ls 4 cdlocal/ 5 ls 6 cdbin/ 7 ls 8 history 9 cd.. 10 cd 11 history 12 history10【例5.9】用户想清除历史缓冲区中的命令。命令及运行结果如下:user@ubuntu:~$history-cuser@ubuntu:~$history1history5.4.2命令记忆功能3.重复执行先前命令“!”在shell中为了重复执行先前的命令,用户可以用“!”引用命令实现。常用的“!”命令如表5.3所示。命令命令功能!引用历史缓冲区或文件中的命令!!重复执行前面刚执行的命令!n重复执行命令历史缓冲区或文件中序号为n的命令!-n重复执行从当前命令位置开始倒数的第n个命令!string重复执行以给定的部分字符“string”为起始字符的最近一次执行的命令!?string[?]重复执行包含给定的字符串“string”的最近一次执行的命令!!string引用前一条刚执行完的命令,将给定的字符串“string”放在该命令后,重新执行!#引用迄今为止已经输入的所有字符!$引用前一个命令的最后一个参数5.4.2命令记忆功能【例5.10】使用“!!”命令,重复执行刚执行的ls命令。命令及结果如下:user@ubuntu:~$lsa?Desktopexamples.desktop公共的

模板

视频

图片

文档

下载

音乐

桌面user@ubuntu:~$!!lsa?Desktopexamples.desktop公共的

模板

视频

图片

文档

下载

音乐

桌面5.4.2命令记忆功能【例5.11】

重复执行最近一次执行的history10命令。命令及执行结果如下:user@ubuntu:/home$history105ls\?6ls\?7ls*\?…14history10user@ubuntu:~$lsa?Desktopexamples.desktop公共的

模板

视频

图片

文档

下载

音乐

桌面

user@ubuntu:~$!hhistory108ls9history…16ls17history105.4.2命令记忆功能【例5.12】用mkdir在当前用户目录下新建一个目录han,然后使用cd!$,完成进入目录han的功能。命令及结果显示如下:user@ubuntu:~$mkdirhanuser@ubuntu:~$cd!$cdhanuser@ubuntu:~/han$5.4.2命令记忆功能4.编辑命令行快捷键用户可以通过光标和Home、End等功能键对命令行进行操作,用户还可以通过键盘的快捷方式对命令行进行编辑,常用的快捷键及功能如表5.4所示。主要功能键按键功能Ctrl+a将光标移到行首Ctrl+e将光标移到行尾Ctrl+k删除从光标到行尾的部分Ctrl+u删除从光标到行首的部分Ctrl+w删除从光标到当前单词开头的部分Ctrl+y插入最近删除的单词Alt+a将光标移到当前单词头部Alt+e将光标移到当前单词尾部Alt+d删除从光标到当前单词结尾的部分5.4.3多条命令的执行1.“;”的使用格式:命令1;命令2 先执行命令1,不管命令1是否出错,接下来再执行命令2。【例5.13】先查看当前路径然后再列出目录中所有的内容,使用“;”实现。命令及显示信息如下:user@ubuntu:~$pwd;ls/home/userDesktopexamples.desktop公共的

模板

视频

图片

文档

下载

音乐

桌面5.4.3多条命令的执行2.“&&”的使用格式:命令1&&命令2 &&…先查看当前路径然后再列出目录中所有的内容。使用“&&”实现。命令及显示信息如下:user@ubuntu:~$pwd&&ls/home/userDesktopexamples.desktop公共的

模板

视频

图片

文档

下载

音乐

桌面5.4.4命令别名用户可以用简单的命令别名来定义烦琐的命令以便解决这个问题。别名相当于给命令起一个新名字,原来的命令名还是存在的。别名定义格式如下:格式:alias[别名]=[需要定义别名的命令]【例5.14】将cd/usr/local/bin命令行另起别名为“bin”。命令及运行结果如下:user@ubuntu:~$aliasbin='cd/usr/local/bin'user@ubuntu:~$binuser@ubuntu:/usr/local/bin$5.4.5管道管道是Linux系统中信息通信的重要方式,它是一种先进先出的单向数据通路。利用管道线“|”把一个程序的输出直接连接到另一个程序的输入,而不经过任何中间文件。管道线“|”,可以把一个命令的标准输出连接到管道线是指连接两个或更多程序管道的通路。格式:命令1|命令2 【例5.15】使用命令more分页显示/usr/bin目录中的内容.命令及系统显示信息。5.4.5管道用户可以在shell的命令行中使用通配符作为特殊结构的字符串模式操作。用于shell模式匹配的常用通配字符及其功能如表5.5所示。字符功能*用于匹配任意字符?用于匹配一个字符[x-y]用于匹配字符范围。例如[0-9][!x-y]用于匹配不在字符范围。例如[!a-z],表示除了“a-z”之间的字符5.4.5管道【例5.16】查找当前目录中所有以.sh结尾的文件,可以使用下面的命令:$ls*.sh【例5.17】查找当前目录中所有以.s?结尾的文件。其中“?”是任意一个字符的意思。可以使用下面的命令:$ls*.s?【例5.18】查找一个目录中名字里包含数字的所有文件夹。可以使用以下命令:$ls*[0-9]*【例5.19】查找一个名字中包含“?”的文件。可以使用下面的命令:$ls*\?5.5环境变量常见的环境变量如表5.6所示。系统环境变量环境变量的含义PATH系统路径HOME系统根目录HISTSIZE保存历史命令记录的条数LOGNAME当前用户的登录名HOSTNAME主机的名称SHELL当前用户用的shellLANG/LANGUGE使用多种语言的用户可以修改此环境变量将它指定为需要的语言MAIL当前用户的邮件存放目录5.6shell内部命令1.echo命令echo命令是Linux系统中应用最广泛的命令之一,它主要用于显示各种信息,也可以用于显示文件列表。格式:echo[要显示的内容]【例5.20】使用echo命令,显示字符串信息“hello,everybody!”。命令及结果显示如下:user@ubuntu:~$echohello,everybody!hello,everybody!user@ubuntu:~$echo'hello,everybody!'hello,everybody!【例5.21】显示扩展名为“.c”的文件名。命令及结果如下:user@ubuntu:~$echo*.cfile1.cfile2.c5.6shell内部命令2.let命令let命令用于计算和测试整数算术表达式,执行整数运算。下面的实例是利用let命令计算整数表达式。user@ubuntu:~$n=1user@ubuntu:~$let"n=n"user@ubuntu:~$let"n=n+1"user@ubuntu:~$echo"$n"25.6shell内部命令3.set与unset命令如果set命令不带任何选项参数,set命令将会列出所有的环境变量和其他已经声明或设置的变量。【例5.22】使用set命令列出所有的环境变量和其他已经声明或设置的变量。命令及结果显示。【例5.23】使用unset命令清除shell变量v=“hello,everybody!”。命令及显示信息如下:user@ubuntu:~$v=hello,everybody!user@ubuntu:~$echo"$v"hello,everybody!user@ubuntu:~$unsetvuser@ubuntu:~$echo"$v"

user@ubuntu:~$5.6shell内部命令4.export命令export命令的使用格式如下:export[变量名]【例5.24】使用export命令显示当前所有的export变量。命令及结果显示如下:user@ubuntu:~$exportdeclare-xCOLORTERM="gnome-terminal"declare-xDBUS_SESSION_BUS_ADDRESS="unix:abstract=/tmp/dbus-Ql0jgsOh7I,guid=64136610be0c46fe1a62529a4b0f2a51"declare-xDESKTOP_SESSION="gnome"declare-xDISPLAY=":0.0"declare-xGDMSESSION="gnome"…5.7vi编辑器5.7.1vi的基本操作1.进入vi编辑器在命令终端输入vi及文件名称后,就进入vi编辑界面。例如要创建并编辑文件名为“filename”的文本文件,那么在命令终端输入如下命令:user@ubuntu:~$vifilename按下回车键,进入vi编辑器界面后,系统处于命令行模式,如图5.2所示。5.7.1vi的基本操作2.进入插入模式编辑文件在命令行模式下,按字母“i”就可以进入插入模式,此时便可以输入文字了。当输入完毕后,可以按下Esc键从插入模式切换到命令行模式。3.退出vi并保存文件在命令行模式下,按冒号键“:”可以进入末行模式。例如:在冒号“:”后,输入“wq”,保存并退出vi编辑器。输入“q!”,不保存强制退出vi。输入“wfilename2”将文件内容保存到指定的文件名filename2中。5.7.2命令行模式操作1.进入插入模式(1)按“i”键:从光标当前位置开始输入文字。(2)按“I”键:在光标所在行的行首输入文字。(3)按“a”键:从光标当前所在位置的下一个位置开始输入文字。(4)按“A”键:在光标所在行的行末输入文字。(5)按“o”键:从光标所在位置的下面插入新的一行,并且从行首开始输入文字。(6)按“O”键:在光标所在行的上面插入新的一行,并且从行首开始输入文字。(7)按“s”键:删除光标所在位置的一个字符,然后进入插入模式。(8)按“S”键:删除光标所在的行,然后进入插入模式。2.从插入模式切换到命令行模式按Esc键,可以完成从插入模式到命令行模式的切换。5.7.2命令行模式操作(9)按“^”键:将光标移动到其所在行的行首。(10)按“$”键:将光标移动到其所在行的行尾。(11)按“w”键:将光标移动到下一个单词的开头。(12)按“e”键:将光标移动到下一个单词的结尾。(13)按“b”键:将光标移动到上一个单词的开头。(14)按“nl”键:将光标移动到该行光标所在位置后面的第“n”个字符。5.7.2命令行模式操作4.删除文字(1)按“x”键:每按一次,向后删除光标所在位置的一个字符。(2)按“nx”键:每按一次,删除光标所在位置后面的“n”个字符。例如,“6X”表示删除光标所在位置后面的6个字符。(3)按“X”键:每按一次,向前删除光标所在位置的一个字符。(4)按“nX”键:每按一次,删除光标所在位置前面的“n”个字符。例如,“6X”表示删除光标所在位置前面的6个字符。(5)按“dd”键:删除光标所在行。(6)按“ndd”键:从光标所在行开始删除“n”行。5.7.2命令行模式操作5.复制粘贴(1)按“yw”键:复制光标所在位置到该单词结尾的字符。(2)按“nyw”键:复制光标所在位置到其后面第“n”个字符。(3)按“yy”键:复制光标所在行。(4)按“nyy”键:复制从光标所在行开始的“n”行字符。(5)按“p”键:将复制到缓冲区内的字符粘贴到光标所在位置。5.7.2命令行模式操作6.替换更改(1)按“r”键:替换光标所在位置的字符。(2)按“R”键:替换光标所到位置的字符,直到按下Esc键为止。(3)按“cw”键:更改光标所在位置到该单词的结尾处。(4)按“cnw”键:更改光标所在位置到其后“n”个单词的结尾处。例如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论