1.1 Linux&Shell
1.1.1 Linux常用高级命令
序号 命令 命令解释
1 top 监控系统健康状态 cpu 内存等
2 df -h 查看磁盘存储情况
3 iotop 查看磁盘IO读写(yum install iotop安装)
4 iotop -o 直接查看比较高的磁盘读写程序
5 netstat -tunlp | grep 端口号 查看端口占用情况
6 uptime 查看报告系统运行时长及平均负载
7 ps -aux 查看进程
详解-
-
top
-
df -h
-
iotop -o
-
netstat
-
uptime top 里也可以看到
-
ps -aux | ps -ef 查看进程
-
find 查找文件
1.1.2 Shell常用工具及写过的脚本
1)awk、sed、cut、sort
2)用Shell写过哪些脚本
(1)集群启动,分发脚本
(2)数仓与mysql的导入导出
(3)数仓层级内部的导入
-
awk
例题:
awk -F " " -v sum=0,count=0 ‘BEGIN{print “姓名:分数”}{count+=1}{sum+=$2}{print $1":"$2}END{print "总分:"sum}END{print “平均分:” sum/count}’ chengji.txt -
sed 对文件进行流式操作
sed用法实例
替换操作:s命令
全面替换标记g
使用后缀 /g 标记会替换每一行中的所有匹配:
等功能很强大
3.cut +
-
sort
集群启动脚本
分发脚本
数仓与mysql的导入和导出
后省略
数仓层级内部的导入
1.1.3 Shell中提交了一个脚本,进程号已经不知道了,但是需要kill掉这个进程,怎么操作?
ssh $i “ps -ef | grep 进程名 | grep -v grep |awk ‘{print $2}’ | xargs -n1 kill”
第二种方法
ps -ef | awk ‘/进程名/ && !/awk/ {print $2}’ | xargs -n1 kill -9
1.1.4 Shell中单引号和双引号区别
(1)单引号不取变量值
(2)双引号取变量值
(3)反引号`,执行引号中命令
(4)双引号内部嵌套单引号,取出变量值
(5)单引号内部嵌套双引号,不取出变量值
1)在/home/atguigu/bin创建一个test.sh文件
[atguigu@hadoop102 bin]$ vim test.sh
在文件中添加如下内容
#!/bin/bash
do_date=$1
echo ‘
d
o
d
a
t
e
′
e
c
h
o
"
do_date' echo "
dodate′echo"do_date"
echo “'
d
o
d
a
t
e
′
"
e
c
h
o
′
"
do_date'" echo '"
dodate′"echo′"do_date”’
echo date
2)查看执行结果
[atguigu@hadoop102 bin]$ test.sh 2019-02-10
d
o
d
a
t
e
2019
−
02
−
1
0
′
2019
−
02
−
1
0
′
"
do_date 2019-02-10 '2019-02-10' "
dodate2019−02−10′2019−02−10′"do_date"
2019年 05月 02日 星期四 21:02:08 CST
3)总结:
(1)单引号不取变量值
(2)双引号取变量值
(3)反引号`,执行引号中命令
(4)双引号内部嵌套单引号,取出变量值
(5)单引号内部嵌套双引号,不取出变量值