cp
用法:
hdfs dfs -cp [-f] URI [URI ...]
从源文件拷贝到目标文件,支持多源文件操作不过目标需要是目录。-f选项如果目标存在就会覆盖。如:
hdfs dfs -cp /user/hadoop/file1 /user/hadoop/file2hdfs dfs -cp /user/hadoop/file1 /user/hadoop/file2 /user/hadoop/dir
成功返回0,失败返回-1.
du
用法:
hdfs dfs -du [-s] [-h] URI [URI ...]
展示目录包括的文件和目录大小,如果是文件的话那么就是他的size。
选项:
-s 展示文件合计大小-h 格式化显示 如 64.0m标示 67108864
例子:
hdfs dfs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://nn.example.com/user/hadoop/dir1
成功返回0,失败返回-1.
dus
用法:
hdfs dfs -dus
展示文件大小,等同于 hdfs dfs -du -s
expunge
用法:
hdfs dfs -expunge
清空hdfs的垃圾箱,更多信息参考hdfs的架构设计
get
用法:
hdfs dfs -get [-ignorecrc] [-crc]
拷贝文件到本地,-ignorecrc会拷贝CRC检测失败的文件,-crc可以使得CRC和文件一起被拷贝,例如:
hdfs dfs -get /user/hadoop/file localfilehdfs dfs -get hdfs://nn.example.com/user/hadoop/file localfile
成功返回0失败返回-1.
getmerge
用法:
hdfs dfs -getmerge[addnl]
源文件和目标文件作为输入,将源文件中的所有文件合并成一个本地文件,addnl可选,用于在每个文件的结尾加一个换行符。
ls
用法:
hdfs dfs -ls
文件的话返回如下格式:
permissions number_of_replicas userid groupid filesize modification_date modification_time filename
目录的话罗列其子文件跟unix类似,格式如下:
permissions userid groupid modification_date modification_time dirname
例子如下:
hdfs dfs -ls /user/hadoop/file1
成功返回0,失败返回-1
lsr
用法:
hdfs dfs -lsr
ls的递归版本,等同于linux的ls -R
mkdir
用法:
hdfs dfs -mkdir [-p]
创建目录,-p选项等同于unix的mkdir -p,创建其父目录
例子:
hdfs dfs -mkdir /user/hadoop/dir1 /user/hadoop/dir2hdfs dfs -mkdir hdfs://nn1.example.com/user/hadoop/dir hdfs://nn2.example.com/user/hadoop/dir
成功返回0,失败返回-1.
moveFromLocal
用法:
dfs -moveFromLocal
跟put类似,源文件在拷贝之后将会被删除。
moveToLocal
用法:
hdfs dfs -moveToLocal [-crc]
显示“还未实现”的信息
mv
用法:
hdfs dfs -mv URI [URI ...]
源文件移动到目标文件,此命令允许多源文件,不过目标文件必须为目录,跨集群操作是不允许的。
例如:
hdfs dfs -mv /user/hadoop/file1 /user/hadoop/file2hdfs dfs -mv hdfs://nn.example.com/file1 hdfs://nn.example.com/file2 hdfs://nn.example.com/file3 hdfs://nn.example.com/dir1
成功返回0,失败返回-1.
put
用法:
hdfs dfs -put...
从本地源文件拷贝到目标文件系统上,允许多源文件,不过目标文件必须为目录,同时也支持命令行输入然后写到文件系统上去。
例子:
hdfs dfs -put localfile /user/hadoop/hadoopfilehdfs dfs -put localfile1 localfile2 /user/hadoop/hadoopdirhdfs dfs -put localfile hdfs://nn.example.com/hadoop/hadoopfilehdfs dfs -put - hdfs://nn.example.com/hadoop/hadoopfile Reads the input from stdin.
成功返回0,失败返回-1.
rm
用法:
hdfs dfs -rm [-skipTrash] URI [URI ...]
删除文件或者目录,-skipTrash会直接删除而不是先进文件系统的垃圾站,不过如果在超额目录下删除文件的时候是非常有用的,换句话说在文件比较大的时候有用,递归删除请参看rmr
例子:
hdfs dfs -rm hdfs://nn.example.com/file /user/hadoop/emptydir
成功返回0,失败返回-1.
rmr
用法:
hdfs dfs -rmr [-skipTrash] URI [URI ...]
递归删除,-skipTrash会直接删除而不是先进文件系统的垃圾站,不过如果在超额目录下删除文件的时候是非常有用的,换句话说在文件比较大的时候有用。
例子:
hdfs dfs -rmr /user/hadoop/dirhdfs dfs -rmr hdfs://nn.example.com/user/hadoop/dir
成功返回0,失败返回-1.
setrep
用法:
hdfs dfs -setrep [-R] [-w]
修改文件的备份个数,如果path为一个目录那么他会递归修改所有子文件的备份个数。
选项:
-w 会等待复制知道完成之后才会退出,这个可能要等很大一会-R 没啥影响向后兼容
例子:
hdfs dfs -setrep -w 3 /user/hadoop/dir1
成功返回0,失败返回-1.
stat
用法:
hdfs dfs -stat URI [URI ...]
返回此路径的相关信息。
例子:
hdfs dfs -stat path
成功返回0,失败返回-1.
tail
用法:
hdfs dfs -tail [-f] URI
展示文件的最后1kb到屏幕上。选项-f选项指定当文件发生改变的时候在屏幕上追加显示。
例子:
hdfs dfs -tail pathname
成功返回0,失败返回-1.
test
用法:
hdfs dfs -test -[ezd] URI
选项说明:
-e 检测文件是否存储,如果存在那么退出返回0-z 检测文件长度是否为0,如果是那么返回0-d 检测文件是否为目录,如果是那么返回0
例子:
hdfs dfs -test -e filename
text
用法:
hdfs dfs -text
输出文件为text格式,支持zip and TextRecordInputStream.
touchz
用法:
hdfs dfs -touchz URI [URI ...]
创建一个空的文件
例子:
hadoop -touchz pathname
成功返回0,失败反馈-1
ps:
查看命令执行返回值命令为:
echo $?