### 2.4 HDFS shell操作

利用HDFSshell操作进行文件操作

- 列出内容
- 查看文件内容
- 移动文件
- 上传数据
- 移除数据

调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式

- ### ls

  使用方法：hadoop fs -ls <args>

  如果是文件，则按照如下格式返回文件信息：
  文件名 <副本数> 文件大小 修改日期 修改时间 权限 用户ID 组ID 
  如果是目录，则返回它直接子文件的一个列表，就像在Unix中一样。目录返回列表的信息如下：
  目录名 <dir> 修改日期 修改时间 权限 用户ID 组ID 
  示例：
  hadoop fs -ls /user/hadoop/file1 /user/hadoop/file2 hdfs://host:port/user/hadoop/dir1 /nonexistentfile 
  返回值：
  成功返回0，失败返回-1。 

- ### cat

  使用方法：hadoop fs -cat<src> 

  查看文件的内容。

- ### put

  使用方法：hadoop fs -put <localsrc> ... <dst>

  从本地文件系统中复制单个或多个源路径到目标文件系统。也支持从标准输入中读取输入写入目标文件系统。

  - hadoop fs -put localfile /user/hadoop/hadoopfile
  - hadoop fs -put localfile1 localfile2 /user/hadoop/hadoopdir
  - hadoop fs -put localfile hdfs://host:port/hadoop/hadoopfile
  - hadoop fs -put - hdfs://host:port/hadoop/hadoopfile 
    从标准输入中读取输入。

  返回值：

  成功返回0，失败返回-1。

- ### rm

  使用方法：hadoop fs -rm URI [URI …]

  删除指定的文件。只删除非空目录和文件。请参考rmr命令了解递归删除。
  示例：

  - hadoop fs -rm hdfs://host:port/file /user/hadoop/emptydir

  返回值：

  成功返回0，失败返回-1。

- http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html

案例：

向hadoop中添加一个目录A，在目录中创建两个目录，B和C，在B目录中上传一个文件a.txt，查看这个a.txt的内容，最后将A目录删除。