Hadoop之HDFS常用Shell指令
1、查看帮助
hdfs dfs
2、启动/停止hdfs服务
start-dfs.sh
stop-dfs.sh
3、新建目录
创建目录
hdfs dfs -mkdir user
递归创建目录
hdfs dfs -mkdir -p /user/root
4、查看目录user下的东西
hdfs dfs -ls /user
5、查看文件内容
hdfs dfs -cat /目录名/文件名
hdfs dfs -text /目录名/文件名
6、上传文件
hdfs dfs -put a.txt /user/
7、获取文件
hdfs dfs -get /目录名/文件名
8、删除
# 删除文件
hdfs dfs -rm /目录名/文件名
# 递归删除目录2和目录2中的目录和文件 !!!慎用
hdfs dfs -rm -r /目录名1/目录名2
9、移动文件
# /user/a.txt user目录下a.txt文件移走了,user目录下就没有a.txt文件了
hdfs dfs -mv /user/a.txt /user/input/
10、追加
hdfs dfs -appendToFile a.txt /user/b.txt
11、显示文件的最后一千字节
hdfs dfs -tail /文件名
12、拷贝文件
hdfs dfs -cp /源目录/a.txt /目标目录
13、文件检测
hadoop fs -test - [defsz] URI
可选选项:
- -d:如果路径是目录,返回0。
- -e:如果路径存在,则返回0。
- -f:如果路径是文件,则返回0。
- -s:如果路径不为空,则返回0。
- -r:如果路径存在且授予读权限,则返回0。
- -w:如果路径存在且授予写入权限,则返回0。
- -z:如果文件长度为零,则返回0。
# 查看是否为文件
hdfs dfs -test -f filename
[root@hadoop1 ~]# hdfs dfs
Usage: hadoop fs [generic options]
[-appendToFile <localsrc> ... <dst>]
[-cat [-ignoreCrc] <src> ...]
[-checksum <src> ...]
[-chgrp [-R] GROUP PATH...]
[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
[-chown [-R] [OWNER][:[GROUP]] PATH...]
[-copyFromLocal [-f] [-p] [-l] <localsrc> ... <dst>]
[-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-count [-q] [-h] <path> ...]
[-cp [-f] [-p | -p[topax]] <src> ... <dst>]
[-createSnapshot <snapshotDir> [<snapshotName>]]
[-deleteSnapshot <snapshotDir> <snapshotName>]
[-df [-h] [<path> ...]]
[-du [-s] [-h] <path> ...]
[-expunge]
[-find <path> ... <expression> ...]
[-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-getfacl [-R] <path>]
[-getfattr [-R] {-n name | -d} [-e en] <path>]
[-getmerge [-nl] <src> <localdst>]
[-help [cmd ...]]
[-ls [-d] [-h] [-R] [<path> ...]]
[-mkdir [-p] <path> ...]
[-moveFromLocal <localsrc> ... <dst>]
[-moveToLocal <src> <localdst>]
[-mv <src> ... <dst>]
[-put [-f] [-p] [-l] <localsrc> ... <dst>]
[-renameSnapshot <snapshotDir> <oldName> <newName>]
[-rm [-f] [-r|-R] [-skipTrash] <src> ...]
[-rmdir [--ignore-fail-on-non-empty] <dir> ...]
[-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
[-setfattr {-n name [-v value] | -x name} <path>]
[-setrep [-R] [-w] <rep> <path> ...]
[-stat [format] <path> ...]
[-tail [-f] <file>]
[-test -[defsz] <path>]
[-text [-ignoreCrc] <src> ...]
[-touchz <path> ...]
[-truncate [-w] <length> <path> ...]
[-usage [cmd ...]]
Generic options supported are
-conf <configuration file> specify an application configuration file
-D <property=value> use value for given property
-fs <local|namenode:port> specify a namenode
-jt <local|resourcemanager:port> specify a ResourceManager
-files <comma separated list of files> specify comma separated files to be copied to the map reduce cluster
-libjars <comma separated list of jars> specify comma separated jar files to include in the classpath.
-archives <comma separated list of archives> specify comma separated archives to be unarchived on the compute machines.
The general command line syntax is
bin/hadoop command [genericOptions] [commandOptions]