大数据-学习实践-1相关Linux

(大数据系列)

文章目录

  • 大数据-学习实践-1相关Linux
    • 1知识点
    • 2具体内容
      • 2.1安装、使用
      • 2.2高级命令
        • 2.2.1文件
        • 2.2.2日期
        • 2.2.3进程
        • 2.2.4三剑客 (grep、sed、awk)
      • 2.3高级配置
        • 2.3.1分配IP:静态IP设置
        • 2.3.2起名(hostname):临时设置+永久设置
        • 2.3.3防火墙:临时关闭+永久关闭
        • 2.3.4Shell编程
      • 2.3.5 定时器crontab
      • 2.4与大数据
        • 2.4.1在Linux安装配置JDK
        • 2.4.2 linux 总结
        • 2.4.3 大数据是什么
        • 2.4.4 背景
        • 2.4.5 4V特征
        • 2.4.6 行业应用
    • 3待补充
    • 4Q&A
    • 5code
    • 6参考

1知识点

  • 安装

    • VMware安装配置
    • SecureCRT、Xshell、MobaXTerm连接
  • 高级命令
  • 高级配置
  • 与大数据

2具体内容

2.1安装、使用

  1. centos镜像安装
  2. 管理-克隆(完整)-进入
  3. SecureCRT连接ip
  4. 调整外观等配置

2.2高级命令

2.2.1文件

  • torch 创建文件

  • 1.vi

    • 编辑内容
    vi hello.txt
    #i:编辑模式
    #esc退出,进入命令模式
    #shift: 输入内容
    #:wq保存退出
    cat hello.txt
    
    • 查找字符串
    /hello(回车)
    #n向下查找
    
    • 查找某一行
    #Shift:set nu 显示行号
    :20
    
    • 复制粘贴
    #yy
    #p 粘贴一行
    • 删除
    #dd 删除当前行
    #999 dd 删除当前行及以下所有
    
    • 跳行
    #G 跳最后一行
    #gg 跳第一行
    
    • 异常关闭的vi编辑文件,会默认在文件同级目录下产生临时文件xxx.swp;再次修改该文件会出现提示信息,建议直接删除临时文件
    • 未保存的缓存文件,直接ll -a找到后删除
  • 2.wc 统计字数相关信息

    wc --help #查看说明
    wc -c h.txt #bytes  统计换行符
    wc -m h.txt #chars  统计换行符
    wc -l h.txt #lines 行数 --files0-frim=F
    wc -L h.txt #最长行字符长度 不统计换行符
    wc -w h.txt #多少词

  • 3.more

    • 类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读
    • 按空白键(space)就往下一页显示
    • 按 b 键就会往回(back)一页显示
  • 4.sort 排序
sort num.txt #按个位、百位,各位置上数值排序
sort -n num.txt #按数值排序
sort -n -r num.txt #倒序,-n不
sort -n -k 2 num2.txt #按第二列(-k 2)排序
  • 5.uniq 检测重复行列
uniq hello.txt # 去重
uniq -c hello.txt #显示重复次数+内容
uniq -u hello.txt #返回不重复的内容uniq test.txt #删除在一起的重复内容
sort test.txt | uniq test.txt #排序后,把相同内容放一起再uniq删除
  • 6.head 取前N条数据
head -2 num.txt
sort -nr num.txt | head -3 #倒序查前三个
cat num.txt | sort -nr | head -3

2.2.2日期

  • 7.data:获取当前时间
data + "%Y-%m-%d %H:%M:%S" #友好格式
data + %Y-%m-%d_%H:%M:%S
data + %s #时间戳s为单位
data + %s"000" #时间戳ms为单位
#计算两个事件时间间隔:1)获取2个时间时间戳2)算差值
data --date="2026-01-01 00:00:00"
data --date="2026-01-01 00:00:00" +%s#获取昨天日期
data --data="1 days ago" + %Y-%m-%d
data %Y-%m-%d#获取某年2月有多少天,取巧找3月1日前一天
data --date="2026-03-01 1 days ago" +%d

2.2.3进程

  • 8.ps进程信息
ps -ef #显示所有进程
ps -ef |grep java #过滤java相关进程
  • 9.netstat 端口信息
#需要安装
#yum install -y net-tools
netstat -anp
netstat -anp |grep 22 #22端口使用情况
  • 10.jps显示java进程信息

    • 当前用户启动的java进程信息(静态信息),进程号+command
    • 需要安装好java
  • 11.top动态监控进程信息

    • 动态显示系统消耗资源最多进程,进程号、内存占用、CPU占用
    • 同ps,top能动态显示进程信息
    • 按数字键1,显示cpu1的情况,默认cpu0
    • 按字母键Q,退出显示
  • 12.kill杀掉进程

kill PID  #找到PID,自杀
kill -9 PID   #强制杀

2.2.4三剑客 (grep、sed、awk)

  • 13.grep 查找文件中复合条件的字符串

    • -i忽略大小写
    • -n显示行号
    • -v忽略包含指定字符串内容
    • 与管道“|”结合,实现过滤查找
grep abc hello.txt  #查找abc
cat hello.txt |grep abcgrep ^a hello.txt  #支持正则
grep -i ABC hello.txt #忽略大小写
grep -i ABC -n hello.txt #显示行号ps -ef | grep python
ps -ef | grep python| grep -v grep #去除grep本身,-v不显示过滤内容
  • 14.sed编辑,一个或多个文件、简化对文件的反复操作

    • a/i 增加
    • d 删除
    • s 替换
    • -i 修改源文件
sed '2a\haha' hello.txt #第2行后append,增加haha
sed '1i\hah' hello.txt #第1行前面inside,增加hah
sed '$i\hah' hello.txt #最后行前面inside,增加hahsed '7d' hello.txt #删除第7行
sed '$d' hello.txt #删除最后一行sed 's/l/a/1' hello.txt #修改文件内容,将第一个l换成a
#sed [address] s/pattern/replacement/flags
#address:指定要操作的具体行,可选
#s:替换
#2s:第二行内容进行操作
#pattern:待替换的内容
#replacement:要替换的新内容
#flags:多种用法:
#1)1-512间任意一个数字,表示指定要替换的字符串在这一行内出现第几次才替换
#2)直接表示为g,对每一行数据中所有匹配的内容全部替换
#3) flags位置的值为空,只会在第一次匹配成果时做替换操作,相当于写1sed 's/l/a/2' hello.txt #将第2个l换成a
sed '2s/l/a/g' hello.txtsed -i '61s/127.0.0.1/192.168.182.130/1' redis.conf #改
  • 15.awk分析

    • 处理文本语言,强大的文本分析工具
    • 以空为间隔符,对文件进行分析处理
    • awk [option] programe file
    • option 可选,指定分隔符
    • programe 处理方式
    • file 待处理文件
awk '{print $1}' hello.txt  #按第一列切割(第一个空格符),留下第一列
awk '{print $2}' hello.txt  #按第二列切割(第2个空格符),留下第2列
awk '{print $0}' hello.txt  #按第0列切割,留下完整列awk -F: '{print $1}' /etc/passwd #按‘:’区分,第1列
awk -F: '{print $2}' /etc/passwd #按‘:’区分,第2列
awk '/world/{print $0}' hello.txt #找到含有world的内容,留下完整列
awk '($2 ~ /world/){print $0}' hello.txt #找到第二列含有world的内容,留下完整列
cat hello.txt |grep awk '($2 ~ /world/){print $0}' | wc -l

2.3高级配置

2.3.1分配IP:静态IP设置

  • 去虚拟机查看
  • service network restart 重启网络服务
  • ip addr

2.3.2起名(hostname):临时设置+永久设置

#临时
hostname bd01
#永久vi /etc/hostname
#删掉默认
bd01 #写入,保存

2.3.3防火墙:临时关闭+永久关闭

#centos7
#临时
stop firewalld
status firewalld
#永久
systemctl disable firewalld
#查看
systemctl list-unit-files |grep firewalld 

2.3.4Shell编程

  • shell 用户与Linux沟通
  • shell编程:开发shell脚本
  • 后缀: .sh
  • 第一行内容: #!/bin/bash

1.shell基本

vi hello.sh
#新建脚本
#!/bin/bash
echo hello world!#执行
#格式:
# bash hello.sh 或者 sh hello.sh
# ./hello.sh 或者 hello.sh
# bash -x: shell单步执行bash hello.sh
chmod u+x hello.sh./hello.sh/root/shell/hello.shhello.sh #无法执行,修改$PATH
echo $PATH #没有当前路径./vi etc/profile
#最后一行改:
export PATH = .:$PATH #拼接,留用原有值source /etc/profile #重启
echo $PATH #查看bash -x hello.txt #逐行执行

2.shell变量

  • 不需要声明,初始化不需要指定类型
  • 变量命名:数字、字母、下划线,不以数字开头
  • 变量赋值,“=”赋值,在变量、等号、值间不出现空格
echo $name
echo ${name}
echo ${name}hehe #如果直接增加,无空格,是一个整体,需要前面加空格中括号,否则报错,
echo $name hehe

3.变量分类

  • 本地变量

    • 格式:VAR_NAME=VALUE
    • 在shell脚本中定义临时变量时使用,对当前shell进程的子shell进程及其他shell进程无效
    • pstree
    • bash进入子进程,查不到本地变量
  • 位置变量
    • $0、$1。。。
    • location.sh abc xyz
    • 相当于java中main函数的args参数,可在shell脚本动态获取外部参数
  • 环境变量
    • export VAR_NAME=VALUE
    • 设置临时环境变量,对子shell进程有效,对其他shell进程无效
    • 设置永久环境变量,需要添加到配置文件/etc/profile中,执行source/etc/profile生效
  • 特殊变量
    • $?: 上一条命令的返回状态码,状态码在0~255之间
    • $#: 所有参数的个数
    • ‘’: 单引号不解析变量 echo ‘$name’
    • “”: 双引号解析变量 echo ‘$name’
    • ``:反引号执行并应用命令的执行结果 echo `KaTeX parse error: Expected group as argument to '\`' at position 7: name\` ̲ ̲;另一种写法,()
    • echo ’ “$name” ’ 不解析变量
    • echo " ‘$name’ " 解析变量

4.循环

  • for循环
for ((i=0;i<10;i++))
do...
donefor i in 1 2 3
do...
done
  • while循环
  • 适用于循环次数未知,或不便于使用for直接生成较大列表时
while 测试条件
do
循环体
done#测试条件“真”进入循环,测试条件“假”退出循环 EXPR
  • 测试条件

    • test EXPR或[ EXPR ]中括号和表达式之间空格不能少,[]格式要增加空格,格式严格
    • 整型测试:-gt大于、-lt小于、-ge大于等于、-le小于等于、-eq等于、-ne不等于
    • 字符串测试:=等于、!=不等于
while test 2 -gt 1
do
echo yes
sleep 1
donewhile [ 2 -gt 1 ]#格式严格
do
echo yes
sleep 1
done

5.判断

  • 单分支,传参正确执行否则不执行,不传参报错(抛异常)
if 测试条件
then 选择分支
fi
#!/bin/bash
if [ $# -lt 1 ]
thenecho "not found param"exit 100
fiflag = $1
if [ $flag -eq 1]
then echo one
fi
  • 双分支
if 测试条件
then分支1
else 分支2
fi
#!/bin/bash
if [ $# -lt 1 ]
thenecho "not found param"exit 100
fiflag = $1
if [ $flag -eq 1]
then echo one
elseecho 'not support'
fi
  • 多分支
if 测试条件1
then分支1
elif 测试条件2
then分支2
...
else 分支2
fi
#!/bin/bash
if [ $# -lt 1 ]
thenecho "not found param"exit 100
fiflag = $1
if [ $flag -eq 1]
then echo one
elif [ $flag -eq 2 ]
then echo two
elif [ $flag -eq 3 ]
then echo three
elseecho 'not support'
fi

6.shell扩展

  • 后台执行
sh while2.sh & #会在当前界面打印结果,关闭后停止执行
nohup sh while2.sh & #关闭当前界面后不影响执行
#打印信息在当前路径nohup.out下,kill后停止执行
  • 后台模式运行脚本nohup xxx.sh &
  • 标准输出1,标准错误输出2,重定向(>或者>>)
  • 重定向(>或者>>(追加))把错误输出信息保存到文件
  • nohup hello.sh > /dev/null 2>&1 &把1/2标准输出都放入dev/null中
  • /dev/null是无底洞

2.3.5 定时器crontab

  • 作用于周期性被执行的命令
  • 格式:* * * * * command
    - 操作:
#查看
systemctl crond status
#启动、停止
systemctl start/stop crond
#添加定时任务
vi /etc/crontab
#查看crontab执行日志
tail -f /var/log/cron
#每分钟打印当前时间
vi /etc/crontab

vi showTime.sh
#如下:
#!/bin/bash
showTime='data "+%Y-%m-%d %H:%M:%S"'
echo $showTime

tail -f showTime.log

#若设置没隔7分钟执行,它会在第0,7,14…开始执行,除不尽时它会在56分钟执行后,下一个小时的0再执行

2.4与大数据

2.4.1在Linux安装配置JDK

  • 在/data/soft下放入安装文件
  • 修改配置文件
  • 激活,验证安装成功
source /etc/profile
java -version

2.4.2 linux 总结

2.4.3 大数据是什么

海量数据

  • 百度地图实时路况

    • 足够多的用户,实时上传位置信息,后台实时计算路况信息
  • 今日头条个性化推荐
    • 基于海量数据,推测兴趣
  • 买披萨

2.4.4 背景

  • 信息技术进步
  • 云计算技术兴起
  • 数据资源化趋势

2.4.5 4V特征

  • Volume 量大,存储+计算
  • Variety 多样,来源多+格式多
  • Valocity 快速,数据增长速度快,处理速度要求快
  • Value 价值,价值密度低

2.4.6 行业应用

  • 医疗
  • 金融
  • 零售
  • 电商
  • 交通
  • 。。。
  • 天猫大屏,实时计算
  • 出行运营车辆调度。。。

3待补充

4Q&A

5code

6参考

  • 大数据课程资料

大数据-学习实践-1相关Linux相关推荐

  1. 大数据学习笔记1.3 Linux目录操作

    Linux目录操作 一.常用权限操作 (一).常用权限操作 (1)chgrp命令 (2)chown命令 (3)chmod命令 (二).权限操作 1.创建文件,设置其用户组 2.修改文件的所有者 3.修 ...

  2. 大数据学习(一) Linux学习

    •新建虚拟机 安装系统 设定3个盘符,第一个为引导盘,第二个为内存占用盘,第三个为使用盘. 设置IP地址 1.–vi /etc/sysconfig/network-scripts/ifcfg-eth0 ...

  3. 大数据学习路线(完整详细版)

    大数据学习路线(完整详细版) 文章目录 大数据学习路线(完整详细版) 大数据学习路线 一.Linux 二.Hadoop 三.机器学习/R 四.storm 五.Spark 六.Python 七.云计算平 ...

  4. 从入门到进阶!当下火爆的大数据技术及算法怎么还能不知道 一起来学习互联网巨头的大数据架构实践!

    大数据被称为新时代的黄金和石油,相关技术发展迅猛,所应用的行业也非常广泛,从传统行业如医疗.教育.金融.旅游,到新兴产业如电商.计算广告.可穿戴设备.机器人等.大数据技术更是国家科技发展和智慧城市建设 ...

  5. 学习大数据的第29天——Linux指令的学习以及一些面试题

    学习大数据的第29天--Linux指令的学习以及积累一些面试题 Linux指令 常用命令: 查看网络 ip addr ​ 重启网络 systemctl restart network ​ 查看主机名 ...

  6. 小白如何学习大数据开发,大数据学习路线是怎样的?

    零基础的同学学习大数据开发不能急于求成,要分阶段分步骤来一步步完成,科多大数据给大家来分享一下大数据的学习路线是什么?小白该怎么学习大数据呢,大概可以分为四步: 大数据学习资料分享群142973723 ...

  7. 大数据学习规划(新手入门)

    前言: 一.背景介绍 二.大数据介绍 正文: 一.大数据相关的工作介绍 二.大数据工程师的技能要求 三.大数据学习规划 四.持续学习资源推荐(书籍,博客,网站) 五.项目案例分析(批处理+实时处理) ...

  8. 免费的大数据学习资料,这一份就足够

      朋友不在于多,知心就好;资料不在于多,精致就好.一份专业的大数据学习资料才是学习大数据的利刃.小编分享的这套大数据学习资料将从学习大纲.书籍.视频教程分别分享. 在这里还是要推荐下我自己建的大数据 ...

  9. 大数据学习路线2019版(附全套视频教程及网盘下载)

    什么是大数据? 大数据(BIG DATA)是指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力的海量.高增长率和多样化的 ...

最新文章

  1. mysql-interview
  2. 【map】【HDOJ】5233 Gunner II
  3. jvm内存溢出分析实践案例:javax.crypto.JceSecurity大量BouncyCastleProvider实例无法被回收
  4. 又是一年国庆假期最后一天
  5. Google、MS和BAT教给我的面试真谛
  6. 编程相关离线文档下载方式推荐
  7. Redis 基本数据类型和使用
  8. 前端面试时面试官想要听到什么答案(关于一些Vue的问题)
  9. Laravel nginx 伪静态规则
  10. 预科计算机考试试题,少数民族预科计算机应用基础课程机考试题库的
  11. 医疗器械软件质量体系等
  12. 统计基础:3.3_假设检验之t检验(Student‘s t test)
  13. Elasticsearch 快速检索的秘诀
  14. 图解!24张图彻底弄懂九大常见数据结构!
  15. 被领导嘉奖了,该不该请同事吃饭?
  16. 高防IP的特点跟高防CDN的优势
  17. 数字孪生技术辅助山洪灾害预警与应急联动
  18. 如何下载编译Linux下RJMCMCMT1D(可逆跳跃马尔科夫链门特卡罗一维大地电磁反演)开源软件
  19. 阿里云点播 web 播放器
  20. 如何提高新网站谷歌百度收录量

热门文章

  1. linux 背景色,linux背景色代表
  2. 程序启动BOOT理解
  3. html网页制作菜鸟,作为一名菜鸟如何做网页制作
  4. yate学习--yatengine.h--class YATE_API MessageReceiver : public GenObject
  5. 美术课上用计算机玩游戏,小学美术四年级第十七课电脑美术教案
  6. 王昊奋:大规模知识图谱技术
  7. python炫酷爱心代码(李珣同款)
  8. 南航计算机英语面试自我介绍,南航面试英文自我介绍.docx
  9. 奇妙的安全旅行之SHA算法
  10. 计算机行业人员的护肤宝典(女生篇)