Ch6-2Shell简介及shell常用命令LINUX技术与应用2本节要点:Shell简介Shell命令和Shell程序的概念Shell常用命令目录操作命令文件操作命令压缩和解压缩命令权限设置命令系统管理和网络管理命令LINUX技术与应用31、Shell简介什么是Shell?Shell的中文意思是“外壳”。Shell是一个操作环境(对应于XWindow);是一个独立于操作系统的应用程序;是介于用户和Linux内核之间的接口;是一个具有交互性的命令行解释器;是一种脚本语言。Shell拥有自己内建的shell命令集。Shell的作用?解释并执行键入的命令;如果是程序则传给内核来执行。硬件kernelshellX用户LINUX技术与应用42、Shell命令和Shell程序的概念Shell命令:从命令行输入语句,每输入一次就能得到一次响应,这些语句就是shell命令。Shell程序:又称shell脚本。把一系列的shell命令,按照一定的语法规则和控制结构,组织在一个文件中,然后由内核来一条接着一条地解释和执行这些命令,这个文件就是一个shell程序。类似于DOS/Windows中的.bat批处理文件。LINUX技术与应用52、Shell命令和Shell程序的概念DOS/Windows中的.bat批处理文件:先新建批处理文件。再输入若干需批处理的命令。最后执行该批处理文件。文件中的命令会被逐条逐条执行。示例:cd..diraa.bat批处理文件LINUX技术与应用62、Shell命令和Shell程序的概念LINUX中的Shell程序:先创建程序文件。再输入若干命令。最后执行该程序。示例:pwdlsaa脚本LINUX技术与应用72、Shell命令和Shell程序的概念Shell命令和shell程序的关系:shell程序由shell命令组成。每一个可执行的shell命令都可写入shell程序。shell程序将若干shell命令按照一定的控制结构组织在一起,如顺序、选择、循环等。执行shell程序时,可以从命令行给shell程序传递实际参数。LINUX技术与应用82、Shell命令和Shell程序的概念Shell程序的优点:利用shell程序,可以将需要重复执行的若干命令组合在一起,通过执行程序,可以将组合在一起的所有命令一次性执行完毕,从而减少了重复地键入每一条命令的时间。例如,我们经常需要打印当前工作路径,然后显示该目录中的文件。该操作可以通过一个Shell脚本来完成。或者,当我们要执行很多条命令才可以得到最终想要的结果时,也可以将这些命令组织在一个shell程序中,通过一次性执行程序,得出结果,省时。LINUX技术与应用93、Shell常用命令Shell命令基础Shell常用命令目录操作命令文件操作命令压缩和解压缩命令权限设置命令系统管理和网络管理命令LINUX技术与应用10(1)shell终端:也称虚拟控制台。shell命令基础当前用户名当前目录名若当前用户是一般用户,则用$。当前计机名LINUX技术与应用11shell命令基础(2)shell命令的组成格式:命令名[选项][参数或操作对象]例如:mount–tiso9660/dev/hdc/mntumount/mntpwdls–l/rootLINUX技术与应用12shell命令基础(3)使用帮助命令:格式使用范围举例man命令名所有命令mancatmanmanwhatis命令名所有命令whatisechowhatiscathelp命令名部分命令helpecho不行:helpcat命令名--help部分命令cat--help不行:echo--help按q键退出LINUX技术与应用13shell命令基础(4)历史命令和Tab自动补全功能:方向键:使用上、下方向键,可自动选择以前使用过的命令。历史命令被保存在一个名为.bash_history的文件中,它是当前主目录中的文件,可查看和阅读。Tab键:使用Tab键,可自动补全命令或路径。若有多个符合条件的选项,则可再次按Tab,输入下一个字符,再次按Tab,直至补全。例如:ls/root/Desktop/vi/etc/yum.r…/rhel…?LINUX技术与应用14shell命令基础(4)编辑和修改命令:输入命令后,可通过左右方向键、Home键、End键等来移动光标,然后再配合Delete和Backspace键可对命令进行编辑和修改。LINUX技术与应用15Shell常用命令(1)目录操作命令目录操作命令是指能够对目录进行查看、创建、删除,以及显示当前工作目录和改变当前目录等操作。LINUX技术与应用16常用目录操作命令:命令功能pwd打印当前工作目录。cd改变当前所在目录。ls查看目录下的内容。dir类似ls命令。mkdir创建目录。rmdir删除空目录。LINUX技术与应用17pwd命令pwd(printworkingdirectory):打印工作目录。【功能】显示当前工作目录的整个路径。【用法】直接在Shell提示符#或$后输入命令pwd,然后按回车。【例如】LINUX技术与应用18pwd命令(续)【注意】“当前目录名”跟“显示当前工作目录”是不同的。前者只是显示目录名字,后者显示整个路径。LINUX技术与应用19cd命令【功能】改变所在目录。【用法】可以直接写cd或cd~,表示回到主目录,也可在后面加上要转移到的目的目录及其路径。【格式】cd[路径/目录名]绝对路径:从根目录开始写,以“/”打头。相对路径:当前目录的子级目录开始写。【例如】cd/root/123/456cd123/456cd..cd/LINUX技术与应用20cd命令(续)什么时候用相对路径,什么时候用绝对路径?怎样回到当前目录的直接上级目录(父目录)?怎样用相对路径转到其他非当前目录的子目录?思考:cd..cd../../例:cd../../123/456LINUX技术与应用21示例:cd命令的使用。LINUX技术与应用22ls命令【功能】查看某个目录中的内容。【用法】直接写ls,或在后面加上选项。【格式】ls[选项][目录]【例如】lsls–a/root/123ls–l/root/aaa.txtLINUX技术与应用23ls命令(续)各个选项及其功能:LINUX技术与应用24示例:ls命令的使用。LINUX技术与应用25示例:ls命令的使用。(续)ls可以同时选择多个选项:LINUX技术与应用26示例:ls命令的使用。(续)显示指定目录中的内容:LINUX技术与应用27dir命令【功能】类似ls,但选项较少,用于查看某个目录中的内容。【格式】dir[选项][目录]【例如】dirdir–a/root/123dir–l/root/aaa.txtLINUX技术与应用28mkdir命令【功能】创建目录,只能在已存在的目录中创建新的目录。【格式】mkdir[选项][目录]-p:在创建目录时,如果父目录不存在,则同时创建该目录及该目录的父目录。【例如】mkdir-p/root/abc/123LINUX技术与应用29rmdir命令【功能】删除空目录。【格式】rmdir[选项][目录]-p:在删除目录时,一起删除父目录,但父目录中必须没有其他目录及文件。【例如】rmdir-p/root/abc/123LINUX技术与应用30(2)文件操作命令在命令行环境下对文件进行操作将比在图形环境下操作文件更加快捷和高效。文件操作主要包括搜索文件、复制和移动文件、删除文件以及合并文件的内容等。LINUX技术与应用31常用文件操作命令:命令功能cat查看文件的内容。more分页查看,空格键下一页,b键上一页。less分页查看,类似more,也可方向键滚动显示。head查看文件的前面部分,默认是前十行。tail查看文件的后面部分,默认是后十行。cp复制文件。mv移动文件。rm删除文件。find检索文件。touch创建一个空白文件。ln创建链接文件。LINUX技术与应用32cat命令【功能】显示文件的内容,或合并文件内容,并重定向输出。【用法】按Ctrl+D退出cat命令。【格式】cat[选项][文件名]选项:-n:对所有输出行标注行号。-b:对所有非空行标注行号。:重定向输出。:重定向输入。cat用于查看全文内容,不能分页查看LINUX技术与应用33cat使用示例cat//将键盘输入的内容重新显示到屏幕。cataa//将键盘输入的内容重定向输出到指定文件中。cataa//将指定文件的内容显示到屏幕。cataa//从指定文件中获取内容作为输入信息,然后显示到屏幕。cataabbcc//合并a,b中的内容,然后重定向输出到c。cat–naabbccLINUX技术与应用34more命令【功能】分页查看,空格键下一页,b键上一页。【格式】more[选项]文件名选项:-num:一次显示的行数。+num:从第几行开始显示。【例如】more.bash_historymore–10.bash_historymore+5.bash_historyLINUX技术与应用35less命令【功能】分页查看,类似more,也可方向键滚动显示,按q键结束浏览。读取速度较快。【格式】less[选项]文件名【例如】less.bash_historyLINUX技术与应用36head、tail命令【功能】显示文件的前部分/后部分,默认情况下,只显示前十行/后十行。【格式】head/tail[选项]文件名选项:-nnum:显示指定文件的前/后num行【例如】head.bash_historytail.bash_historytail-n.bash_historyLINUX技术与应用37cp命令【功能】复制文件或目录到指定的目录或文件。【格式】cp[选项]源文件或目录目标文件或目录选项:-i:交互式,询问是否覆盖。-r:递归复制。【例如】cpaa.txt/root/123cp–iaa.txt/root/123cp–iaa.txt/root/123/bb.txtLINUX技术与应用38mv命令【功能】移动文件或目录到指定的文件或目录【格式】mv[选项]源文件或目录目标目录或文件【例如】mvaa.txt/root/123LINUX技术与应用39rm命令【功能】删除指定的一个或多个文件。【格式】rm[选项]文件名【例如】rm-iaa.txtrm-iaa.txtbb.txtLINUX技术与应用40find命令【功能】检索某个或某些特定的文件,可根据名称、类型等来检索。【格式】find[选项][路径]参数【例如】find-name“*.txt”find-typedfind-typefLINUX技术与应用41touch命令【功能】改变文件的时间记录,或创建一个空白文件。【格式】touch[选项]文件名选项:无:如目标文件不存在,则建立新的文件。-c:如目标文件不存在,不会建立新的文件。-a:改变文件的读取时间记录。-d:设定时间和日期。【例如】touchdd.txttouch–cee.txtLINUX技术与应用42ln命令【功能】创建链接文件。【格式】ln[选项]源文件名链接文件选项:无:硬链接文件。-s:软链接文件,符号链接文件。【例如】lnaa/root/123/bbln–saa/root/123/ccLINUX技术与应用43小结本节主要介绍shell的基本概念,shell命令和shell程序的概念,以及shell常用命令。LINUX技术与应用44问题LINUX技术与应用45实训项目