HADOOP-11318. Update the document for hadoop fs -stat

(cherry picked from commit ce29074685)

Conflicts:
	hadoop-common-project/hadoop-common/src/site/apt/FileSystemShell.apt.vm
This commit is contained in:
Akira Ajisaka 2015-01-16 00:55:20 +09:00
parent b349cd9d0b
commit 8682382c16
4 changed files with 51 additions and 19 deletions

View File

@ -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)

View File

@ -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:<br>
* %b: Size of file in blocks<br>
* %F: Type<br>
* %g: Group name of owner<br>
* %n: Filename<br>
* %o: Block size<br>
* %r: replication<br>
* %u: User name of owner<br>
* %y: UTC date as &quot;yyyy-MM-dd HH:mm:ss&quot;<br>
* %Y: Milliseconds since January 1, 1970 UTC<br>
* 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] <path> ...";
public static final String DESCRIPTION =
"Print statistics about the file/directory at <path> " +
"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 <path>" + 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;
{

View File

@ -558,13 +558,18 @@ setrep
stat
Usage: <<<hdfs dfs -stat URI [URI ...]>>>
Usage: <<<hdfs dfs -stat [format] \<path\> ...>>>
Returns the stat information on the path.
Print statistics about the file/directory at \<path\> 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:
* <<<hdfs dfs -stat path>>>
* <<<hdfs dfs -stat "%F %u:%g %b %y %n" /file>>>
Exit Code:
Returns 0 on success and -1 on error.

View File

@ -786,19 +786,35 @@
</comparator>
<comparator>
<type>RegexpComparator</type>
<expected-output>^( |\t)*Print statistics about the file/directory at &lt;path&gt; in the specified format.( )*</expected-output>
<expected-output>^( |\t)*Print statistics about the file/directory at &lt;path&gt;( )*</expected-output>
</comparator>
<comparator>
<type>RegexpComparator</type>
<expected-output>^( |\t)*Format accepts filesize in blocks \(%b\), group name of owner\(%g\), filename \(%n\),( )*</expected-output>
<expected-output>^( |\t)*in the specified format. Format accepts filesize in( )*</expected-output>
</comparator>
<comparator>
<type>RegexpComparator</type>
<expected-output>^( |\t)*block size \(%o\), replication \(%r\), user name of owner\(%u\), modification date( )*</expected-output>
<expected-output>^( |\t)*blocks \(%b\), type \(%F\), group name of owner \(%g\),( )*</expected-output>
</comparator>
<comparator>
<type>RegexpComparator</type>
<expected-output>^( |\t)*\(%y, %Y\)( )*</expected-output>
<expected-output>^( |\t)*name \(%n\), block size \(%o\), replication \(%r\), user name( )*</expected-output>
</comparator>
<comparator>
<type>RegexpComparator</type>
<expected-output>^( |\t)*of owner \(%u\), modification date \(%y, %Y\).( )*</expected-output>
</comparator>
<comparator>
<type>RegexpComparator</type>
<expected-output>^( |\t)*%y shows UTC date as "yyyy-MM-dd HH:mm:ss" and( )*</expected-output>
</comparator>
<comparator>
<type>RegexpComparator</type>
<expected-output>^( |\t)*%Y shows milliseconds since January 1, 1970 UTC.( )*</expected-output>
</comparator>
<comparator>
<type>RegexpComparator</type>
<expected-output>^( |\t)*If the format is not specified, %y is used by default.( )*</expected-output>
</comparator>
</comparators>
</test>