资源预览内容
第1页 / 共41页
第2页 / 共41页
第3页 / 共41页
第4页 / 共41页
第5页 / 共41页
第6页 / 共41页
第7页 / 共41页
第8页 / 共41页
第9页 / 共41页
第10页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
shell简介简介 linux11shell简介知识点知识点Shell在操作系统中的地位在操作系统中的地位Shell的基本功能的基本功能Bash的突出优点的突出优点linux11shell简介OS的作用的作用 一般用户角度一般用户角度 人机接口人机接口 资源管理角度资源管理角度 系统系统资源的管理者资源的管理者 软硬件体系结构角度软硬件体系结构角度 裸机之上的裸机之上的第一层软件第一层软件linux11shell简介shellshell是内核是内核kernel的的“壳壳” ,是用来将机器语,是用来将机器语言和人类语言相互转化而存在的软件层次言和人类语言相互转化而存在的软件层次 由于由于kernel指令具有复杂性、高技术性、关键性指令具有复杂性、高技术性、关键性等特点,等特点,shell也用来屏蔽内核的复杂性以及防也用来屏蔽内核的复杂性以及防止用户误操作对系统内核造成不良影响止用户误操作对系统内核造成不良影响 是是命令语言命令语言、命令解释程序命令解释程序及及程序设计语言程序设计语言的统的统称称 它的作用是控制内核为用户工作它的作用是控制内核为用户工作linux11shell简介shell广义上讲,广义上讲,linux的的shell包括包括KDE、Gnome等桌等桌面程序;狭义而言,面程序;狭义而言,shell并不包括这些桌面操作并不包括这些桌面操作环境环境在在Unix和类和类Unix操作系统世界中,有三种独立开操作系统世界中,有三种独立开发的发的shell十分流行,它们分别是十分流行,它们分别是Bourne shell、Korn shell和和C shell在在linux中,默认的中,默认的shell为为Bash,即,即Bourne again shell。它是。它是GNU计划中一个重要的工具软计划中一个重要的工具软件,也是目前件,也是目前GNU操作系统中的标准操作系统中的标准shelllinux11shell简介shellcat /etc/shells /bin/sh(最初的(最初的shell版本,目前已经被版本,目前已经被bash取取代)代) /bin/bash(linux的默认的默认shell) /bin/ksh(Korn shell,与,与bash兼容)兼容) /bin/csh(已经被(已经被tcsh取代)取代) /bin/tcsh(整合了(整合了C shell,提供更多的功能),提供更多的功能)linux11shell简介shell不同不同shell的本质都是为了给用户提供一个在的本质都是为了给用户提供一个在linux下操作的便捷而安全的界面。为了达到这个目标,下操作的便捷而安全的界面。为了达到这个目标,每个每个shell都提供了基本的功能,它们包括:都提供了基本的功能,它们包括:管道连接管道连接文件名置换文件名置换 变量维护变量维护 shell编程编程环境控制环境控制命令行解释功能命令行解释功能 启动指定程序启动指定程序 输入输出重定向输入输出重定向 管道连接管道连接文件名置换文件名置换 变量维护变量维护 shell编程编程环境控制环境控制命令行解释功能命令行解释功能 启动指定程序启动指定程序 输入输出重定向输入输出重定向 linux11shell简介shell环境控制环境控制启动文件:当用户登录系统时,首先执行启动文件:当用户登录系统时,首先执行系统系统启动文件启动文件来对来对shell和其他工具所需的环境变量和其他工具所需的环境变量进行初始化设置,接着根据默认或指定进行初始化设置,接着根据默认或指定shell寻寻找找shell启动文件,其用以配置用户的安全操作启动文件,其用以配置用户的安全操作设置设置环境变量:定制操作环境的设置性信息环境变量:定制操作环境的设置性信息linux11shell简介shell环境控制环境控制 从从shell的角度来看多用户问题:的角度来看多用户问题: 1、当用户登录系统时,相应启动文件被执行、当用户登录系统时,相应启动文件被执行 2、调用一个子、调用一个子shell对该用户的操作环境进行设对该用户的操作环境进行设置,其中包括用户的置,其中包括用户的home目录、使用的终端类型目录、使用的终端类型以及用来搜索可执行文件的路径等以及用来搜索可执行文件的路径等 3、上述配置信息被存储在环境变量中,通过对、上述配置信息被存储在环境变量中,通过对这些环境变量的管理来实现环境设置与控制这些环境变量的管理来实现环境设置与控制 linux11shell简介shell环境控制环境控制 eg: $ echo $TERM xterm $ TERM=ansi $ echo $TERM ansi linux11shell简介shell命令行解释命令行解释用户登录用户登录linux后启动一个交互式后启动一个交互式shell。当用。当用户在户在shell提示符(提示符( #、$或者)后输入一行或者)后输入一行如下格式的指令后,如下格式的指令后,shell就会试着解释它就会试着解释它 command -option linux11shell简介shell命令行解释命令行解释 eg: rootlocalhost swh# ls -l file1 主机名为主机名为localhost的机器上当前用户为的机器上当前用户为root,当前目录为当前目录为swh,ls是指令文件,是指令文件,-l是选项,是选项,file1是指定查看的文件名。这些显示结果都是是指定查看的文件名。这些显示结果都是shell将机器语言和人类语言互译的结果将机器语言和人类语言互译的结果linux11shell简介shell命令行解释命令行解释eg:echo $paraA $paraB $paraC $paraA $paraB $paraC 人类语言:要求显示六个变量的值,人类语言:要求显示六个变量的值,空格空格用来用来分隔不同的变量名,分隔不同的变量名,是转义字符是转义字符 机器语言:显示六个变量的值,变量名是不同机器语言:显示六个变量的值,变量名是不同的的01字符串,其值也是字符串,其值也是01字符串字符串linux11shell简介shell命令行解释命令行解释eg:echo $paraA $paraB $paraC $paraA $paraB $paraC 人类语言:先打印引号中带空格的字符串,再人类语言:先打印引号中带空格的字符串,再显示三个不同变量的值显示三个不同变量的值 机器语言:看到引号后直接打印,直到引号结机器语言:看到引号后直接打印,直到引号结束,接着显示三个变量的值,变量名是不同的束,接着显示三个变量的值,变量名是不同的01字符串,其值也是字符串,其值也是01字符串字符串linux11shell简介shell启动指定程序启动指定程序在完成命令行的解释后,在完成命令行的解释后,shell就指挥内核就指挥内核从从PATH环境变量指定的目录中搜索命令行环境变量指定的目录中搜索命令行中指定的可执行文件中指定的可执行文件所谓所谓shell启动指定程序,本质上仍然是由启动指定程序,本质上仍然是由内核来执行内核来执行linux11shell简介shell启动指定程序启动指定程序当当shell找到指定文件后,就启动一个找到指定文件后,就启动一个子子shell来运行程序来运行程序子子shell由其父由其父shell启动,在不影响其父启动,在不影响其父shell的前提下建立和控制它自己的环境的前提下建立和控制它自己的环境 eg:一个子:一个子shell可以将其自己的工作目录设可以将其自己的工作目录设置的与父置的与父shell不同,当它运行结束并关闭后,其不同,当它运行结束并关闭后,其父父shell的工作目录仍保持不变的工作目录仍保持不变linux11shell简介shell输入输出重定向输入输出重定向输出重定向:将指定的输出信息发送到除屏幕输出重定向:将指定的输出信息发送到除屏幕外的其他地方去,例如一个指定的文件等外的其他地方去,例如一个指定的文件等输入重定向:指令所处理的数据并非来自通常输入重定向:指令所处理的数据并非来自通常位置(如键盘),而是来自指定的文件或其他位置(如键盘),而是来自指定的文件或其他指令等处指令等处在执行程序前进行输入输出重定向的编译在执行程序前进行输入输出重定向的编译linux11shell简介shell管道连接管道连接输入输出重定向的特例,它是将前一个指令的输入输出重定向的特例,它是将前一个指令的输出数据直接作为后一个指令的输入数据输出数据直接作为后一个指令的输入数据管道也是在调用程序前建立的管道也是在调用程序前建立的 eg: who | wc -l wc是一个用来显示文件容量参数的指令,是一个用来显示文件容量参数的指令,shell将将who指令的输出结果作为指令的输出结果作为wc指令的输入数指令的输入数据,而不是将其显示在计算机的屏幕上据,而不是将其显示在计算机的屏幕上linux11shell简介shell文件名置换文件名置换 使用较少的字符取代多个字符使用较少的字符取代多个字符 eg:ls -al pass* 这里的星号是一个多字符的替代符号,可以取代这里的星号是一个多字符的替代符号,可以取代一串字符一串字符在程序执行以前完成文件名替换在程序执行以前完成文件名替换 linux11shell简介shell变量维护变量维护 变量就是存储数据为将来所用的场所变量就是存储数据为将来所用的场所 用等号()可以给变量赋值用等号()可以给变量赋值 eg: $ LOOKUP=/home/swh $ echo $LOOKUP /home/swh $ echo LOOKUP LOOKUP linux11shell简介shell变量维护变量维护 变量置换在调用程序前完成,替换时用变量值取变量置换在调用程序前完成,替换时用变量值取代变量名代变量名 eg: $ls -l $LOOKUP/hustle 在执行在执行ls指令前将指令前将LOOKUP变量置换为变量置换为/home/swh,即显示,即显示/home/swh/hustle文件的相文件的相关信息关信息linux11shell简介shellShell编程编程shell还可以被视为一种集成化开发环境。通过还可以被视为一种集成化开发环境。通过使用流程控制和条件判断来组合指令以及对变使用流程控制和条件判断来组合指令以及对变量赋值,用户就拥有了一个有力的编程工具量赋值,用户就拥有了一个有力的编程工具使用使用shell作为开发环境有许多好处,例如使重作为开发环境有许多好处,例如使重复的任务自动执行、写报告、回复邮件等等复的任务自动执行、写报告、回复邮件等等linux11shell简介学习学习shell的意义的意义避免设定上的麻烦避免设定上的麻烦保证快速的传输速度保证快速的传输速度不易断线以及减少信息泄漏可能性不易断线以及减少信息泄漏可能性linux11shell简介Bash多数多数Linux版本的默认版本的默认shell是是GNU计划中最重要的工具软件之一计划中最重要的工具软件之一优点优点 强大的命令记忆能力强大的命令记忆能力 指令与文件名补全功能指令与文件名补全功能 指令别名指令别名 前后台处理前后台处理 shell scripts的指令程序功能的指令程序功能linux11shell简介Bash的优点的优点命令记忆命令记忆使用使用cat /root/.bash_history可以查询本次登可以查询本次登录前曾经做过的指令录前曾经做过的指令本次登录以来的指令存储在内存中,注销系统本次登录以来的指令存储在内存中,注销系统时才会回填到时才会回填到.bash_history中中使用上下键就可以实现上次使用上下键就可以实现上次/下次指令间的切换下次指令间的切换用于监测是否有用户非法入侵或非法操作用于监测是否有用户非法入侵或非法操作linux11shell简介Bash的优点的优点补全功能补全功能Bash可以自动补全文件名或者指令可以自动补全文件名或者指令 输入文件或指令的开始字符串,再点击输入文件或指令的开始字符串,再点击Tab键键实现自动补全实现自动补全一次一次Tab:自动补全:自动补全两次两次Tab:显示所有可用的以指定字符串开头:显示所有可用的以指定字符串开头的文件或指令的文件或指令linux11shell简介Bash的优点的优点指令别名指令别名指令的指令的“外号外号” 可以使用指令本身或者它的别名来调用指令可以使用指令本身或者它的别名来调用指令 eg1:$ alias alias vi=vim $ vi aa $ vim aa eg2: $ alias cls=clearlinux11shell简介Bash的优点的优点前后台控制前后台控制使用后台控制可以将当前的工作放到后台执行,使用后台控制可以将当前的工作放到后台执行,也就是说执行过程或结果不再显示在屏幕上,也就是说执行过程或结果不再显示在屏幕上,而是在系统中默默的运行着而是在系统中默默的运行着将工作放在后台可以避免误操作中止进程,当将工作放在后台可以避免误操作中止进程,当工作完成再将其调到前台查看结果工作完成再将其调到前台查看结果便于用户在单用户环境中实现多任务同时处理便于用户在单用户环境中实现多任务同时处理 linux11shell简介Bash的优点的优点shell scripts的指令程序功能的指令程序功能 shell scripts与用户交互式的进行交流并检测与用户交互式的进行交流并检测主机主机用户可以将一串连续的指令写入文件中去,在用户可以将一串连续的指令写入文件中去,在需要的时候直接调用该文件来完成指令的执行需要的时候直接调用该文件来完成指令的执行在某些情况下,用户所编写的在某些情况下,用户所编写的shell scripts就就像一个小型程序一样,便于执行与改写像一个小型程序一样,便于执行与改写linux11shell简介课后练习课后练习请描述请描述Kernel、shell和用户界面之间的关和用户界面之间的关系系Shell的基本功能是什么?的基本功能是什么?Bash的突出优点有什么?的突出优点有什么?linux11shell简介Thank You!linux11shell简介
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号