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. EventBus (一) 使用详解——初步使用EventBus

    版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 前言:EventBus是上周项目中用到的,网上的文章大都一样,或者过时,有用的没几篇,经过琢磨,请教他人,也终于弄清楚点眉目,记 ...

  2. selinux改变状态不需要重启的方法

    1.selinux的配置路径/var/selinux/config,配置内容为 2.配置文件修改完,需要重启系统,才能生效 3.使用sestatus -v 查看当前selinux功能情况: 4.使用s ...

  3. 不要让Javascript的等价表格看上去那么难看

    时不时的会有人贴出一张表格,用来展现javascript的 '==' 比较出来的结果.像最近的这个例子,看看这张表格有多么的无序. 这些文章基本上都是对的,他们指出 '==' 设计的很糟糕.但是他们通 ...

  4. JavaScript hash

    location.hash -- 返回URL#后面的内容,如果没有#,返回空 hash,中文"哈希" 引用网址:http://www.dreamdu.com/javascript/ ...

  5. java垃圾回收机制--可达性算法

    先说一些题外话,Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区,这些区分为线程私有区和线程共享区 1.线程私有区 a.程序计数器 记录正在执行的虚拟机字节码指令地址 ...

  6. (C++)C++多态性中的静态绑定和动态绑定

    静态绑定和动态绑定是C++多态性的一种特性. 1.对象的静态类型和动态类型: 对象的静态类型: 对象在声明是采用的类型,在编译期确定: 对象的动态类型: 当前对象所指的类型,在运行期决定,对象的动态类 ...

  7. python常用代码积累

    一.文件操作 1.判断一个目录是否存在,若不存在则创建 if not os.path.isdir(new_path): os.makedirs(new_path) 2.新建一个文件 f=open(&q ...

  8. 循环栅栏:CyclicBarrier(司令要求任务) 读书笔记

    可以理解为循环栅栏,栅栏就是一种障碍物.假如我们将计数器设置为10,那么凑齐第一批10个线程后,计数器就会归零,然后接着凑齐下一批10个线程,这就是循环栅栏的含义. 构造器: public Cycli ...

  9. iOS 7 导航栏颜色设定与适配

    iOS7 设置navigationBar的颜色,新增了一个属性 barTintColor CGFloat osVersion = [[UIDevice currentDevice].systemVer ...

  10. JAVA学习目录

    开发环境以及IDE准备相关: 1.JAVA环境搭建 2.初次使用IntelliJ IDEA 3.IntelliJ IDEA界面设置 4.IntelliJ IDEA快捷键介绍 SprintBoot系列: ...