hadoop脚本命令开始位置有两种写法:hadoop fs 和hdfs dfs,其中hdfs dfs为hadoop1中命令,在hadoop2和hadoop3中也可以用,hadoop fs为hadoop2和hadoop3中命令。
以下文章中的中括号([])表示为可选项,可加可不带,中括号中字母或单词有特殊功能和含义。
1、-ls:
(1)hadoop fs -ls <args> 例子: hadoop fs -ls / 查看根目录文件,显示文件大小单为为B
(2)hadoop fs -ls -h <args> 例子: hadoop fs -ls -h / 查看根目录文件,显示文件大小单会自动显示,h为human简写,代表人性化。
(3)hadoop fs -ls -R <args> 例子: hadoop fs -ls -R / 查看根目录文件,包括所有文件的子子孙孙文件,R为recursion简写,代表递归。
2、-mkdir:
(1)hadoop fs -mkdir <paths> 例子:hadoop fs -mkdir /aa/bb 在指定路径下创建文件夹,当父目录不存在时,创建失败。
(2)hadoop fs -mkdir -p <paths> 例子:hadoop fs -mkdir -p /aa/bb 在指定路径下创建文件夹,当父目录不存在时,会自动创建父目录,p代表parent。
3、-put:
(1) hadoop fs -put <localsrc1...> 例子:hadoop fs -put a.txt /将单个或多个文件或文件夹从本地复制到目标文件系统。
(2) hadoop fs -put -f <localsrc1...> 例子:hadoop fs -put a.txt /将单个或多个文件或文件夹从本地复制到目标文件系统,如果目的地已经存在则覆盖目的地文件或文件夹。
(3) hadoop fs -put -p <localsrc1...> 例子:hadoop fs -put a.txt /将单个或多个文件或文件夹从本地复制到目标文件系统,保留访问和修改时间,所有权和权限。
4、-get:
hadoop fs -get [-ignorecrc] [-crc] [-p] [-f] <src> <localdst>:从hadoop复制文件或文件夹至本地。
(1) -ignorecrc:跳过对下载文件的CRC检查。
(2) -crc:为下载文件写CRC校验。
例子:hadoop fs -get hdfs://node-1:9000/aa /root/dest
5、-appendToFile:
hadoop fs -appendToFile <localsrc> ... <dst>:追加一个文件到已经存在的文件末尾。
例子: hadoop fs -appendToFile 2.txt hdfs://node-1:9000/aa /bb/1.txt,将本地文件2中内容添加到hadoop中文件1.txt中末尾。
6、-cat:
hadoop fs -cat [ignoreCrc] uri:查看hadoop文件中的内容,
例子:hadoop fs -cat hdfs://node-1:9000/aa/bb/1.txt
7、-tail:
hadoop fs -tail [-f] URI
(1)hadoop fs -tail URI :将文件最后一千字显示到stout,例子:hadoop fs -tail hdfs://node-1:9000/aa/bb/1.txt。
(2)hadoop fs -tail -f URI :将文件左后一千字显示到stout,当文件内容增加时,会动态显示新增的内容,例子:hadoop fs -tail -f hdfs://node-1:9000/aa/bb/1.txt。
8、-chgrp:
hadoop fs -chgrp [R] GROUP URI:更改文件组的关联。用户必须是文件的所有者,否则是超级用户。-R将使改变在目录结构下递归进行。
例子:hadoop fs -chgroup othergroup /hadoop/hadoopfile
9、-chmod:
改变文件的权限。使用-R将使改变在目录结构下递归进行。
例子:hadoop fs -chmod 777 hdfs://node-1:9000/aa/bb/1.txt
10、-chown:
改变文件的拥有者。使用-R将使改变在目录结构下递归进行。
例子:hadoop fs -chown someuser:somegrp /hadoop/hadoopfile
11、-copyFromLocal:该命令可以被-put取代
从本地文件系统中拷贝文件到hdfs路径去
例子:hadoop fs -copyFromLocal /root/1.txt /
12、-copyToLocal:该命令可以被-get取代
从hdfs拷贝到本地
例子:hadoop fs -copyToLocal /1.txt /root
13、-getmerge:
合并下载多个文件到一个文件内容中。
例子:hadoop fs -getmerge /aaa/log.* ./log.sum
14、-rm:
删除指定文件。只删除非空文件夹和文件。-r递归删除,可以删除非空的文件夹。
例子:hadoop fs -rm -r /aaa/bbb/
15、-df:
统计文件系统的可用空间信息
例子:hadoop fs -df -h /
16、-du:
显示目录中所有文件大小,当只指定一个文件时,显示此文件的大小
例子:hadoop fs -du /user/
17、-setrep:
改变一个文件的副本系数。-R选项用于递归改变目录下所有文件的副本系数。
例子:hadoop fs -setrep -w 3 -R /aa/bb/