shell简介

系统管理==记忆(命令)

网络服务==记忆配置文件

Shell脚本==使用前面的命令,将之前手动执行的变成自动化执行,代码要有逻辑

Shell脚本三大工具:awk ,sed,expect

shell痛点:【空格】

每一种语言都要掌握如下内容:

语法格式  

变量(内置变量  自定义变量) 

内置函数(自带的命令,自定义函数)

流程控制  if    case   循环结构

/bin/bash特点?兼容性好 

linux设计原则:软件小,简洁

优点:漏洞少,问题少,速度快           缺点:功能少

+++++++++++++++++++

Shell(解释器)--汽车[代步工具]     bash--宝马[品牌,型号]    tcsh--吉利

Shell环境及特性

脚本:实现某种功能的,有执行权限的文件。

Shell:Linux内核的壳,在Linux内核与用户之间的解释器程序

Ø 通常指/bin/bash

Ø 负责向内核翻译及传达用户/程序指令

Ø 相当于操作系统的“外壳”

 

硬件-->内核[驱动]-->shell或图形-->人

Bash Shell的使用方式

Ø 交互式(命令行):人工干预、智能化程度高;逐条解释执行、效率低   

           vim是最典型的交互式编辑器。    例:passwd student

Ø 非交互式(脚本):需要提前设计、智能化难度大;指执行、效率高;方便在后台静悄悄地运行

           sed是最典型的非交互式编辑器。  例:echo 123 | passwd --stdin student

Shell脚本——提前设计可执行语句,用来完成特定任务的文件。(命令的堆积)

          ——解释型程序;顺序、批量执行

常见的Shell程序种类

如何切换Shell环境:通过usermod、chsh更改登录Shell;手动执行目标Shell程序

切换shell环境:# yum -y install ksh   //装包

# cat /etc/shells       //确认当前系统已识别ksh

/bin/sh                   //多数Unix默认的Shell

/bin/bash                 //多数Linux默认使用的Shell

/sbin/nologin             //非登录Shell

/usr/bin/sh

/usr/bin/bash

/usr/sbin/nologin

/bin/tcsh

/bin/csh

# ksh                   //进入ksh环境,测试使用体验

# exit  或Ctrl+d       //退出ksh环境

永久切换shell环境:useradd -s /bin/ksh zhangsan   //新建帐户时指定登录shell

usermod -s /bin/ksh zhangsan   //已有帐户修改登录shell

查看:grep ‘zhangsan’ /etc/passwd

/etc/profile 环境变量和启动程序      /root/.bash_profile

/etc/bashrc  函数和别名              /root/.bashrc

在RHEL系统中,实际上sh是bash的符号链接

常用的脚本语言:perl   ruby   lua   shell    python

面向过程:perl   ruby   lua   shell

面向对象:python

你可能感兴趣的:(Linux命令,脚本)