linux 常用操作

1遍历文件时,返回的是相对路径,不是文件名 ,要注意!!!

2遍历文件操作,重命名,压缩文件

                i=1
                for subfile in `ls $hdfs_dir/$unzipfile_name/*.json`
                do
                        echo subfile=$subfile
                        seq=`echo ${i}|awk '{printf("%02d\n",$0)}'`
                        mv $subfile $hdfs_dir/$unzipfile_name/$module_name$seq.json
                        zip --password $zippwd -j $zip_dir/$module_name/$seq.zip $hdfs_dir/$unzipfile_name/$module_name$seq.json
                        #zip dd.zip aaa.txt
                        let i=i+1
                done

 

3 注意date的 -d参数要加双引号,单引号,或者不加引号都报错

end_time=$(date "+%Y-%m-%d %H:%M:%S")
sleep 5
end_time2=$(date "+%Y-%m-%d %H:%M:%S")
echo $end_time,$end_time2
ts=$(($(date +%s -d "$start_time") - $(date +%s -d "$end_time")));
echo $(($ts/60)) min

 4 关于设置环境变量,注意软连接的存在,导致crontab路径识别错误,下面的hadoop的路径放在了$PATH的后面,而这个$PATH里又包含了hadoop的软连接,从而导致hadoop命令执行错误,当然直接执行脚本是正常的

#!/bin/bash


HADOOP_HOME=/atmd/hadoop
PATH=$PATH:$HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
#export PATH
hadoop fs -ls /home/tme | awk '{print $8}'


5  查看文件或目录大小 ls只能看每个个文件的,对于目录而说更看不到大小 du  (disk used)  -h可M,G显示,非字节

[tme@tcbj3-dmetl01 tme_upload]$ du -sh hdfs/20190822
147G    hdfs/20190822

同样的,如果要查看hadoop上的文件大小

[dcadmin@tcbj3-dmdis01 log_upload]$ hadoop fs -du -s -h /home/tme
19/08/23 10:56:41 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
438.4 G  /home/tme

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值