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. 尝试PWA

    1.一个 PWA 应用首先是一个网页, 可以通过 Web 技术编写出一个网页应用. 随后添加上 App Manifest 和 Service Worker 来实现 PWA 的安装和离线等功能. 2.创 ...

  2. Centos 7 配置 VNCServer 經驗

    安裝 Centos 7後, 習慣性的安裝  Xmanager 3或4, 都不能正常工作, 無奈之下開始安裝 VNCServer. (個人習慣使用Xmanager, 因為不需要安裝,只要配置一下就能用, ...

  3. 为运行SQL Server的虚拟机切换装有DB Logs的最佳实践

    上一篇说到虚拟机启动不了, 原因是有一块VHDX的文件找不到了. 解决了这个问题之后, 又遇到了另一个问题, 那就是我的这台SQL Server的虚机启动之后, 我的几个重要database变成了su ...

  4. 如何通过.reg文件来修改注册表键和子键以及键值

    无废话, 直接上例子, 自己运行一下便知. 然后根据自己需要改改就可以随便用了.   添加key, subkey, 和设置键值的例子. ==================== Windows Reg ...

  5. spring+mybatis 多数据源切换

    摘自: http://www.oschina.net/code/snippet_347813_12525 1. 代码: DbContextHolder public class DbContextHo ...

  6. Packagist / Composer 中国全量镜像

    用法: 有两种方式启用本镜像服务: 将配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置).见“例1 (推荐方式)” 将配置信息添加到单个项目的 composer. ...

  7. PHP的代理模式

    php的代理模式的实现: 理解一种模式,可以融会贯通,和其它的模式进行对比.找出为什么要 代理模式呢?跟父类.接口的区别是什么? 为什么需要这种模式?存在的价值? 原文:https://www.cnb ...

  8. 已阻止安装程序vs2015

    Burn v3.7.4906.0, Windows v10.0 (Build 15063: Service Pack 0), path: H:\vs_enterprise.exe, cmdline: ...

  9. 【Project Euler 1】Multiples of 3 and 5

    题目要求是: If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and ...

  10. IOS APP开发UI上的尺寸注意问题(屏幕、适配、分辨率)