hadoop–HDFS(fs)常用命令 發布於 2 年前 (2018年07月08日) – 3358 次检阅

fs最常用命令

bin/hadoop fs -ls hdfs_path    //查看HDFS目录下的文件和子目录  bin/hadoop fs -mkdir hdfs_path    //在HDFS上创建文件夹  bin/hadoop fs -rm hdfs_path    //删除HDFS上的文件  bin/hadoop fs -rmr hdfs_path    //删除HDFS上的文件夹  bin/hadoop fs -put local_file hdfs_path    //将本地文件copy到HDFS上  bin/hadoop fs -get hdfs_file local_path    //复制HDFS文件到本地  bin/hadoop fs -cat hdfs_file    //查看HDFS上某文件的内容

查看目录下文件(夹)大小

//单位Byte:  bin/hadoop fs -du / | sort -n  //单位MB:  bin/hadoop fs -du / | awk -F ' '  '{printf "%.2fMBtt%sn", $1/1024/1024,$2}' | sort -n  //单位GB,大于1G:  bin/hadoop fs -du / | awk -F ' '  '{num=$1/1024/1024/1024; if(num>1){printf "%.2fGBtt%sn", num, $2} }' | sort -n

fs命令大全

hadoop fs [genericOpitions]  [-ls <path>]  //显示目标路径当前目录下的所有文件  [-lsr <path>]  //递归显示目标路径下的所有目录及文件(深度优先)  [-du <path>]  //以字节为单位显示目录中所有文件的大小,或该文件的大小(如果path为文件)  [-dus <paht>]  //以字节为单位显示目标文件大小(用于查看文件夹大小)  [-count [-q] <path>]  //将目录的大小、包含文件(包括文件)个数的信息输出到屏幕(标准stdout)  [-mv <src> <dst>]  //把文件或目录移动到目标路径,这个命令允许同时移动多个文件,但是只允许移动到一个目标路径中,参数中的最有一个文件夹即为目标路径  [-cp <src> <dst>]  //复制文件或目录到目标路径,这个命令允许同时复制多个文件,如果复制多个文件,目标路径必须是文件夹  [-rm [-skipTrash] <path>]  //删除文件,这个命令不能删除文件夹  [-rmr [-skipTrash] <path>]  //删除文件夹及其下的所有文件  [-expunge]  [-put <localsrc> ... <dst>]  //从本地文件系统上传文件到HDFS中  [-copyFromLocal <localsrc> ... <dst>]  //与put相同  [-moveFromLocal <localsrc> ... <dst>]  //与put相同,但是文件上传之后会从本地文件系统中移除  [-get [-ignoreCrc] [-crc] <src> <localdst>]  //复制文件到本地文件系统。这个命令可以选择是否忽视校验和,忽视校验和和下载主要用于挽救那些已经发生错误的文件  [-getmerge <src> <localdst> [addnl]]  //将源目录中的所有文件进行排序并写入目标文件中,文件之间以换行符分隔  [-cat <src>]  //在终端显示(标准输出stdout)文件中的内容,类似Linux系统中的cat  [-text <src>]  [-copyToLocal [-ignoreCrc] [-crc] <src> <localdst>] //与get相同  [-moveToLocal [-crc] <src> <localdst>]  [-mkidr <path>]  //创建文件夹  [-setrep [-R] [-w] <rep> <path/file>]  //改变一个文件的副本个数。参数-R可以递归地对该目录下的所有文件做统一操作  [-touchz <path>]  //类似Linux中的touch,创建一个空文件  [-test -[ezd] <path>]  //将源文件输出为文本格式显示到终端上,通过这个命令可以查看TextRecordInputStream(SequenceFile等)或zip文件  [-stat [format] <path>]  //以指定格式返回路径的信息  [-tail [-f] <file>]  //在终端上显示(标准输出stdout)文件的最后1kb内容。-f选项的行为与LInux中一致,会持续监测先添加到文件中的内容,这在查看日志文件时会显得非常方便。  [-chmod [-R] <MODE[,MODE]...| OCTALMODE> PATH...]  //改变文件的权限,只有文件的所有者或者是超级用户才能使用这个命令。-R可以递归地改变文件夹内的所有文件的权限  [-chown [-R] [OWNER] [:[GROUP] PATH...]]  //改变文件的拥有者,-R可以递归地改变文件夹内所有文件的拥有者。同样,这个命令只有超级用户才能使用  [-chgrp [-R] GROUP PATH...]  //改变文件所属的组,-R可以递归地改变文件夹内所有文件所属的组。这个命令必须是超级用户才能使用  [-help [cmd]]  //这是命令的帮助信息

自己常用的fs命令

 hadoop fs -mkdir /user/jfa5d/glj_test/GZ23G/IOT/MAMS_IOT_GZ23G_S1U/20180628/  创建文件夹   hadoop fs -ls /user/jfa5d/glj_test/GZ23G/IOT/MAMS_IOT_GZ23G_S1U/20180628/ 显示目录文件   hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2   hadoop fs -mv /user/jfa5d/glj_test/20180704/MAMS_IOT_GZ23G_S1U_20180703_20180704/* /user/jfa5d/glj_test/GZ23G/IOT/MAMS_IOT_GZ23G_S1U/20180703/ 把XX文件夹下的文件移动到XX文件夹下   hadoop fs -rmr /user/hadoop/file1    //删除HDFS上的文件夹