3.HDFS的Shell操作操作

3.4.1 基础语法

HDFS Shell命令是由一系列类似Linux Shell的命令组成的。命令大致可分为操作命令、管理命令、其他命令三类。

操作命令:操作命令是以”hdfs dfs”开头的命令。通过这些命令可以完成HDFS文件的复制、删除和查找等操作。

  • 管理命令:管理命令是以”hdfs dfsadmin”开头的命令。通过这些命令,用户可以管理HDFS。

3.4.3 常用文件操作命令

  1. -touch
功能:创建文件,更新修改文件的时间
格式:hadoop fs -touch [-a] [-m] [-t TIMESTAMP] [-c] URI [URI …]
  1. help
功能:输出这个命令参数
格式:hadoop fs -help
例:查看rm命令的帮助文档
  1. -mkdir
功能:接收路径指定的URI作为参数,创建目录。
格式:hadoop fs -mkdir [-p]
例:在hdfs上创建目录school
  1. -moveFromLocal
功能:移动本地文件到hdfs指定目录上。
格式:-moveFromLocal
例:将本地文件/home/sclang/test.txt移动到hdfs的/input文件夹中
  1. -copyFromLocal

功能:复制本地文件到hdfs指定目录上。

格式:hdfs dfs -copyFromLocal [-f] [-p] [-l] [ -d] [-t ]

例:将本地文件/home/sclang/test.txt文件复制HDFS的/hadoop文件中。

-copyToLocal

功能:复制hdfs文件到本地主机指定目录上。

格式:-copyToLocal [-f] [-p] [-ignoreCrc] [-crc]

例:将hdfs文件/hadoop/test.txt文件复制到本地/home/sclang文件中。

  1. -put
功能:将单个或多个文件上传到指定的HDFS系统目录中去
格式:-put [-f] [-p] [-l] [-d]
例:将/home/sclang/file.txt文件上传到/hadoop文件夹中
  1. -appendToFile
使用方法:hadoop fs -appendToFile
追加一个文件到已经存在的文件末尾
  1. -get
功能:将HDFS文件复制到本地系统指定目录。
格式:hdfs dfs -get [-f] [-p] [-ignoreCrc] [-crc]
例:将/hadoop/test.txt文件复制到本地/home/sclang文件中。
  1. -ls
功能:显示指定目录下的所有文件。
格式:hdfs dfs -ls
例:显示/input目录下的所有文件
  1. -cat
功能:在屏幕终端打印指定文件内容。
格式:hdfs dfs -cat
例:查看/hadoop下的test.txt文件
  1. -chgrp
功能:更改指定文件的所属组。
格式:hdfs dfs -chgrp [-R]
例:将/hadoop文件夹及以内的所有文件的所属组改为sclang

-chmod

功能:更改指定文件的权限。改变文件的权限。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。

格式:hdfs dfs -chmod [-R]

例:让所有人对/input/word.txt文件有执行权限