工作當中總是會有很多常用的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