算法工程师打死都要记住的20条常用shell命令

简介: 算法工程师打死都要记住的20条常用shell命令

算法工程师打死都要记住的20条常用shell命令

1. 使用 hadoop 命令查看 dfs上的文件,"\t"分隔

hadoop fs -text hdfs/user/app/data.20210701/* | awk -F '\t' '{ print  $1 "\t"  $2  }' | less -10

2. 查看 hdfs 上文件的大小,2种方法

(2.1) -du 查看大小 -h (human,以人可以看懂的方式展现)

hadoop fs -du -h /hdfs/user/app/data.20210701

(2.2)有的hadoop 不支持 -h 参数,使用以下的方式,单位MB

hadoop fs -du /hdfs/user/app/data.20210701  |  awk -F' '  '{printf "%.2fMB\t\t%s\n",

3. shell命令中间添加 if 判断语法

hadoop fs -text /hdfs/user/app/data.20210701/* | awk -F'\t' '{if($14 != "-")  print $14}

4. 统计Hadoop 文件中共有多少列

hadoop fs -text /hdfs/user/app/data.20210701/* | awk -F "\t" '{print NF}' | less -10

5.统计hadoop上文件行数

hadoop fs -text /hdfs/user/app/data.20210701/* | wc -l

以上命令使用 cat sample.txt | 同理可以使用。

6. kill掉集群中的 spark 任务

yarn application -kill  application_xxxx

7. kill掉集群中的 MR 任务

hadoop job -kill application_xxxx

8. 查找文件中含有某个字符串的行

cat sample.txt | grep "str_non" | less -10 
cat sample.txt | grep -C 5 "str_non" | less -10 # 上下5行

9. 遍历文件中各列,以及隔行,进行判断自定义处理方式

cat sample.txt | awk -F "\t" 
'{
cnt=0; for(i=1; i<=num; i++)
{if($i!=0){cnt=1; break}}; 
 if(cnt==1)printf("%s\n",$0)
}'
num=15

10. Linux文件编码转换

#(10.1). 通过
   iconv -l 
#命令查看,其支持的编码格式还不少,之间可以互相转换
#(10.2). 转换gbk编码文件为utf-8编码文件
#简洁命令:
iconv -f gbk -t utf-8 index.html > aautf8.html
#其中-f指的是原始文件编码,-t是输出编码  index.html 是原始文件 aautf8.html是输出结果文件
#(10.3. 转换gbk编码文件为utf-8编码文件详细命令:
iconv -c --verbose  -f gbk -t utf-8 index.html -o index_utf8.html
#-c 指的是从输出中忽略无效的字符, --verbose指的是打印进度信息 -o是输出文件****

11. spark-shell 统计多列覆盖率,该方法非常好用

val df=spark.read.textFile("/hdfs/user/app/data.20210701/*").map(e=>(e.split("\t")(4),e.split("\t")(5))).toDF("appname","flag").cache();
val re=df.agg(
   (sum(when($"appname"===("-"),0).otherwise(1))/count("*")).as("appnamec"),
   (sum(when($"flag"===("-"),0).otherwise(1))/count("*")).as("flagC")
 ).show()

12. hadoop 跨集群复制文件

hadoop distcp -su source_ugi -du target_ugi source_path target_path

13. 内网跳板机文件复制命令

scp -r root@ip:/home/workspace/file.txt  pwd

14. 批量杀死Linux上含有某个参数的命令

ps -ef |grep "param" | awk '{print $2}'| xargs kill -9

15. 查看当前目录下各个文件大小,同目录

du -h --max-depth=0 *

16. 修改linux上某个目录的权限

chown -R  work  /home/workspace

17. 查看CPU 相关参数,c++程序员关注线程绑定

# 查看物理CPU个数
cat /proc/cpuinfo|grep "physical id"|sort -u|wc -l
# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo|grep "cpu cores"|uniq
# 查看逻辑CPU的个数
cat /proc/cpuinfo|grep "processor"|wc -l
# 查看CPU的名称型号
cat /proc/cpuinfo|grep "name"|cut -f2 -d:|uniq
# Linux查看某个进程运行在哪个逻辑CPU上
ps -eo pid,args,psr | grep nginx

18. Java环境下jar命令可以解压zip文件,神器!!

# jar 命令解压zip
jar -xvf appinf.zip .
1
2
19. python 可以读取parquet文件
# 方法1 , pd接口读取
import pandas as pd
pdata=pd.read_parquet('/hdfs/user/app/data.20210701.parquet', engine='fastparquet')
# 方法2 ,使用fastparquet
from fastparquet import ParquetFile
pf =
ParquetFile('/hdfs/user/app/data.20210701.parquet')
df = pf.to_pandas()
print(df[0:2])

20.取得时间的若干脚本

num=1
[ $# -ge 1 ] && num=$1
day=`date -d "${num} days ago" +'%Y%m%d'`
beforeDay=`date -d "${day} -1 days" +%Y%m%d`

到这里,算法工程师常用shell命令详解就介绍完了,觉得有用就点赞和分享吧~


相关文章
|
6月前
|
存储 Unix Shell
Shell 输出命令完全指南:echo 与 printf 的深度剖析
本文深入解析了 Shell 编程中 `echo` 和 `printf` 两个核心输出命令的用法与区别。`echo` 简单易用,适合基础输出;`printf` 功能强大,支持复杂格式化。文章从语法、转义序列、高级技巧到实际应用场景(如日志记录、进度显示)逐一讲解,并对比两者的性能与适用场景,帮助开发者根据需求灵活选择。最后通过进阶技巧和常见问题解答,进一步提升对两者的掌握程度。
290 1
|
7月前
|
网络协议 Shell 网络安全
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
“说说看,如果一个Pod的容器没有Shell,如何测试它能否访问外网?”
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
|
9月前
|
运维 Shell 数据库
Python执行Shell命令并获取结果:深入解析与实战
通过以上内容,开发者可以在实际项目中灵活应用Python执行Shell命令,实现各种自动化任务,提高开发和运维效率。
247 20
|
9月前
|
安全 Shell 数据处理
使用Python执行Shell命令并获取结果
在实际应用中,可以根据需要选择适当的参数和方法来执行Shell命令,并处理可能出现的各种情况。无论是系统管理、自动化任务还是数据处理,掌握这些技巧都将极大地提高工作效率。
302 12
|
11月前
|
人工智能 Shell iOS开发
AI Shell:在命令行里“对话” AI ,微软推出将 AI 助手引入命令行的 CLI 工具,打造对话式交互命令行
AI Shell 是一款强大的 CLI 工具,将人工智能直接集成到命令行中,帮助用户提高生产力。AI Shell 支持多种 AI 模型和助手,通过多代理框架提供丰富的功能和灵活的使用模式。
1270 7
|
12月前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
233 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
11月前
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
192 1
|
Unix Shell Linux
常见的shell命令
shell常用命令
270 11
|
12月前
|
Shell 知识图谱
Shell printf 命令
10月更文挑战第3天
101 1
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余