从零开始学Hadoop系列之File System命令一

1、Overview

  文件系统(FS)shell包含多种能直接与HDFS(Hadoop Distributed File System)及Hadoop支持的其他文件系统,例如Local FS,HFTP FS,S3 FS等进行直接交互的命令。FS shell由bin/hadoop fs <args>发起。

     所有的FS shell都将URI作为参数。URI的形式为:scheme://authority/path。HDFS的scheme为hdfs,Local FS的scheme为file。scheme和权限是可选的。如果没有指定shceme,则使用配置文件中的scheme。HDFS的文件或路径例如/parent/child可以简写为hdfs://namenodehost/parent/child或简写为/parent/child(考虑到配置设置指向hdfs://namenodehost)。

  大多数FS shell的命令与Unix命令类似。两者的差异在对每个命令说明时指出。错误信息将发送到stderr,输出信息发送到stdout。

      当使用HDFS时,hdfs和dfs是同义词。

      更多详细信息请参考命令手册

2 、appendToFile

  使用:hadoop fs –appendToFile <localsrc>  … <dst>

  功能:把本地的一个或多个文件添加append到目标文件系统。也可以从stdin追加到目标文件系统。

  Example:

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

  返回值:追加成功则返回0,否则返回1

3 、cat

使用:hadoop fs –cat URI [URI …]

功能:将原路径的内容copy到stdout

Example:

  • hadoop fs –cat hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
  • hadoop fs –cat file:///file3 /user/hadoop/file4

返回值:成功返回0,否则返回-1

4 、checksum

使用:hadoop fs –checksum URI

功能:返回一个文件的检查值。

Example:

  • hadoop fs –checksum hdfs://nn1.example.com/file1
  • hadoop fs –checksum file:///etc/hosts

5 、chgrp

使用:hadoop fs –chgrp [-R] GROUP URI [URI …]

功能:改变文件所属组。使用该命令的用户必须是文件的所有者或者是超级用户。更多信息参考用户权限指南

选项:使用-R选项将递归改变文件组信息。

6 、chmod

使用:hadoop fs –chmod [-R] <MODE [,MODE]… |OCTALMODE> URI [URI…]

功能:改变文件的权限。使用-R选项将递归改变文件权限信息。使用该命令的用户必须是文件的所有者或超级用户。更多信息请参考用户权限指南

7 、chown

使用:hadoop fs –chown[-R]  [OWNER] [:GROUP] URI [URI]

功能:改变文件权限。使用-R选项将递归改变文件权限。使用该命令的用户必须是文件所有者或超级用户。更多信息请参考用户权限指南

8、copyFromLocal

使用:hadoop fs –copyFromLocal <localsrc> URI

功能:除了源文件必须为本地文件系统外其他与put命令相似。

选项:如果目标文件已经存在-f命令将重写目标文件。

9 、copyToLocal

使用:hadoop fs –copyToLocal [-ignorecrc] [-crc] URI <localdst>

功能:除了目标文件必须为本地文件外,其他与get命令相似。 

10 、count

使用:hadoop fs –count [-q] [-h] [-v] <paths>

功能:计算指定目录下符合特定模式的文件夹、文件和字节数。使用-count输出列为:DIR_COUNT,FILE_COUNT,CONTENT_SIZE,PATHNAME

  使用-count –q的输出列为:QUOTA,REMAINING_QUATA,SPACE_QUOTA,REMAINING_SPACE_QUOTA,DIR_COUNT,FILE_COUNT,CONTENT_SIZE,PATHNAME

  使用-h选项使得输出的字节数可读性能强。

  使用-v将展示首行。

Example:

  • hadoop fs –count hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
  • hadoop fs –count –q hdfs://nn1.example.com/file1
  • hadoop fs –count –q –h hdfs://nn1.example.com/file1
  • hdfs dfs –count –q –h –v hdfs://nn1.example.com/file1

返回值:如果成功则返回0,否则返回-1。

 

11、cp

使用:hadoop fs –cp [-f] [-p | -p [topax]] URI [URI…] <dest>

功能:将文件从源路径copy到目标路径。该命令允许一次copy多个文件,但是此时目标必须是路径。

Example:

  • hadoop fs –cp /user/hadoop/file1 /user/hadoop/file2
  • hadoop fs –cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir

返回值:如果成功则返回0,否则返回-1。

参考文献

官方文档 

posted @ 2016-11-01 14:04  心灵空谷幽兰  阅读(709)  评论(0编辑  收藏  举报