【精品】shell与shell命令精品ppt课件.ppt
《【精品】shell与shell命令精品ppt课件.ppt》由会员分享,可在线阅读,更多相关《【精品】shell与shell命令精品ppt课件.ppt(113页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、shell与shell命令3.1 shell基本功能与基本概念基本功能与基本概念 shell是用户和内核或OS之间的接口程序。shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用。shell一个解释型的程序设计语言,shell程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量、数组和程序控制结构。3.1.1 shell基本功能基本功能命令解释执行文件名替换.I/O重定向连通管道建立系统环境设置shell编程 3.1.2 字符与保留字字符与保留字1.字符(1)白空格:空格键和Tab键(2)通配符*:代表从它所在位置开始的任何字
2、符串。?:代表它所在位置上的任何单个字符。:代表一个指定范围的字符。方括号中的字符范围可以由直接给出的字符组成,也可以由表示限定范围的起始字符、终止字符及中间的连字符“-”组成。通配符示例通配符示例模式串 意义*当前目录下所有文件名,但不包括.开头的文件。例如abc是但.abc不是*Text*当前目录下所有文件名中包含有Text的文件名,但不包括.开头的文件a-dm*当前目录下所有以a、b、c、d、m开头的文件名aA-Em?当前目录下所有以a、A、B、C、D、E和m开头且后面只跟有一个字符的文件名!a-dm?ab-dm?当前目录下所有不以a、b、c、d、m开头且后面只跟有一个字符的文件名/de
3、v/hd?目录/dev下所有以hd开头且只有三个字符的文件名(5)Linux系统的特殊键系统的特殊键 特殊键意义Ctrl+D结束当前程序输入或终止当前程序或从系统中注销Ctrl+C终止当前程序的执行Ctrl+终止当前程序的执行(系统内部处理时不同于Ctrl+C)Ctrl+Z挂起当前程序执行,将推到后台Ctrl+S/Ctrl+Q暂停/继续屏幕的输出,必须配合使用ScrollLock暂停/继续屏幕的输出,开关键Ctrl+Alt+Del默认动作为重启系统Alt+F#字符终端切换。比如Alt+F2将终端切换至F2Ctrl+Alt+F#从图形介面切换终端到字符终端。比如Ctrl+Alt+F1从图形界面切
4、换至F12.保留字保留字 任何编程语言或系统都有一定数量的保留字,bashell的部分保留字如下:!,(,),cd,break,continue,echo,eval,exec,exit,export,function,getopts,hash,pwd,read,readonly,return,select,set,shift,test,time,trap,type,ulimit,unset,umask,wait,for,do,done,case,in,esac,if,else,elif,fi,while,until3.1.3 文件命名及文件类型文件命名及文件类型1.文件与文件名 文件是被命名(
5、称为文件名)的存储在某种介质(如磁盘、光盘和磁带等)上的一组信息的集合。UNIX/Linux的文件均为无结构的字符流形式。文件名是文件的一种标识,一般情况下,它由字母、数字、下划线和圆点组成的字符串来构成。Linux支持长文件名,但要求文件名的长度限制在255个字符以内。2.文件类型文件类型UNIX/Linux系统中有三种基本的文件类型:普通文件目录文件设备文件(1)普通文件普通文件 l普通文件是用于存放数据的文件,它是用户最经常面对的文件,它又分为文本文件和二进制文件。l文本文件:此类文件以可阅读的ASCII码形式存储在计算机存储器中,它是以“行”为基本结构的一种信息组织和存储方式。l二进制
6、文件:此类文件用户一般不能直接读懂它们,只有通过相应的软件才能对其进行操作。二进制文件一般是经编译程序编译后生成的可执行程序、图形、图像、声音等。(2)目录文件目录文件 l目录文件用于存储一组相关的文件项信息,其中包括文件名及其属性的信息。在UNIX/Linux系统中它只包括文件名和i节点号等相关信息,而文件的属性信息保存在i节点信息中。目录文件在形式上同普通文件一样,但具有目录属性,只能目录管理命令来访问和管理。l一个目录文件内至少要有两个文件项:l.-当前目录;l.-上级目录。l目录文件的大小只能增加,尽管可以从目录中删除文件或子目录,但不能使目录变小。使目录变小的方法是删除后重建。l目录
7、文件往往简称为目录或子目录,在图形界面下称为文件夹。因为目录也是文件,所以它的命名规则和文件命名规则相同。(3)设备文件设备文件 l设备文件是UNIX/Linux系统的一个重要特色。UNIX/Linux系统把每一个I/O设备都看成一个文件,与普通文件一样处理,这样可以使文件与设备的操作尽可能统一。从用户的角度来看,对I/O设备的使用和一般文件的使用一样,不必了解I/O设备的细节。l设备文件与普通文件和目录文件不同,它除了在目录文件和文件说明信息表(i节点)中占据相应的位置之外,并不占有实际的物理存储块。当用户使用设备文件时,可通过设备的名称得到其i节点,然后通过其中的主、次设备号取得与内核中的
8、设备驱动程序的联系,从而达到访问设备的目的。常见设备文件类型常见设备文件类型l块设备文件(b):以块方式存取的设备;l字符设备文件(c):以字符方式存取的设备;l管道设备文件(p):用于进程间通信的FIFO“临时文件”。l名管道:主要用于有直接继承关系的父子进程之间的通信。当创建无名管道的进程结束后,无名管道自动消失;l命名管道:命令管道是一种特殊的设备文件,在文件系统里以名字形式存在。当通信结束后若不主动删除它,它不会自动消失,而仍以文件的形式存在在文件系统中。l套接字文件(s):套接字分为文件套接字和网络套接字。文件套接字存在于文件系统中,让用户以文件的方式访问网络连接。硬链接和符号链接硬
9、链接和符号链接l符号链接(l):用于通过此文件的内容指向它所链接的文件或资源。可跨越文件系统或一个不存在的地方。l硬链接(-):两个或多个文件名共用一个文件体,也就是说一个文件可以具有多个不同的名字,但具有相同的i节点号。3.1.4 目录结构与路径目录结构与路径1.目录与目录结构 UNIX/Linux系统以文件目录的方式来组织和管理系统中的所有文件。所谓文件目录就是将所有文件的说明信息采用树型结构组织起来即目录或目录项。UNIX/Linux系统中,整个文件系统有一个“根”(root,符号表示为/),然后在根上分“杈”(directory),任何一个分杈上都可以再分杈,也可以长出“叶子”。“根”
10、和“杈”在Linux中被称为“目录”或“文件夹”,而“叶子”则是一个个的文件。在UNIX/Linux系统中文件系统的根目录用符号“/”表示。UNIX/Linux是一个多用户系统,操作系统本身的程序或数据存放在以根目录开始的某些专用目录中,有时被指定为系统目录。RedHat Linux 9RedHat Linux 9的录结构的录结构2.工作目录、用户主目录与路径工作目录、用户主目录与路径 自从用户登录到系统中之后,每时每刻都“处在”某个目录之中,此目录被称作工作目录或当前目录(Current Working Directory)。工作目录用“.”表示,且可以随时改变。用户刚登录到系统中时,其工作
11、目录便是该用户主目录(HOME)。root用户的主目录为/root;一般情况下,其它用户的主目录是在/home下的与登录名相同的目录。路径是指从树型目录中的某个目录层次到某个文件或目录路线。对任一文件在文件系统中的位置可以由相对路径或绝对路径来决定。绝对路径是指从“根”开始的路径;相对路径是从用户工作目录开始的路径。3.1.5 shell命令解释及执行命令解释及执行在Unix/Linux系统中,命令格式如下:命令名 选项 参数 在Linux系统中默认的分隔符为白空格。参数是Linux命令操作的对象,而选项则影响命令对对象的操作行为。选项是由符号“-”引导的字符或字符串,“-”是必须的,Linu
12、x用它来区别选项和参数。在Linux系统中选项有两种形式:传统Unix风格的选项,以“-”开始,紧跟一个字符;GNU风格的选项,以“-”开始,紧跟着完整的英文单词来说明选项的意义。bashbash的命令行扩展与历史特性的命令行扩展与历史特性bash命令行具有命令和文件名扩展特性。bash能列出指定目录下部分匹配的文件名来完成文件名扩展。bash还允许用户对正在输入的命令行进行编辑。Linux的回车后命令也被保留在历史记录中,通过光标键“”和“”上下翻动历史记录,对出现的当前记录可以进行编辑和使用。用户还可使用格式:history n(n为数字)若用户要重新执行某条历史记录的命令可以使用格式:!
13、记录编号bash命令行编辑键命令行编辑键 编辑键意义Ctrl+A光标移至行首Ctrl+E光标移至行尾Alt+F光标前移至右一词末Alt+B光标后移至左一词前Ctrl+L清屏并在屏幕顶端重显当前行Ctrl+-恢复上一次的操作Ctrl+K删除光标处至行末内容Ctrl+U删除光标处至行首内容Alt+D删除光标处至单词末内容Alt+DEL删除光标处至单词首内容Ctrl+W删除光标处左一词至词首内容Ctrl+Y将刚删除的内容插入到光标处3.1.6 环境变量与变量环境变量与变量1.环境变量 shell在开始执行时就已经定义了一些和系统的工作环境有关的变量,用户还可以重新定义这些变量。环境变量可用命令env
14、来查询。(DOS环境为set)常用的shell环境变量有:HOME:根目录。LOGNAME:登录用户名。IFS:命令行内部域分割符(白空格):空格,tab。PATH:命令搜索路径。TERM:终端的类型。PWD:当前工作目录的绝对路径名,该变量的取值随cd命令的使用而变化。PS1:主提示符,默认情况下,超级用户的主提示符是#,普通用户主提示符是$。PS2:辅助提示符,提示用户继续输入命令的其余部分,默认的辅助提示符是“”。2.变量变量 在UNIX/Linux系统中,除了环境变量外,用户还可以定义自己的变量。定义后的变量就像在其它程序设计语言里一样被引用。变量引用时需要使用“$”作为变量名的前导字
15、符。变量的定义方法:var_name=var_value 变量的使用示例:echo$PATHx=123x45;y=“The value of var x is$x”echo$x$y3.1.7 标准流与输入输出重定向标准流与输入输出重定向标准设备,与标准流I/O重定向管道 标准设备标准设备当执行一个命令时,shell通常会自动为其打开三个标准文件,即标准输入文件、标准输出和标准错误。文件号描述符使用设备标准输入0stdin键盘标准输出1stdout屏幕标准错误2stderr屏幕I/OI/O重定向重定向I/O重定向(也称作改道)是指通过文件的形式实现I/O输入和输出。I/O重定向可以通过以下符号实
16、现:以覆盖方式实现输出重定向。:以追加方式实现输出的重定向。&:标准输出和标准错误同时重定向。3.1.8 管道管道管道机制是在两个或多个进程之间建立一种连接,使得前一个命令的输出作为后一个命令的输入。管道机制常用于进程间的通信。实现管道机制的符号是“|”,其方法为:命令1|命令2|命令n有时候需要对某文件处理既要在屏幕上看到输出同时又要保存一个副本。这时使用管道与tee命令配合来实现。tee命令命令tee命令的功能是读取标准输入的数据,并将其内容输出到指定文件,其用法为:tee-ai 文件-a 追加方式。-i 忽略中断信号tee命令的使用示例如下:ls*.txt|tee f1 f2#将当前目录
17、的*.txt文件目录显示在屏幕上同时保存两个副本f1和f2 3.1.9 引号机制、命令替换与参数替换引号机制、命令替换与参数替换1.引号机制在shell中引号分为三种:单引号(),双引号(”)和反单引号()。由单引号括起来的字符都作为普通字符。反单引号的作用是命令替换。命令替换的另一种形式是:$(cmd)它的作用与cmd相同。双引号的作用与单引号的功能基本一样,可用来定义变量,所不同的是在双引号内可进行变量和命令替换。反单引号与命令替换示例反单引号与命令替换示例x=pwd#通过命令pwd替换定义变量x。y=whoami#通过命令whoami替换定义变量yecho$x$y#显示变量x和y的内容M
18、yVar=$(whoami)#通过命令whoami定义变量MyVarecho$MyVar$(pwd)#显示变量MyVar和$(pwd)的值双引号示例双引号示例string=$PATH#定义string变量echo$string#显示变量的值:$PATHmyname=whoamimyself=I am a student,my name is$myname and my work dir is pwd.myself1=I am a student,my name is$myname and my work dir is pwd.echo$myselfecho$myself1单引号示例单引号示例l
19、string=$PATH#定义string变量lecho$string#显示变量的值:$PATHlmyname=whoami;mynm=whoamilmyself=I am a student,my uname is$myname and my work dir is pwd.lmyself1=I am a student,my uname is$myname”and my work dir is pwd.lecho$myselflecho$myself1参数替换参数替换参数替换主要是指命令行参数的替换。在执行命令时,它的命令行参数也可以是变量,也可以包括命令替换。设有命令DispAllVar
20、用于显示所有的命令行参数,有变量x其值为test parm,则命令DispAllVar I am whoami the value of x is$x的输出为:I am root the value of x is test parm在程序的执行过程中whoami被替换为root,变量x的值被替换为其值test parm。3.1.10 shell种类种类UNIX/Linux中的shell有多种类型,其中最常用的几种是Bourne shell(sh或bsh)、Bourne again shell(bash),C shell(csh)、tc shell(tcsh)、Korn shell(ksh)和
21、Z shell(zsh)等。3.2 shell启动启动 3.2.1 shell的启动与退出过程的启动与退出过程shell的启动流和工作过程如图3-2所示。用户登录过程中,在输入用户名和密码后,系统要检查以下文件:passwd:系统用户数据库。shadow:影子密码和用户登录控制文件。group:系统组定义文件。如果用户名和密码合法,则启动shell,否则要求用户重新输入用户名和密码。shell的启动过程(续)的启动过程(续)l在系统启动shell过程中,依次进行以下操作:l(1)执行系统脚本文件/etc/profile;l(2)在它的控制下再执行/etc/profile.d/目录的*.sh脚本
22、文件;l(3)执行用户profile文件/.bash_profile;l(4)如果/.bashrc存在则执行之;l(5)如果/etc/bashrc文件存在则执行之。l需要说明的是,以上步骤都是在当前shell内执行的(参见第十章),目的是为用户设置环境变量或做相关准备。一切执行完毕之后出现系统提示符。shell的退出的退出l当用户通过(Ctrl_D、exit或logout)注销时,将调用用户家目录内的脚本文件.bash_logoutl若用户想让shell退出时做些事情,比如删除临时文件,则可将shell命令添加到.bash_logout文件。3.2.2 修改修改.bashrc和和.bash_p
23、rofile文件文件 l用户可在shell的启动过程加入自己的内容,比如设置自己所需的环境变量。用户也可以在.bashrc和.bash_profile中加入自己的用户内容,一般是放在文件的最后,使其在一切都准备之后执行之。l这样可以使用户在登录之后就进入某个规定程序,当其退出时用户也随之注销。因此可让用户只在某个规定封闭环境下工作,而不让其真正进入系统,从而也看不到系统的提示符,因而提高了系统的安全性。修改修改.bash_logout文件文件 l用户也做自己退出时做点工作。这些退出时做的工作是通过.bash_logout实现的。也就是说如果用户想在退出时让系统做点工作的话,可以将做工作“命令”
24、加入脚本文件.bash_logout中。3.3 Linux系统的基本命令系统的基本命令l目录基本操作命令 l文件操作基本命令 l文本文件编辑与操作基本命令 l进程管理基本命令 l时间管理命令 l文件或目录比较命令 l其它操作命令 3.3.1 目录基本操作命令目录基本操作命令 l列目录内容(ls)l目录创建(mkdir)l目录删除(rmdir/rm)l目录切换(cd)l显示当前工作目录(ls)l目录更名(mv)1.列目录内容(列目录内容(ls)l功能:列目录内容l用法:ls 选项 文件 l参数:l-a:列所有文件及目录(Linux规定以点”.”开头为隐藏文件,默认情况下不会列出)l-A:同-a,
25、但不列出.和.l-b:以八进制数字方式列不可显示的文件l-i:列目录时显示i节点信息l-l:长格式列表l-F:短格式列表,文件名称后加一符号表示属性:可执行文件加*,目录/l-r:将文件以相反排序方式列出(默认按文件名ASCII码值排序)l-R:递归列目录及其子目录l-t:按文件依修改时间排序l-U:以不排序方式列目录lsls示例示例l1)列出目前工作目录下所有名称是s开头的文件,按修改时间倒排序lls-ltr s*l2)递归列/bin目录及其子目录lls-lR/binl3)列当前目录,在目录名后加/,可执行文件名后加*lls AF 2.建立子目录(建立子目录(mkdir)l功能:建立子目录l
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 shell 命令 ppt 课件
限制150内