程序猿的日常——工作中常用的Shell脚本

工作当中总是会有很多常用的linux或者命令,这里就做一个总结

文件远程拷贝

如果想把文件从本机拷贝到远程,或者从远程下载文件到本地。

# 把本地的jar拷贝到远程机器xxxip的/home/source目录下
scp a.jar root@xxxip:/home/source
# 拷贝远程的文件到本地
scp root@xxxip:/home/source/b.jar b.jar

目录下文件太多无法删除

如果目录下的文件很多,无法直接rm -rf,那么可以寻找一些匹配模型,分批删除。比如文件下面有很多的文件:

001.jpg
002.jpg
003.jpg
...

那么可以按照下面的命令删除:

rm -rf *1.png

文件的解压缩

xxx目录为待压缩的目录:

tar -cvf xxx.tar xxx 压缩

解压缩:

tar -xvf xxx.tar 默认解压缩到当前目录

Linux统计

如果想要统计一个文件的行数,可以直接用wc:

wc -l xxx.txt

如果想要统计目录下文件的数量,可以这样:

ls -l | grep "^-" | wc -l

网络端口是否可用

telnet ip port

查看磁盘的空间

df -hl

spark脚本刷历史

#!/bin/sh

URL="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8"
USER="test"
PASSWORD="123456"

for i in {10..1}
do
let "sqoop_day=i+1"
day=`date --date="${sqoop_day} days ago" +%Y-%m-%d`
spark_day=-${i}

spark2-submit --master yarn --deploy-mode cluster --executor-memory 5G --num-executors 3 --executor-cores 3 --driver-memory 5G --class com.a.b.c.App spark.jar spark_name ${spark_day}

sqoop export --connect ${URL} --username ${USER} --password ${PASSWORD}  --table table_name --update-mode allowinsert --update-key b_id --fields-terminated-by  ^ --export-dir hdfs://nameservice1/data/csv/${day} --mapreduce-job-name test_sqoop -m 1

done
posted @ 2018-10-11 21:38  xingoo  阅读(1530)  评论(3编辑  收藏  举报