Linu某下Shell编程培训文档

上传人:鲁** 文档编号:568000673 上传时间:2024-07-23 格式:PPT 页数:32 大小:905.50KB
返回 下载 相关 举报
Linu某下Shell编程培训文档_第1页
第1页 / 共32页
Linu某下Shell编程培训文档_第2页
第2页 / 共32页
Linu某下Shell编程培训文档_第3页
第3页 / 共32页
Linu某下Shell编程培训文档_第4页
第4页 / 共32页
Linu某下Shell编程培训文档_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《Linu某下Shell编程培训文档》由会员分享,可在线阅读,更多相关《Linu某下Shell编程培训文档(32页珍藏版)》请在金锄头文库上搜索。

1、下编程简介下编程简介第1页,共32页。内容安排内容安排综述篇命令篇变量篇条件测试篇控制结构篇第2页,共32页。综述篇综述篇是什么怎样写简介黑洞第3页,共32页。综述篇综述篇是什么是什么n n壳壳() ()保护其内部的核保护其内部的核() () 第4页,共32页。综述篇综述篇是什么是什么n n是一种具备特殊功能的程序,是一种具备特殊功能的程序, 它是介于使用者和它是介于使用者和 操作系统之核心程序()间的一个操作系统之核心程序()间的一个接口。接口。n n为了对用户屏蔽内核的复杂性,也为了保护内核以免用户误操作造成损害,在内核的为了对用户屏蔽内核的复杂性,也为了保护内核以免用户误操作造成损害,在

2、内核的周围建了一个外壳周围建了一个外壳() ()。用户向提出请求,解释并将请求传给内核。用户向提出请求,解释并将请求传给内核。 n n使用较广的有标准的使用较广的有标准的()()、 () ()、C()C()、 () ()等。等。n n查看当前环境所用:查看当前环境所用: $ $n n的另一个重要特性是它自身就是一个解释型的程序设计语言,程序设计语言支持的另一个重要特性是它自身就是一个解释型的程序设计语言,程序设计语言支持绝大多数在高级语言中能见到的程序元素,如函数、变量和程序控制结构。编程绝大多数在高级语言中能见到的程序元素,如函数、变量和程序控制结构。编程语言简单易学,任何在提示符中能键入的

3、命令都能放到一个可执行的程序中。语言简单易学,任何在提示符中能键入的命令都能放到一个可执行的程序中。n n本质上,本质上, 脚本是命令行命令简单的组合到一个文件里面。基本上是一个脚本是命令行命令简单的组合到一个文件里面。基本上是一个命令解释器,类似于下的。它接收用户命令,然后调用相应的应用程序。命令解释器,类似于下的。它接收用户命令,然后调用相应的应用程序。第5页,共32页。综述篇综述篇怎样写怎样写n n利用编辑器编辑脚本,将脚本命名为脚本利用编辑器编辑脚本,将脚本命名为脚本功能功能n n脚本不是复杂的程序,它是按行解释的,脚本第脚本不是复杂的程序,它是按行解释的,脚本第一行总是以一行总是以

4、开头,它通知系统以下的程序使开头,它通知系统以下的程序使用系统上的用系统上的 来解释。来解释。n n第二行注释中写入脚本名,第三行注释开始写第二行注释中写入脚本名,第三行注释开始写入脚本功能入脚本功能习惯。习惯。n n以下行进入脚本正式编写以下行进入脚本正式编写n n编写完后给脚本添加执行权限:编写完后给脚本添加执行权限:n n n n运行脚本:运行脚本:n n 或或 简单脚本示例:简单脚本示例:简单脚本示例:简单脚本示例: 以下为脚本内容:以下为脚本内容:以下为脚本内容:以下为脚本内容: “ :” “ :” “,$!” “,$!” 保存,退出编辑器。保存,退出编辑器。保存,退出编辑器。保存,

5、退出编辑器。为脚本添加可执行权限:为脚本添加可执行权限:为脚本添加可执行权限:为脚本添加可执行权限: 运行脚本:运行脚本:运行脚本:运行脚本:第6页,共32页。综述篇综述篇简介简介n n在下开发程序在下开发程序! ! n n 是一个在平台上运行的模拟环境,是是一个在平台上运行的模拟环境,是 公司开发的自由软件。它把、公司开发的自由软件。它把、等开发工具进行了改进,使它们能够生成并解释、等开发工具进行了改进,使它们能够生成并解释3232的目标文件,开发的目标文件,开发者基于者基于32 32 写了一个系统库的模拟层写了一个系统库的模拟层 ,只要把这些工具的源代码和这个,只要把这些工具的源代码和这个

6、共享库共享库( )( )连接到一起,就可以使用主机上的交叉编译器来生成可以在平连接到一起,就可以使用主机上的交叉编译器来生成可以在平台上运行的工具集台上运行的工具集 。 n n 软件下载:的官方网站软件下载:的官方网站n n 推荐下载:推荐下载: n n软件安装:在安装的过程中可选择默认安装路径:软件安装:在安装的过程中可选择默认安装路径:c:c:n n 安装完后要修改目录下的文件安装完后要修改目录下的文件, ,在在 n n 后面加上后面加上 ,这是因为的启动批处理,这是因为的启动批处理n n 文件需要启动文件系统模拟。文件需要启动文件系统模拟。第7页,共32页。综述篇综述篇黑洞黑洞n n n

7、 n 是一个虚设的设备,俗是一个虚设的设备,俗称称“ “黑洞黑洞”, ”,任何对的写入都会任何对的写入都会成功,但数据会消失得无影成功,但数据会消失得无影无踪,没有任何反馈。所以无踪,没有任何反馈。所以经常把不想在屏幕显示的信经常把不想在屏幕显示的信息全部送到中,在脚本中用息全部送到中,在脚本中用得比较多。得比较多。n n 如:如: l l n n还可以用来清空文件的内容:还可以用来清空文件的内容: 第8页,共32页。命令篇命令篇n n用户管理n n目录管理n n文件管理n n权限管理第9页,共32页。命令篇命令篇用户管理用户管理n n新建用户新建用户( )( )n n n n 新建用户后,会

8、在目录下建立一个以命名的文件夹,用户每次登录时新建用户后,会在目录下建立一个以命名的文件夹,用户每次登录时自动定位到该文件夹下。自动定位到该文件夹下。n n为用户添加密码为用户添加密码()()n n n n删除用户删除用户( )( )n n n n 使用使用pp选项可以删除用户目录下的文件及与用户相关联的其他文件。选项可以删除用户目录下的文件及与用户相关联的其他文件。n n新建组群新建组群( ) ( ) n n n n删除组群删除组群( )( )n n 第10页,共32页。命令篇命令篇用户管理用户管理n n用户身份用户身份n n n n查看登录用户查看登录用户n n 选项选项 n n 显示所有

9、用户的所有信息显示所有用户的所有信息n n 显示列标题显示列标题n n查看用户的操作查看用户的操作n n w w 某一时刻用户的行为某一时刻用户的行为n n用户间切换用户间切换( )( )n n 如:如: 或或 切换为根用户切换为根用户n n 切换为名为的用户切换为名为的用户第11页,共32页。命令篇命令篇目录管理目录管理n n创建目录创建目录( )( )n n n n删除目录删除目录( )( )n n n n显示工作目录显示工作目录( )( )n n n n显示目录内容显示目录内容()()n n 选项选项 n n 选项选项 显示当前目录下的所有文件,包括以显示当前目录下的所有文件,包括以.

10、.开头的文件。开头的文件。n n 以长列表的形式显示文件列表以长列表的形式显示文件列表, ,如:如:n n 1 18 2 10:10 1 18 2 10:10 n n 第12页,共32页。命令篇命令篇目录管理目录管理n n改变当前目录改变当前目录( )( )n n 或或 进入登录时的主目录进入登录时的主目录n n / / 进入根目录进入根目录n n . . 进入上一级目录进入上一级目录n n 进入系统的目录进入系统的目录n n 进入当前目录下的目录进入当前目录下的目录n n目录重命名目录重命名()()n n n n目录拷贝目录拷贝()()n n n n 拷贝目录下的文件、子目录及子目录下的文件

11、拷贝目录下的文件、子目录及子目录下的文件第13页,共32页。命令篇命令篇文件管理文件管理n n新建文件新建文件n n 或或 或或 n n删除文件删除文件( )( )n n 选项选项 n n 选项:选项: 系统提示是否真要删除该文件系统提示是否真要删除该文件n n 删除文件之前不提示任何确认信息删除文件之前不提示任何确认信息n n 递归删除目录下所有子目录的内容递归删除目录下所有子目录的内容n n文件拷贝文件拷贝() ()n n n n文件链接文件链接() ()n n s s n n 创建文件链接创建文件链接, ,用用 l l查看,会看到查看,会看到 第14页,共32页。命令篇命令篇文件管理文件

12、管理n n显示文件内容显示文件内容n n 一次一屏的显示文件内容一次一屏的显示文件内容, ,空格或回车显示下一屏空格或回车显示下一屏n n 一次一屏的显示文件内容一次一屏的显示文件内容, ,空格或回车显示下一屏空格或回车显示下一屏n n 一次全部显示文件的内容一次全部显示文件的内容n n 1 23 1 23 将将1 1、2 2的内容写到的内容写到3, 3,覆盖覆盖3 3原内容原内容n n 12 12 将将1 1的内容追加到的内容追加到2222原内容不变原内容不变n n 只显示文件的前只显示文件的前1010行行n n n n 显示文件的前显示文件的前n n行行n n 只显示文件的后只显示文件的后

13、1010行行n n n n 显示文件的后显示文件的后n n行行n n 以编号的形式一次全部显示文件的内容以编号的形式一次全部显示文件的内容, ,忽略空格忽略空格第15页,共32页。命令篇命令篇文件管理文件管理n n文件移动文件移动/ /重命名重命名()()n n 将一个或多个文件移动到另外一个目录下,或者将一个文件重命名为另一个文将一个或多个文件移动到另外一个目录下,或者将一个文件重命名为另一个文件。件。n n文件查找文件查找() () n n 路径路径 选项选项 n n 如:如: / “” / “” n n文件内容查找文件内容查找()()n n 如:如: “” “” n n文件类型文件类型n

14、 n 命令命令 l l以长列表形式显示文件的类型等以长列表形式显示文件的类型等, ,如如前缀前缀类型类型前缀前缀类型类型普通文件普通文件l l链接链接() ()文件文件b b块块() ()设备文件设备文件p p命名管道命名管道() ()文件文件c c字符字符() ()设备文件设备文件s s本地套接口本地套接口() ()d d目录目录() ()第16页,共32页。命令篇命令篇权限管理权限管理n n文件访问权限文件访问权限n n 一个文件一经创建,就具有三种访问方式一个文件一经创建,就具有三种访问方式 字符字符含义含义八进制表示八进制表示r r :读,可以显示该文件的内容:读,可以显示该文件的内容

15、22=422=4w w :写,可以编辑或删除它:写,可以编辑或删除它21=221=2x x:执行,如果是程序的话:执行,如果是程序的话20=120=1- -r rw wx xr rw w- -r r- -x xugo类型 一个文件由1个类型和9个权限位来描述,9个权限位分为3组,每组3个权限位,具体表示如下所示:u:user,文件的属主g:group,文件的属主所在的组,属组o:other,其他的用户a:all,以上三种人第17页,共32页。命令篇命令篇权限管理权限管理n n改变文件改变文件/ /目录的权限目录的权限( )( )n n 权限权限 n n 其中:其中:+ +:增加指定的权限:增加

16、指定的权限n n - -:去掉指定的权限:去掉指定的权限n n = =:清除所选的权限并将其设置为制定的权限:清除所选的权限并将其设置为制定的权限n n 允许使用八进制符号作为模式,改变权限。允许使用八进制符号作为模式,改变权限。n n n n 其中,其中, 按如下方式计算按如下方式计算- -r rw wx xr rw w- -r r- -x x4+2+1=74+2=64+1=5所以该文件/目录具有的权限为:765第18页,共32页。命令篇命令篇权限管理权限管理命令命令结果结果含义含义 收回所有用户的执行权限收回所有用户的执行权限 - -收回同组用户和其他用户的写权限收回同组用户和其他用户的写

17、权限 - -赋予同组用户写权限赋予同组用户写权限 - - - - - - - - - - - - - - - - - - 清除文件的所有权限清除文件的所有权限命令示例假定最初具有这样的权限,连续操作如下命令命令结果结果含义含义 666 666 赋予所有用户读和写的权限赋予所有用户读和写的权限 644 644 - - - - 赋予属主读、写权限,其他用户读权限赋予属主读、写权限,其他用户读权限 700 700 - - - - - - - - - - 赋予属主读、写和执行权限赋予属主读、写和执行权限 660 660 - - - - - -赋予属主、属组读和写的权限赋予属主、属组读和写的权限第19页

18、,共32页。命令篇命令篇权限管理权限管理 1 18 2 10:10 1 18 2 10:10 改变文件改变文件/ /目录的属主目录的属主( )( ) 如:如: 改变文件改变文件/ /目录的属组目录的属组( )( ) 如:如: 改变文件改变文件/ /目录的属主和属组目录的属主和属组 如:如: 第20页,共32页。变量篇变量篇n n变量可以定制用户本身的工作环境,使用变量可以保存有用信息,使系统获知用户相变量可以定制用户本身的工作环境,使用变量可以保存有用信息,使系统获知用户相关设置,也用于保存暂时信息。关设置,也用于保存暂时信息。n n变量一般都用大写字母表示变量一般都用大写字母表示n n使用使

19、用 命令可以显示单个变量的取值,要在变量名前面加命令可以显示单个变量的取值,要在变量名前面加$ $n n 如:如:“” “” n n $ $n n如果设置变量时,不想再改变其值,可以将其设置为只读,只要在变量名前如果设置变量时,不想再改变其值,可以将其设置为只读,只要在变量名前加加n n使用命令可以显示所有本地定义的变量使用命令可以显示所有本地定义的变量n n使用使用 变量名可以清除对变量的定义变量名可以清除对变量的定义第21页,共32页。变量篇变量篇本地变量:用户自定义的变量。环境变量:用于所有用户变量,用于用户进程前,必须用export命令导出。位置变量:$0(脚本名),$1-$9:脚本参

20、数。特定变量:脚本运行时的一些相关信息。$#$#传递到脚本的参数个数传递到脚本的参数个数$*$*传递到脚本的参数,与位置变量不同,此选项参数可超过传递到脚本的参数,与位置变量不同,此选项参数可超过9 9个个$脚本运行时当前进程的号,常用作临时变量的后缀,如脚本运行时当前进程的号,常用作临时变量的后缀,如.$.$!$!后台运行的后台运行的(&)(&)最后一个进程的号最后一个进程的号$与与$#$#相同,使用时加引号,并在引号中返回参数个数相同,使用时加引号,并在引号中返回参数个数$-$-上一个命令的最后一个参数上一个命令的最后一个参数$?$?最后命令的退出状态,最后命令的退出状态,0 0表示没有错

21、误,其他任何值表明有错误表示没有错误,其他任何值表明有错误第22页,共32页。变量篇变量篇n n示例:示例:n n n n ,$ : ,$ :n n : $0 : $0n n :$1 :$1n n :$2 :$2n n :$10 :$10n n :$* :$*n n :$# :$#n n :$ :$n n :$? :$?第23页,共32页。条件测试篇条件测试篇n n文件状态测试文件状态测试目录目录可读可读常规文件常规文件可写可写符号连接符号连接可执行可执行文件长度大于文件长度大于0 0,非空,非空n n示例:示例: n n逻辑操作符逻辑操作符n n 逻辑与逻辑与(),(),操作符两边均为真,结

22、果为真,否则为假。操作符两边均为真,结果为真,否则为假。n n 逻辑或逻辑或(),(),操作符两边一边为真,结果为真,否则为假。操作符两边一边为真,结果为真,否则为假。n n ! ! 逻辑否逻辑否, ,条件为假,结果为真,反之。条件为假,结果为真,反之。n n示例:示例: a w a w 第24页,共32页。条件测试篇条件测试篇n n字符串测试字符串测试= =两个字符串相等两个字符串相等空串空串两个字符串不相等两个字符串不相等非空串非空串n n示例:示例: $ $ n n数值测试数值测试数值相等数值相等( )( )第一个数小于第二个数第一个数小于第二个数( )( )数值不相等数值不相等( )(

23、 )第一个数小于等于第二个数第一个数小于等于第二个数第一个数大于第二个数第一个数大于第二个数( )( )第一个数大于等于第二个数第一个数大于等于第二个数n n示例:示例: “10” “12” “10” “12” 第25页,共32页。控制结构篇控制结构篇选择结构循环结构if语句: if then else 提供条件测试case 语句:允许匹配模式、单词或值for:每次依次处理列表内的信息,直至循环耗尽。until:不常用。条件在循环末尾,至少执行一次。while:条件在循环头部。第26页,共32页。控制结构篇控制结构篇语句语句n n格式格式1 1n n 条件条件 n n n n 命令命令n n

24、n n格式格式2 2n n 条件条件 ; ; 命命令令n n 或n n格式格式3 3n n 条件条件 n n n n 命令命令1 1n n n n 命令命令2 2n n n n格式格式4 4n n 条件条件1 1 n n n n 命令命令1 1n n 条件条件2 2 n n n n 命令命令2 2n n n n 命令命令3 3n n n n示例示例n n n n :c :cn n n n : :n n n n $ $ $ $ n n n n $ $ $ $n n $ $ $ $ n n n n $ $ $ $ n n $ $ $ $ 第27页,共32页。控制结构篇控制结构篇语句语句n n格式格

25、式n n 值值 n n 模式模式1)1)n n 命令命令1 1n n ; ;n n n n *) *)n n 命令命令n nn n ; ;n n n n取值后面必须为单词取值后面必须为单词, ,每一个模式必须以右括号每一个模式必须以右括号n n结束。取值可以为变量或常数。取值检测匹配的结束。取值可以为变量或常数。取值检测匹配的n n每一个模式,一旦模式匹配,其间所有命令开始每一个模式,一旦模式匹配,其间所有命令开始n n执行直至执行直至; ;。执行完匹配模式相应命令后不再。执行完匹配模式相应命令后不再继继n n续其他模式。如果无一匹配模式,使用续其他模式。如果无一匹配模式,使用* *号捕获号捕

26、获n n该值,再接受其他输入。该值,再接受其他输入。n n示例示例n n n n n n $ $ n n ) ) n n ; ; n n ) ) n n ; ; n n *) *) n n ; ;n n 第28页,共32页。控制结构篇控制结构篇循环循环n n格式格式n n 变量名变量名 列表列表n n 命令命令n n当变量值在列表里,循环即执行当变量值在列表里,循环即执行n n一次所有命令,使用变量名访问列一次所有命令,使用变量名访问列n n表中取值。表中取值。n n嵌套循环可以将一个循环嵌在嵌套循环可以将一个循环嵌在n n另一个循环里另一个循环里n n n n示例示例n n n n0 0n

27、n * *n n n n $ + 1 $ + 1n n n n $ $ n n 第29页,共32页。控制结构篇控制结构篇循环循环n n格式格式n n 条件条件n n n n 命令命令n n n n 执行一系列命令,直至条件为真执行一系列命令,直至条件为真n n时停止时停止n n示例示例n n n n n n $ $ n n n n n n 5 5n n ! !第30页,共32页。控制结构篇控制结构篇whilewhile循环循环n n格式格式while while 命令命令dodo 命令命令donedoneWhileWhile循环用于不断执行一系列命令,循环用于不断执行一系列命令,也用于从输入文

28、件中读取数据。虽然也用于从输入文件中读取数据。虽然通常只有一个通常只有一个命令命令,但在,但在whilewhile和和dodo之之间可以放几个间可以放几个命令命令。命令命令通常用作测通常用作测试条件,只有当试条件,只有当命令命令的退出状态为的退出状态为0 0时,时,dodo和和donedone之间之间命令命令才被执行,如才被执行,如果退出状态不是果退出状态不是0 0,则循环终止。,则循环终止。n n示例示例#!/bin/sh#whileTest#to test the method of while COUNTER=0while $COUNTER -lt 10 do echo $COUNTER COUNTER=expr $COUNTER + 1donewhile read LINEdo echo $LINEdone names.txt第31页,共32页。演讲完毕,谢谢观看!第32页,共32页。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号