[关闭]
@changedi 2016-05-03T12:20:42.000000Z 字数 7647 阅读 5756

Hadoop文件系统shell

大数据 Hadoop



原文:http://hadoop.apache.org/docs/r2.6.4/hadoop-project-dist/hadoop-common/FileSystemShell.html

概述

文件系统(FS)shell包括了各种各样的类shell命令,这些命令可以与HDFS交互,也可以和其他HDFS支持的文件系统(本地FS,HFTP,S3以及其他)。启动shell方式如下:

bin/hadoop fs <args>

所有的FS shell命令将路径URI当做参数。URI格式形如 scheme://authority/path。对于HDFS来说,scheme就是hdfs,对于本地文件系统来说就是file。scheme和authority是可选的。如果不声明的话,默认scheme在配置文件中声明。一个HDFS文件或目录比如/parent/child被声明为hdfs://namenodehost/parent/child 或者简单的像/parent/child (前提是你的配置指向hdfs://namenodehost)。

大多数FS shell的命令表现的和Unix系统的命令一样。不同之处都在下面描述清楚了。错误信息被发送到标准错误stderr,普通输出信息被发送到标准输出stdout。

appendToFile

Usage: hdfs dfs -appendToFile <localsrc> ... <dst>

从本地文件系统添加一个单一的src或者多个srcs到目标文件系统。同时也可以把标准stdin的数据读入添加到目标文件系统。

Exit的Code:

成功返回0,错误返回1。

cat

Usage: hdfs dfs -cat URI [URI ...]

拷贝原路径的内容到标准输出stdout。

示例:

Exit的Code:

成功返回0,错误返回-1。

chgrp

Usage: hdfs dfs -chgrp [-R] GROUP URI [URI ...]

改变组合文件的关联。用户必须是文件的owner或者是超级用户。额外信息参见 Permissions Guide。

Options

chmod

Usage: hdfs dfs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI ...]

改变文件的权限。-R选项可以递归遍历目录结构。用户必须是文件的owner或者超级用户。额外信息参考Permissions Guide。

Options

chown

Usage: hdfs dfs -chown [-R] [OWNER][:[GROUP]] URI [URI ]

改变文件的owner。用户必须是文件的owner或者超级用户。额外信息参考Permissions Guide。

Options

copyFromLocal

Usage: hdfs dfs -copyFromLocal <localsrc> URI

与put命令类似,不同之处在于本命令局限于本地文件的引用。

Options:

copyToLocal

Usage: hdfs dfs -copyToLocal [-ignorecrc] [-crc] URI <localdst>

与get命令类似,不同之处在于本命令局限于本地文件的引用。

count

Usage: hdfs dfs -count [-q] [-h] <paths>

计数目录、文件和字节数,路径匹配指定的路径pattern。输出的列包括:DIR_COUNT, FILE_COUNT, CONTENT_SIZE FILE_NAME

带有-q参数时的输出列为:QUOTA, REMAINING_QUATA, SPACE_QUOTA, REMAINING_SPACE_QUOTA, DIR_COUNT, FILE_COUNT, CONTENT_SIZE, FILE_NAME

-h选项展示人类可读的格式。

示例:

Exit的 Code:

成功返回0,错误返回-1。

cp

Usage: hdfs dfs -cp [-f] [-p | -p[topax]] URI [URI ...] <dest>

从源将文件拷贝到目标。该命令允许拷贝多个源,前提是目标是一个目录。

'raw.*'命名空间扩展属性是被预留的,满足(1)源和目标文件系统支持(HDFS only),(2)所有的源和目标路径名称在/.reserved/raw层级下。决定raw.*命名空间扩展属性是否被预留与-p标记无关。

Options:

示例:

Exit Code:

成功返回0,错误返回-1。

du

Usage: hdfs dfs -du [-s] [-h] URI [URI ...]

显示给定目录下的文件和目录的大小。

Options:

Example:

Exit Code: 成功返回0,错误返回-1。

dus

Usage: hdfs dfs -dus <args>

展示文件长度的汇总。

注意:该命令已经deprecated。用hdfs dfs -du -s替换。

expunge

Usage: hdfs dfs -expunge

清空回收站。更多关于Trash特性的信息,参考HDFS Architecture Guide。

get

Usage: hdfs dfs -get [-ignorecrc] [-crc] <src> <localdst>

拷贝文件到本地文件系统。如果在CRC校检失败的文件可以加-ignorecrc选项。使用-crc选项,文件和CRC都可以被拷贝。

示例:

Exit Code:

成功返回0,错误返回-1。

getfacl

Usage: hdfs dfs -getfacl [-R] <path>

显示文件和目录的访问控制列表。如果一个目录有默认的ACL,那么getfacl也会显示默认的ACL。

Options:

-R: 递归列出所有文件和目录的ACL。
path: 要列出文件和目录的路径。

示例:

Exit Code:

成功返回0,错误返回非0。

getfattr

Usage: hdfs dfs -getfattr [-R] -n name | -d [-e en] <path>

展示一个文件或者目录的扩展属性名称和值。

Options:

示例:

Exit Code:

成功返回0,错误返回非0。

getmerge

Usage: hdfs dfs -getmerge <src> <localdst> [addnl]

以一个源目录和一个目标文件作为输入,将源目录下的文件拼接起来填到目标本地文件里。addnl用来在每个文件后添加一个新的行。

ls

Usage: hdfs dfs -ls [-R] <args>

Options:

对于文件,返回的统计信息格式如下:

permissions number_of_replicas userid groupid filesize modification_date modification_time filename

对于目录,返回目录下的直接子文件(目录)。格式如下:

permissions userid groupid modification_date modification_time dirname

示例:

hdfs dfs -ls /user/hadoop/file1

Exit Code:

成功返回0,错误返回-1。

lsr

Usage: hdfs dfs -lsr <args>

ls命令的递归版本。

注意:这个命令已经deprecated。用hdfs dfs -ls -R来替换。

mkdir

Usage: hdfs dfs -mkdir [-p] <paths>

以路径的uri作为参数创建目录。

Options:

示例:

Exit Code:

成功返回0,错误返回-1。

moveFromLocal

Usage: hdfs dfs -moveFromLocal <localsrc> <dst>

和put命令类似,不同之处在于localsrc在拷贝结束后会被删除。

moveToLocal

Usage: hdfs dfs -moveToLocal [-crc] <src> <dst>

显示一个"Not implemented yet"的消息。

mv

Usage: hdfs dfs -mv URI [URI ...] <dest>

把文件从源地址移动到目的地址。这个命令允许多个原地址,在此情况下目的地址要是一个目录。跨文件系统的move是禁止的。

示例:

Exit Code:

成功返回0,错误返回-1。

put

Usage: hdfs dfs -put <localsrc> ... <dst>

从本地文件系统拷贝文件到目标文件系统。也可以从标准输入stdin读入数据并写到目标文件系统。

Exit Code:

成功返回0,错误返回-1。

rm

Usage: hdfs dfs -rm [-f] [-r|-R] [-skipTrash] URI [URI ...]

删除文件。

Options:

示例:

Exit Code:

成功返回0,错误返回-1。

rmr

Usage: hdfs dfs -rmr [-skipTrash] URI [URI ...]

delete的递归版本。

注意:该命令已经 deprecated。用hdfs dfs -rm -r替换。

setfacl

Usage: hdfs dfs -setfacl [-R] [-b|-k -m|-x <acl_spec> <path>]|[--set <acl_spec> <path>]

设置文件和目录的ACL。

Options:

示例:

Exit Code:

成功返回0,错误返回非0。

setfattr

Usage: hdfs dfs -setfattr -n name [-v value] | -x name <path>

设置文件或目录的扩展属性名称和值。

Options:

示例:

Exit Code:

成功返回0,错误返回非0。

setrep

Usage: hdfs dfs -setrep [-R] [-w] <numReplicas> <path>

修改文件的复制属性因子。如果路径是一个目录,那么该命令递归修改所有目录下的子文件。

Options:

示例:

Exit Code:

成功返回0,错误返回-1。

stat

Usage: hdfs dfs -stat URI [URI ...]

返回路径的统计信息。

示例:

Exit Code: 成功返回0,错误返回-1。

tail

Usage: hdfs dfs -tail [-f] URI

显示文件的末尾的信息到标准输出stdout。

Options:

示例:

Exit Code: 成功返回0,错误返回-1。

test

Usage: hdfs dfs -test -[ezd] URI

Options:

示例:

text

Usage: hdfs dfs -text <src>

取一个源文件并以text格式输出。允许的格式是zip和TextRecordInputStream。

touchz

Usage: hdfs dfs -touchz URI [URI ...]

创建一个空文件。

示例:

Exit Code: 成功返回0,错误返回-1。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注