From 8682382c16fa1adecd7ab862eef91ef2e9268b21 Mon Sep 17 00:00:00 2001 From: Akira Ajisaka Date: Fri, 16 Jan 2015 00:55:20 +0900 Subject: [PATCH] HADOOP-11318. Update the document for hadoop fs -stat (cherry picked from commit ce29074685abaa88ae9586fe8277aca23f9d54d6) Conflicts: hadoop-common-project/hadoop-common/src/site/apt/FileSystemShell.apt.vm --- .../hadoop-common/CHANGES.txt | 2 ++ .../java/org/apache/hadoop/fs/shell/Stat.java | 33 ++++++++++++------- .../src/site/apt/FileSystemShell.apt.vm | 11 +++++-- .../src/test/resources/testConf.xml | 24 +++++++++++--- 4 files changed, 51 insertions(+), 19 deletions(-) diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 4579eb11d2a..3a91971e7af 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -136,6 +136,8 @@ Release 2.7.0 - UNRELEASED BUG FIXES + HADOOP-11318. Update the document for hadoop fs -stat (aajisaka) + HADOOP 11400. GraphiteSink does not reconnect to Graphite after 'broken pipe' (Kamil Gorlo via raviprak) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Stat.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Stat.java index 63652948b69..458d3ee7852 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Stat.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Stat.java @@ -30,15 +30,17 @@ import org.apache.hadoop.fs.FileStatus; /** * Print statistics about path in specified format. - * Format sequences: - * %b: Size of file in blocks - * %g: Group name of owner - * %n: Filename - * %o: Block size - * %r: replication - * %u: User name of owner - * %y: UTC date as "yyyy-MM-dd HH:mm:ss" - * %Y: Milliseconds since January 1, 1970 UTC + * Format sequences:
+ * %b: Size of file in blocks
+ * %F: Type
+ * %g: Group name of owner
+ * %n: Filename
+ * %o: Block size
+ * %r: replication
+ * %u: User name of owner
+ * %y: UTC date as "yyyy-MM-dd HH:mm:ss"
+ * %Y: Milliseconds since January 1, 1970 UTC
+ * If the format is not specified, %y is used by default. */ @InterfaceAudience.Private @InterfaceStability.Unstable @@ -48,12 +50,19 @@ class Stat extends FsCommand { factory.addClass(Stat.class, "-stat"); } + private static final String NEWLINE = System.getProperty("line.separator"); + public static final String NAME = "stat"; public static final String USAGE = "[format] ..."; public static final String DESCRIPTION = - "Print statistics about the file/directory at " + - "in the specified format. Format accepts filesize in blocks (%b), group name of owner(%g), " + - "filename (%n), block size (%o), replication (%r), user name of owner(%u), modification date (%y, %Y)\n"; + "Print statistics about the file/directory at " + NEWLINE + + "in the specified format. Format accepts filesize in" + NEWLINE + + "blocks (%b), type (%F), group name of owner (%g)," + NEWLINE + + "name (%n), block size (%o), replication (%r), user name" + NEWLINE + + "of owner (%u), modification date (%y, %Y)." + NEWLINE + + "%y shows UTC date as \"yyyy-MM-dd HH:mm:ss\" and" + NEWLINE + + "%Y shows milliseconds since January 1, 1970 UTC." + NEWLINE + + "If the format is not specified, %y is used by default." + NEWLINE; protected final SimpleDateFormat timeFmt; { diff --git a/hadoop-common-project/hadoop-common/src/site/apt/FileSystemShell.apt.vm b/hadoop-common-project/hadoop-common/src/site/apt/FileSystemShell.apt.vm index abc46430d96..c43c5179772 100644 --- a/hadoop-common-project/hadoop-common/src/site/apt/FileSystemShell.apt.vm +++ b/hadoop-common-project/hadoop-common/src/site/apt/FileSystemShell.apt.vm @@ -558,13 +558,18 @@ setrep stat - Usage: <<>> + Usage: << ...>>> - Returns the stat information on the path. + Print statistics about the file/directory at \ in the specified + format. Format accepts filesize in blocks (%b), type (%F), group name of + owner (%g), name (%n), block size (%o), replication (%r), user name of + owner(%u), and modification date (%y, %Y). %y shows UTC date as + "yyyy-MM-dd HH:mm:ss" and %Y shows milliseconds since January 1, 1970 UTC. + If the format is not specified, %y is used by default. Example: - * <<>> + * <<>> Exit Code: Returns 0 on success and -1 on error. diff --git a/hadoop-common-project/hadoop-common/src/test/resources/testConf.xml b/hadoop-common-project/hadoop-common/src/test/resources/testConf.xml index dcf8fb42000..f93399cedb7 100644 --- a/hadoop-common-project/hadoop-common/src/test/resources/testConf.xml +++ b/hadoop-common-project/hadoop-common/src/test/resources/testConf.xml @@ -786,19 +786,35 @@ RegexpComparator - ^( |\t)*Print statistics about the file/directory at <path> in the specified format.( )* + ^( |\t)*Print statistics about the file/directory at <path>( )* RegexpComparator - ^( |\t)*Format accepts filesize in blocks \(%b\), group name of owner\(%g\), filename \(%n\),( )* + ^( |\t)*in the specified format. Format accepts filesize in( )* RegexpComparator - ^( |\t)*block size \(%o\), replication \(%r\), user name of owner\(%u\), modification date( )* + ^( |\t)*blocks \(%b\), type \(%F\), group name of owner \(%g\),( )* RegexpComparator - ^( |\t)*\(%y, %Y\)( )* + ^( |\t)*name \(%n\), block size \(%o\), replication \(%r\), user name( )* + + + RegexpComparator + ^( |\t)*of owner \(%u\), modification date \(%y, %Y\).( )* + + + RegexpComparator + ^( |\t)*%y shows UTC date as "yyyy-MM-dd HH:mm:ss" and( )* + + + RegexpComparator + ^( |\t)*%Y shows milliseconds since January 1, 1970 UTC.( )* + + + RegexpComparator + ^( |\t)*If the format is not specified, %y is used by default.( )*