网站子页面怎么做的,门户网站设计要点,邢台163信息网,做网站怎么备案Linux Shell 002-基础知识
本节关键字#xff1a;Linux、Bash Shell、基础知识、Bash特性 相关指令#xff1a;bash、rm、cp、touch、date
基础知识
什么是Shell脚本 简单概括#xff1a;将需要执行的命令保存到文本中#xff0c;按照顺序执行。 准备描述#xff1a;sh…Linux Shell 002-基础知识
本节关键字Linux、Bash Shell、基础知识、Bash特性 相关指令bash、rm、cp、touch、date
基础知识
什么是Shell脚本 简单概括将需要执行的命令保存到文本中按照顺序执行。 准备描述shell脚本 若干命令 脚本的基本格式 脚本特定语法 思想 Shell脚本能干什么 Shell脚本可以将重复化、复杂化的工作简单化无须每次都将复杂的命令依次手动执行一遍。使用Shell脚本可以完成以下内容 自动化软件部署如LANP、LNMP、Tomcat等自动化管理如系统初始化脚本、批量修改密码、推送公钥等自动化分析处理如统计网站访问量等自动化备份如数据库备份、日志转储等自动化监控脚本如实时监测某个进程进程异常退出时就自动重启
Shell脚本的基本写法
脚本第一部分在第一行使用魔法字符指定解释器
#!/bin/bash或
#!/bin/env bash脚本第二部分给脚本添加注释如脚本名称、功能描述、存放路径、使用方法、更新时间等脚本第三部分要实现的具体代码内容
Shell脚本的执行方法
第一步编写Shell脚本 /home/Jeck/shell.sh第二步给Shell脚本增加可执行权限chmod x /home/Jeck/shell.sh第三步标准方式执行脚本使用Shell脚本的绝对路径执行脚本如/home/Jeck/shell.sh
bash命令的常用选项
选项说明-x查看脚本的执行过程一般用于排错-n查看脚本的语法是否存在问题
使用示例
bash -n /home/Jeck/shell.sh
bash -x /home/Jeck/shell.shShell脚本的基本语法结构
变量定义、条件判断、循环语句for、until、while、分支语句、函数和数组等基本正则表达式的作用文件处理三剑客grep、sed、awk工具的使用使用shell脚本完成一些比较复杂的任务如服务搭建、批量处理等
Bash的特性
命令和文件自动补全 Tab键只能补全命令和文件。 常见的快捷键 说明^ 为 Ctrl 键 快捷键组成说明^c终止前台运行的程序^z将前台运行的程序挂起到后台^d退出 等价exit^l清屏^aHome键光标移到命令行的最前端^eEnd键光标移到命令行的后端^u删除光标前所有字符^k删除光标后所有字符^r搜索历史命令
常用的通配符
通配符说明*匹配0或多个任意字符?匹配任意单个字符[list]匹配[list]中的任意单个字符,或者一组单个字符 [a-z][!list]匹配除list中的任意单个字符{string1,string2,…}匹配string1,string2或更多字符串
应用示例
# 实例1强制删除当前目录下以file开头的说有文件
$ rm -f file*# 实例2拷贝当前目录下所有以.conf结尾的文件到目录/mydir下
$ cp *.conf /mydir# 实例3创建5个文件并分别命名为file1、file2、file3、file4、file5
$ touch file{1..5}Bash中的引号
符号名称作用“”双引号会把引号的内容当成整体来看待允许通过$符号引用其他变量值‘’单引号会把引号的内容当成整体来看待禁止引用其他变量值shell中特殊符号都被视为普通字符反撇号反撇号和$()一样引号或括号里的命令会优先执行如果存在嵌套反撇号不能用 说明反撇号就是键盘ESC下面一个的英文按键符号 Bash Shell引号的使用示例
[rootlocalhost]$ echo $(hostname)
server
[rootlocalhost]$ echo $(hostname)
$(hostname)
[rootlocalhost]$ echo hello world
hello world
[rootlocalhost]$ echo hello world
hello world
[rootlocalhost]$ echo $(date %F)
2018-11-22
[rootlocalhost]$ echo echo $(date %F)
2018-11-22
[rootlocalhost]$ echo date %F
2018-11-22
[rootlocalhost]$ echo echo date %F
date %F
[rootlocalhost]$ echo $(echo date %F)
2018-11-22