大数据技术之shell脚本编程基础
沉沙 2019-06-25 来源 : 阅读 701 评论 0

摘要:本篇文章探讨了大数据技术之shell脚本编程基础,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

本篇文章探讨了大数据技术之shell脚本编程基础,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

大数据技术之shell脚本编程基础

"

一、shell脚本编程基础

内容:1. 编程基础 2. 脚本基本格式3. 变量4.运算5.条件测试6.条件判断if 7.条件判断case 8.配置用户环境

shell脚本:包含一些命令或声明,并符合一定格式的文本文件  
格式要求:首行shebang机制  
#!/bin/bash
#!/usr/bin/python
#!/usr/bin/perl  
shell脚本的用途有:
自动化常用命令
执行系统管理和故障排除
创建简单的应用程序
处理文本或文件
bash中变量的种类
局部变量:生效范围为当前shell进程;对当前shell之外的其它shell进程,包括当前shell的子shell进程均无效
环境变量:生效范围为当前shell进程及其子进程
本地变量:生效范围为当前shell进程中某代码片断,通常指函数
位置变量:$1, $2, ...来表示,用于让脚本在脚本代码中调用通过命令行传递给它的参数
特殊变量:$?, $0, $, $@, $#,$$
算术运算和逻辑运算
算术运算:help let
+, -,
, /, %取模(取余), *(乘方)  
逻辑运算true (0), false(1)
条件测试
断某需求是否满足,需要由测试机制来实现专用的测试表达式需要由测试命令辅助完成测试过程  
test EXPRESSION  
[ EXPRESSION ]  
[[ EXPRESSION ]]
COMMAND1 && COMMAND2 并且,短路与,代表条件性的AND THEN
COMMAND1 || COMMAND2 或者,短路或,代表条件性的OR ELSE
! COMMAND 非
如:[ -f “$FILE” ] && [[ “$FILE”=~ .
.sh$ ]]
使用read来把输入值分配给一个或多个shell变量
条件选择if语句
单分支
if 判断条件;then
条件为真的分支代码
fi
双分支
if 判断条件; then
条件为真的分支代码
else
条件为假的分支代码
fi
case语句

二、文件查找和压缩

文件查找
在文件系统上查找符合条件的文件
文件查找:locate, find
非实时查找(数据库查找):locate
实时查找:find
locate查询系统上预建的文件索引数据库
locate KEYWORD
find实时查找工具,通过遍历指定路径完成文件查找
find [OPTION]... [查找路径] [查找条件] [处理动作]
压缩、解压缩及归档工具
tar zcvf file.tar.gz  /etc/   file.tgz
tar jcvf file.tar.bz2 /etc/
tar Jcvf file.tar.xz  /etc
tar Jxvf file.tar.xz -C /data/
tar xvf file.tar.xz

三、处理文本的工具sed

Stream EDitor, 行编辑器
sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环。如果没有使诸如‘D’的特殊命令,那会在两个循环之间清空模式空间,但不会清空保留空间。这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。

功能:主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等
用法:sed [option]... 'script' inputfile..
常用选项:
-n 不输出模式空间内容到屏幕,即不自动打印
-e 多点编辑
-f /PATH/SCRIPT_FILE 从指定文件中读取编辑脚本
-r 支持使用扩展正则表达式
-i.bak 备份文件并原处编辑
编辑命令:
d 删除模式空间匹配的行,并立即启用下一轮循环
p 打印当前模式空间内容,追加到默认输出之后
a []text 在指定行后面追加文本,支持使用\n实现多行追加
i []text 在行前面插入文本
c []text 替换行为单行或多行文本
w /path/file 保存模式匹配的行至指定文件
r /path/file 读取指定文件的文本至模式空间中匹配到的行后
= 为模式空间中的行打印行号
! 模式空间中匹配行取反处理
sed工具
s/// 查找替换,支持使用其它分隔符,s@@@;s###
替换标记:
g   行内全局替换
p 显示替换成功的行
w /PATH/FILE 将替换成功的行保存至文件中
四,查找工具和文件压缩
  文件查找介绍了locate和find,其中locate是按数据库非实时查找的,一些地方欠缺,一般使用较少,find命令在生产中使用较多,find命令支持多种条件查找,文件压缩介绍的工具就比较多了,每一种都有它的不同的压缩算法,compress是一款较老的压缩工具了,它的后缀是.Z的,目前市面上用这款的比较少,gzip的后缀是.gz 还有bzip2后缀是.bz2,这两款是现在比较流行的,xz后缀为.xz是一款比较新的压缩工具,压缩效果比较好。 这几种压缩工具只能对文件进行压缩,对于文件夹就无能无力了,zip后缀为.zip是一款打包压缩的工具,可以对文件夹进行打包压缩,使用也是比较广泛的。
  tar是一款归档工具,可以结合压缩工具归档并压缩。split是一款可以把一个文件切割成多份的工具。
cpio命令可以复制文件到归档

"      本文由职坐标整理发布,学习更多的相关知识,请关注职坐标IT知识库!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程