linux n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
LINUX 服务器管理技术 PowerPoint Presentation
Download Presentation
LINUX 服务器管理技术

Loading in 2 Seconds...

play fullscreen
1 / 19

LINUX 服务器管理技术 - PowerPoint PPT Presentation


  • 237 Views
  • Uploaded on

LINUX 服务器管理技术. 田 钧. 第 6 章 S hell. 授课内容 Shell 简介 Shell 功能 Shell 变量、命令 Shell 编程简介 授课目标 学会使用 shell 的功能及变量的设置. Shell 简介. 什么是 Shell Shell 是一个独立于 OS 的应用程序,是一个具有交互性的命令行解释器。 S hell 的作用 解释键入的命令以及执行的一些特定的功能,并传到内核执行。. shell. shell 是计算机用来解释你输入的命令然后决定进行何种处理的程序。 shell 也可以在非交互模式下调用。

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'LINUX 服务器管理技术' - finn-bowman


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
6 s hell
第6章 Shell
  • 授课内容
    • Shell简介
    • Shell功能
    • Shell变量、命令
    • Shell编程简介
  • 授课目标
    • 学会使用shell的功能及变量的设置

2

shell
Shell简介
  • 什么是Shell

Shell是一个独立于OS的应用程序,是一个具有交互性的命令行解释器。

  • Shell的作用

解释键入的命令以及执行的一些特定的功能,并传到内核执行。

3

shell1
shell
  • shell 是计算机用来解释你输入的命令然后决定进行何种处理的程序。shell 也可以在非交互模式下调用。
  • 在Linux系统下有几个不同的shell:
    • bash "Bourne Again" shell
    • sh Bourne shell,在很多UNIX下是标准的shell
    • csh C shell,和C语言语法相近,大部分UNIX下有效
    • pdksh public domain Korn shell
    • tcsh 微型C shell, 在小的系统里经常使用
  • 一般的Linux系统都将bash作为默认的shell
  • 查看你自己的shell类型:
    • echo $SHELL

4

shell2
Shell功能(一)
  • Shell功能:
    • shell程序的执行

首先给文件加执行权限(chmod +x filename)

1、用sh执行 (sh filename)

2、./ 执行 (./filename)

    • 变量的值的替换

可以用set命令查看和设置变量值

用unset命令去除变量值

    • 命令的替换

可以用``反引号替换(echo `date`)

例: rm -i `find ./ -size 0`

5

shell3
Shell功能(二)
  • Shell功能:
    • 自动补齐(按TAB键)
    • 通配符(?、*、{})

6

shell4
Shell功能(三)
  • I/O重定向和管道

输出重定向(>、>>、1>、2>、2&>1)

eg: /usr/sbin/rndc stop >/dev/null 2>&1

输入重定向(<、<<)

eg: makemap hash /etc/mail/access.db < /etc/mail/access.db

管道(|)

eg:netstat -antp |more |grep http

  • 提供解释性的编程接口(包括测试、分支和循环)

7

shell5
Shell功能(四)
  • 进程的前后台切换执行

ctrl+z:将进程调到后台执行

fg %n:将后台进程调到前台执行

bg %n:进程保持在后台执行

jobs:查看后台进程的个数

8

shell6
Shell常用控制组合键
  • Ctrl - C  中止目前的命令 
  • Ctrl - \  同上
  • Ctrl - D  输入结束, 即 EOF 之意 
  • Ctrl - Z  暂停目前的命令
  • Ctrl - M 相当按 Enter
  • Ctrl - S  暂停萤幕输出 
  • Ctrl - Q  恢复萤幕输出
  • Ctrl - U  将命令列整列删除
  • Ctrl - ?  删除最後一个字元, 相当於按 Del 

9

shell7
Shell编程简介

Shell除了是一个命令行解释器外,同时还是一个功能相当强大的编程语言,大多数Linux系统的启动文件(rc files)都是使用shell script

  • Shell 程序:
    • Shell程序是按照一定的规则包含UNIX系统命令的文件。
    • 要执行Shell程序,文件的权限至少是r-x。
    • 可以传递给程序的数据:环境变量,命令行变量和用户输入的变量(read命令)。
  • 编程注意事项:
    • 建议加注释(#后面的内容为注释)。
    • 不要生成文件名为test的Shell程序(test是Shell命令)。
    • export命令的使用(本地变量-->环境变量)。
    • 子程序不能修改它上一级进程的环境变量。即使它对这个环境变量再次赋值,但在它的上一级进程里将不会受到影响。

10

shell8
shell程序设计(基础部分)
  • shell可以用来进行程序设计,它提供了定义变量和参数的手段以及丰富的程序控制结构。使用shell编程类似于DOS中的批处理文件,被称为shell script
    • shell基本语法
    • shell程序的变量和参数
    • shell程序的流程控制
    • Shell程序调试方法

11

shell9
shell基本语法
  • 输入输出重定向
    • “>”和“<”
    • “>>”和“<<”
    • 1>:正确重定向
    • 2>:错误重定向
    • 2>&1:正确和错误一起重定向
    • Command > file
  • 管道pipe
    • command1| command2[| command3...]
  • 前台和后台
    • “;”和“&”
  • 过滤grep
    • 在某个文件中找到你想要的内容

12

shell10
shell变量与参数
  • shell定义的环境变量

shell在开始执行时就已经定义了一些和系统的工作环境有关的变量,这些变量用户还可以重新定义;用户可以用set、env命令查看

    • $HOME 使用者自己的目录 
    • $PATH 执行命令时所搜寻的目录 
    • $TZ 时区 
    • $MAILCHECK 每隔多少秒检查是否有新的信件 
    • $PS1 在命令列时的提示号 
    • $PS2 当命令尚未打完时,Shell 要求再输入时的提示号 
    • $MANPATH man 指令的搜寻路径 

13

shell11
shell变量与参数
  • 预定义变量
    • 预定义变量和环境变量相类似,也是在shell一开始时就定义了的变量,所不同的是,用户只能根据shell的定义来使用这些变量,而不能重定义它。所有预定义变量都是由$符和另一个符号组成的
    • $0 这个程序的执行名字 
    • $n 这个程序的第n个参数值,n=1..9 
    • $* 这个程序的所有参数的内容
    • $# 这个程序的参数个数 
    • $$ 这个程序的PID 
    • $! 上一个后台程序的PID 
    • $? 上一个指令的返回值

14

shell12
shell变量与参数
  • 用户定义的变量
    • 变量名=变量值
    • kk=kiss
    • 查看变量值:echo “$kk”

15

shell13
shell特殊符号使用
  • shell使用两种引号和反斜线
    • 双引号“”(让引号内的变量生效)
    • 单引号‘’(引号内的变量当作一个字符使用)
    • 反斜线\(禁用特殊字符功能\$)
    • 后引号``(让引号内的命令生效)
      • var=hello
      • echo “var is $var”
      • echo ‘var is $var’
      • echo “var is \$var”
      • echo `ls`
      • var2=date; echo `$var2`

16

shell14
shell编程的流程控制
  • if条件语句
  • case条件选择
  • for循环
  • while和until循环
  • shift语句
  • select语句
  • goto跳转控制
  • test测试命令

17

shell15
shell 函数
  • shell语言使用户能够定义自己的函数
    • 同用户在C语言或其他编程语言中定义的函数一样工作
    • bash和pdksh支持函数,tcsh不支持函数
  • 以下是bash中一个函数的语法格式:

fname (){

shell commands

}

  • 定义函数后,程序中调用该函数的格式(bash中):

fname [parm1 parm2 parm3…]

调用函数时,可以向函数传递任意多个参数,函数将这些参数看做是存放其命令行参数的位置变量。

18

slide19
练习

1、shell流程控制。

2、函数调用。

19