FS Shell

调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式。 全部的的FS shell命令使用URI路径作为參数。URI格式是scheme://authority/path。

对HDFS文件系统,scheme是hdfs。对本地文件系统,scheme是file。

当中scheme和authority參数都是可选的,如果未加指定,就会使用配置中指定的默认scheme。

一个HDFS文件或文件夹比方/parent/child能够表示成hdfs://namenode:namenodeport/parent/child,或者更简单的/parent/child(如果你配置文件里的默认值是namenode:namenodeport)。

大多数FS
Shell命令的行为和相应的Unix Shell命令类似,不同之处会在以下介绍各命令使用详情时指出。出错信息会输出到stderr,其它信息输出到stdout。

appendToFile——新增命令

使用方法: hdfs dfs -appendToFile <localsrc> ... <dst>

从本地文件系统追加单 源,或多源 到目的文件系统。也从标准输入读取并追加到目的文件系统。

  • hdfs dfs -appendToFile localfile /user/hadoop/hadoopfile
  • hdfs dfs -appendToFile localfile1 localfile2 /user/hadoop/hadoopfile
  • hdfs dfs -appendToFile localfile hdfs://nn.example.com/hadoop/hadoopfile
  • hdfs dfs -appendToFile - hdfs://nn.example.com/hadoop/hadoopfile Reads
    the input from stdin.

返回值:

成功返回0,失败返回-1。

cat

用法:hdfs dfs -cat URI [URI …]

将路径指定文件的内容输出到stdout。

演示样例:

  • hdfs dfs -cat hdfs://host1:port1/file1 hdfs://host2:port2/file2
  • hdfs dfs -cat file:///file3 /user/hadoop/file4

返回值:

成功返回0。失败返回-1。

chgrp

用法:hdfs
dfs -chgrp [-R] GROUP URI [URI …] Change group association of files. With -R,
make the change recursively through the directory structure. The user must be the owner of files, or else a super-user. Additional information is in the Permissions
User Guide
. -->

改变文件所属的组。

使用-R将使改变在文件夹结构下递归进行。

命令的使用者必须是文件的全部者或者超级用户。

很多其它的信息请參见HDFS权限用户指南

chmod

用法:hdfs
dfs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI …]

改变文件的权限。

使用-R将使改变在文件夹结构下递归进行。

命令的使用者必须是文件的全部者或者超级用户。很多其它的信息请參见HDFS权限用户指南

chown

用法:hdfs
dfs -chown [-R] [OWNER][:[GROUP]] URI [URI ]

改变文件的拥有者。使用-R将使改变在文件夹结构下递归进行。

命令的使用者必须是超级用户。很多其它的信息请參见HDFS权限用户指南

copyFromLocal

用法:hdfs
dfs -copyFromLocal <localsrc> URI

除了限定源路径是一个本地文件外,和put命令相似。

copyToLocal

用法:hdfs
dfs -copyToLocal [-ignorecrc] [-crc] URI <localdst>

除了限定目标路径是一个本地文件外,和get命令类似。

count——新增命令

使用方法: hdfs dfs -count [-q] <paths>

计算符合特定模式的文件夹、文件和字节的数目。有-count 的输出列例如以下: DIR_COUNT, FILE_COUNT, CONTENT_SIZE FILE_NAME

带 -count -q 的输出列入下: QUOTA, REMAINING_QUATA, SPACE_QUOTA, REMAINING_SPACE_QUOTA, DIR_COUNT, FILE_COUNT, CONTENT_SIZE, FILE_NAME

演示样例:

  • hdfs dfs -count hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
  • hdfs dfs -count -q hdfs://nn1.example.com/file1

返回值:

成功返回0,失败返回-1。

cp

用法:hdfs
dfs -cp URI [URI …] <dest>

将文件从源路径拷贝到目标路径。

这个命令同意有多个源路径。此时目标路径必须是一个文件夹。

演示样例:

  • hdfs dfs -cp /user/hadoop/file1 /user/hadoop/file2
  • hdfs dfs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir

返回值:

成功返回0。失败返回-1。

du

用法:hdfs
dfs -du URI [URI …]

显示文件夹中全部文件的大小,或者当仅仅指定一个文件时。显示此文件的大小。

演示样例:

hdfs dfs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://host:port/user/hadoop/dir1 

返回值:

成功返回0。失败返回-1。

dus

用法:hdfs
dfs -dus <args>

显示文件的大小。

expunge

用法:hdfs
dfs -expunge

清空回收站。请參考HDFS设计文档文档以获取很多其它关于回收站特性的信息。

get

用法:hdfs
dfs -get [-ignorecrc] [-crc] <src> <localdst>

拷贝文件到本地文件系统。

可用-ignorecrc选项复制CRC校验失败的文件。使用-crc选项拷贝文件以及CRC信息。

演示样例:

  • hdfs dfs -get /user/hadoop/file localfile
  • hdfs dfs -get hdfs://host:port/user/hadoop/file localfile

返回值:

成功返回0,失败返回-1。

getmerge

用法:hdfs
dfs -getmerge <src> <localdst> [addnl]

接受一个源文件夹和一个目标文件作为输入,而且将源文件夹中全部的文件连接成本地目标文件。

addnl是可选的,用于指定在每一个文件结尾加入一个换行符。

ls

用法:hdfs
dfs -ls <args>

假设是文件。则依照例如以下格式返回文件信息:

文件名称 <副本数> 文件大小 改动日期 改动时间 权限 用户ID 组ID 

假设是文件夹,则返回它直接子文件的一个列表。就像在Unix中一样。

文件夹返回列表的信息例如以下:

文件夹名 <dir> 改动日期 改动时间 权限 用户ID 组ID 

演示样例:

hdfs dfs -ls /user/hadoop/file1 /user/hadoop/file2 hdfs://host:port/user/hadoop/dir1
/nonexistentfile 

返回值:

成功返回0,失败返回-1。

lsr

用法:hdfs
dfs -lsr <args> 

ls命令的递归版本号。

类似于Unix中的ls -R。

mkdir

用法:hdfs
dfs -mkdir <paths>

接受路径指定的uri作为參数,创建这些文件夹。其行为类似于Unix的mkdir -p,它会创建路径中的各级父文件夹。

演示样例:

  • hdfs dfs -mkdir /user/hadoop/dir1 /user/hadoop/dir2
  • hdfs dfs -mkdir hdfs://host1:port1/user/hadoop/dir hdfs://host2:port2/user/hadoop/dir

返回值:

成功返回0。失败返回-1。

movefromLocal

用法:dfs -moveFromLocal <src> <dst>

输出一个”not implemented“信息。

mv

用法:hdfs
dfs -mv URI [URI …] <dest>

将文件从源路径移动到目标路径。这个命令同意有多个源路径,此时目标路径必须是一个文件夹。

不同意在不同的文件系统间移动文件。 

演示样例:

  • hdfs dfs -mv /user/hadoop/file1 /user/hadoop/file2
  • hdfs dfs -mv hdfs://host:port/file1 hdfs://host:port/file2 hdfs://host:port/file3 hdfs://host:port/dir1

返回值:

成功返回0,失败返回-1。

put

用法:hdfs
dfs -put <localsrc> ... <dst>

从本地文件系统中复制单个或多个源路径到目标文件系统。

也支持从标准输入中读取输入写入目标文件系统。

  • hdfs dfs -put localfile /user/hadoop/hadoopfile
  • hdfs dfs -put localfile1 localfile2 /user/hadoop/hadoopdir
  • hdfs dfs -put localfile hdfs://nn.example.com/hadoop/hadoopfile
  • hdfs dfs -put - hdfs://nn.example.com/hadoop/hadoopfile
  • 从标准输入中读取输入。

返回值:

成功返回0。失败返回-1。

rm

用法:hdfs
dfs -rm URI [URI …]

删除指定的文件。

仅仅删除非空文件夹和文件。请參考rmr命令了解递归删除。

演示样例:

  • hdfs dfs -rm hdfs://host:port/file /user/hadoop/emptydir

返回值:

成功返回0,失败返回-1。

rmr

用法:hdfs
dfs -rmr URI [URI …]

delete的递归版本号。

演示样例:

  • hdfs dfs -rmr /user/hadoop/dir
  • hdfs dfs -rmr hdfs://host:port/user/hadoop/dir

返回值:

成功返回0,失败返回-1。

setrep

用法:hdfs
dfs -setrep [-R] <path>

改变一个文件的副本系数。-R选项用于递归改变文件夹下全部文件的副本系数。

选项:

  • -w 要求命令等待复制完毕。这非常有可能要花非常长时间。

  • -R  同意后向兼容. 没什么影响

演示样例:

  • hdfs dfs -setrep -w 3 -R /user/hadoop/dir1

返回值:

成功返回0。失败返回-1。

stat

用法:hdfs
dfs -stat URI [URI …]

返回指定路径的统计信息。

演示样例:

  • hdfs dfs -stat path

返回值:

成功返回0,失败返回-1。

tail

用法:hdfs
dfs -tail [-f] URI

将文件尾部1K字节的内容输出到stdout。

支持-f选项,行为和Unix中一致。

演示样例:

  • hdfs dfs -tail pathname

返回值:

成功返回0。失败返回-1。

test

用法:hdfs
dfs -test -[ezd] URI

选项:

-e 检查文件是否存在。

假设存在则返回0。

-z 检查文件是否是0字节。假设是则返回0。

-d 假设路径是个文件夹。则返回1,否则返回0。

演示样例:

  • hdfs dfs -test -e filename

text

用法:hdfs
dfs -text <src>

将源文件输出为文本格式。同意的格式是zip和TextRecordInputStream。

touchz

用法:hdfs
dfs -touchz URI [URI …]

创建一个0字节的空文件。

演示样例:

  • hadoop -touchz pathname

返回值:

成功返回0,失败返回-1。

基本copy自:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html

Hadoop-2.2.0中文文档—— Shell命令的更多相关文章

  1. Apache Spark 2.2.0 中文文档

    Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN Geekhoo 关注 2017.09.20 13:55* 字数 2062 阅读 13评论 0喜欢 1 快速入门 使用 ...

  2. Apache Storm 1.1.0 中文文档 | ApacheCN

    前言 Apache Storm 是一个免费的,开源的,分布式的实时计算系统. 官方文档: http://storm.apache.org 中文文档: http://storm.apachecn.org ...

  3. Django2.0中文文档

    title: Django2.0中文文档 tags: Python,Django,入沐三分 grammar_cjkRuby: true --- Django2.0版本已经发布了,我们先来看一个图片 从 ...

  4. webpack4.0中文文档踩坑记录

    一直没有正儿八经去看过webpack4.0的文档,前段时间工作比较轻松,于是就有了此文...面都这样一个问题:请问在您的开发生涯中,令你最痛苦最无奈的是什么?小生的回答只有一个:“阅读那些令人发指的文 ...

  5. Apache Spark 2.2.0 中文文档 - 概述 | ApacheCN

    Spark 概述 Apache Spark 是一个快速的, 多用途的集群计算系统. 它提供了 Java, Scala, Python 和 R 的高级 API,以及一个支持通用的执行图计算的优化过的引擎 ...

  6. Apache Spark 2.2.0 中文文档 - Spark 编程指南 | ApacheCN

    Spark 编程指南 概述 Spark 依赖 初始化 Spark 使用 Shell 弹性分布式数据集 (RDDs) 并行集合 外部 Datasets(数据集) RDD 操作 基础 传递 Functio ...

  7. Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets Guide | ApacheCN

    Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession ...

  8. Apache Spark 2.2.0 中文文档 - Spark SQL, DataFrames and Datasets

    Spark SQL, DataFrames and Datasets Guide Overview SQL Datasets and DataFrames 开始入门 起始点: SparkSession ...

  9. Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN

    快速入门 使用 Spark Shell 进行交互式分析 基础 Dataset 上的更多操作 缓存 独立的应用 快速跳转 本教程提供了如何使用 Spark 的快速入门介绍.首先通过运行 Spark 交互 ...

随机推荐

  1. 【java】【mybatis】在使用mybatis进行批量插入,批量更新等批量操作时,切割In集合List进行分批批量操作的java中的切割代码

    红字部分代表mybatis的批量操作调用方法: int num = 0; int maxLength = 200; int size = usableCodes.size(); if (size &l ...

  2. nsq多播分发和负载均衡实验

    什么是nsq?请参考实时分布式消息平台nsq. 本地如何搭建nsq?请参考本地搭建nsq经验分享. 从NSQ的设计文档中得知,单个nsqd被设计为一次能够处理多个流数据,NSQ中的数据流模型是由str ...

  3. [Linux] ubuntu server sudo出现sudo:must be setuid root 完美解决办法

    1.开机按shift或esc先进行recovery模式 2.选择root命令行模式 3.先执行 #mount -o remount,rw / 这个很重要,网上找的很多资料都不全没有这步造成无法恢复成功 ...

  4. WCF项目中出现“目标程序集不包含服务类型”的解决办法

    如果创建新项目时(以下简称A项目)选择的是WCF相关的项目模板,并且在A项目中只定义接口而不实现接口,那么任何引用了A项目的项目,在调试时都会弹出警告框“目标程序集不包含服务类型.可能需要调整此程序集 ...

  5. go语言基础之不同作用域同名变量

    1.不同作用域同名变量 示例: package main import "fmt" var a byte //全局变量 func main() { var a int //局部变量 ...

  6. 《纵向切入ASP.NET 3.5控件和组件开发技术》笔记:高效率事件集合对象

    在之前讲的几个例子中,使用的是最普通的定义事件方法,比如KingTextBox中事件是这样定义的:/// <summary>/// 获得本书更多内容,请看:/// http://blog. ...

  7. android4.0 USB Camera实例(三)UVC

    前面我写了两篇文章说明了zc301的实现 详细请看 http://blog.csdn.net/hclydao/article/details/21235919 以下顺便把通用的USB也写上 前面的ZC ...

  8. 彻底领悟javascript中的exec与match方法

    exec是正则表达式的方法,而不是字符串的方法,它的参数才是字符串,如下所示: var re=new RegExp(/\d/); re.exec( "abc4def" ); //或 ...

  9. Android媒体扫描详细解析之二(MediaScanner & MediaProvider)

    上篇blog说到了经过对文件夹进行扫描如果后缀符合系统设定的一些格式,那么就会进行文件内容扫描下面我们紧接着STEP 14中的 status_t StagefrightMediaScanner::pr ...

  10. Spring 的ioc

    Spring的两个非常重要的功能ioc和aop 依赖反转:依赖对象的获得被反转:很多非凡的应用都是由两个或多个类通过彼此的合作来上线业务逻辑.这使得每一个对象都须要与其它对象合作,也就是说 一个对象获 ...