Hadoop中有三种Shell命令方式:
(1)hadoop fs适用于任何不同的文件系统,比如本地文件系统和HDFS文件系统
(2)hadoop dfs只能适用于HDFS文件系统
(3)hdfs dfs跟hadoop dfs的命令作用一样,也只能适用于HDFS文件系统
一、hadoop fs - 命令
命令 | 说明 |
---|---|
hadoop fs -mkdir
| 创建HDFS目录,创建
|
hadoop fs -ls
| 显示
|
hadoop fs -copyFromLocal | 使用-copyFromLocal复制本地文件(local)到HDFS |
hadoop fs -put | 使用-put复制本地(local)文件到HDFS |
hadoop fs -copyToLocal | 将HDFS上的文件复制到本地(local) |
hadoop fs -get | 将HDFS上的文件复制到本地(local) |
hadoop fs -cp | 复制HDFS文件 |
hadoop fs -rm | 删除HDFS文件,-rm -R 递归删除目录和文件 |
hadoop fs -cat
| 列出HDFS目录下的文件的内容,指定的文件的内容输出到标准输出(stdout) |
hadoop fs -test -e | 检测目录和文件是否存在,存在返回值为0,不存在返回1 |
hadoop fs -text | 查看文件内容 |
hadoop fs -du | 统计目录下各文件大小,单位字节。-du -s 汇总目录下文件大小,-du -h 显示单位 |
hadoop fs -tail | 显示文件末尾 |
hadoop fs -cp [src] [dst] | 从源目录复制文件到目标目录 |
hadoop fs -mv [src] [dst] | 从源目录移动文件到目标目录 |
二、hdfs dfs- 命令和hadoop 命令
命令 | 说明 | 具体使用 |
---|---|---|
-mkdir | 创建目录 | hdfs dfs -mkdir [-p] < paths> |
-ls | 查看目录下内容,包括文件名,权限,所有者,大小和修改时间 | hdfs dfs -ls [-R] < args> |
-put | 将本地文件或目录上传到HDFS中的路径 | hdfs dfs -put < localsrc> … < dst> |
-get | 将文件或目录从HDFS中的路径拷贝到本地文件路径 | hdfs dfs -get [-ignoreCrc] [-crc] < src> < localdst> 选项:-ignorecrc选项复制CRC校验失败的文件。-crc选项复制文件和CRC。 |
-du | 显示给定目录中包含的文件和目录的大小或文件的长度,用字节大小表示 | hdfs dfs -du [-s] [-h] URI [URI …] 选项:-s选项将显示文件长度的汇总摘要,而不是单个文件。-h选项将以“人可读”的方式格式化文件大小。第一列标示该目录下总文件大小,第二列标示该目录下所有文件在集群上的总存储大小和你的副本数相关(第二列内容=文件大小*副本数),第三列标示你查询的目录 |
-dus | 显示文件长度的摘要。 | hdfs dfs -dus < args> 注意:不推荐使用此命令。而是使用hdfs dfs -du -s |
-mv | 在HDFS文件系统中,将文件或目录从HDFS的源路径移动到目标路径。不允许跨文件系统移动文件。 | hadoop dfs -mv [src] [dst] |
-cp | 在HDFS文件系统中,将文件或目录复制到目标路径下 | hdfs dfs -cp [-f] [-p |
-copyFromLocal | 从本地复制文件到hdfs文件系统(与-put命令相似) | hdfs dfs -copyFromLocal < localsrc> URI 选项:如果目标已存在,则-f选项将覆盖目标。 |
-copyToLocal | 复制hdfs文件系统中的文件到本地 (与-get命令相似) | hdfs dfs -copyToLocal [-ignorecrc] [-crc] URI < localdst> |
-rm | 删除一个文件或目录 | hdfs dfs -rm [-f] [-r |
-cat | 显示文件内容到标准输出上 | hdfs dfs -cat URI [URI …] |
-text | 获取源文件并以文本格式输出文件。 允许的格式为zip和TextRecordInputStream。 | hdfs dfs -text |
-touchz | 创建一个零长度的文件 | hdfs dfs -touchz URI [URI …] |
-stat | 显示文件所占块数(%b),文件名(%n),块大小(%n),复制数(%r),修改时间(%y%Y) | hdfs dfs -stat URI [URI …] |
-tail | 显示文件的最后1kb内容到标准输出 | hdfs dfs -tail [-f] URI 选项:-f选项将在文件增长时输出附加数据,如在Unix中一样。 |
-count | 统计与指定文件模式匹配的路径下的目录,文件和字节数 | hdfs dfs -count [-q] [-h] < paths> |
-getmerge | 将源目录和目标文件作为输入,并将src中的文件连接到目标本地文件(把两个文件的内容合并起来) | hdfs dfs -getmerge < src> < localdst> [addnl] 注:合并后的文件位于当前目录,不在hdfs中,是本地文件 |
-grep | 从hdfs上过滤包含某个字符的行内容 | hdfs dfs -cat < srcpath> |
-chown | hdfs上文件权限修改 | hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI ]#修改文件的所有者 |
-distcp | 最常用在集群之间的拷贝 | hadoop distcp |
看到这么多hdfs的命令,你是不是心动了,心动不如赶快行动,赶快上手练习一下吧。