上一篇我们讲了HDFS的读文件和写文件,今天我们来讲HDFS的shell操作。
首先,我们进入到hadoop文件夹下,然后输入bin/hdfs命令,我们能发现有很多提示信息,Usage: hdfs [--config confdir] COMMAND where COMMAND is one of 这句话的大致意思就是说hdfs后面要跟命令,我们之前格式化namenode执行的命令是bin/hdfs namenode -format,下面有
-------------------------------------------------------
,
-------------------------------------------------------
当我们输入bin/hdfs dfs的时候,我们发现后面可以跟很多命令,懂shell的话,一眼就看出来这些跟shell命令基本一致
-------------------------------------------------------
下面我们说一些常用的关于hdfs的shell操作
一)ls命令
bin/hdfs dfs -ls hdfs://192.168.1.91:9000/
看到这个hdfs://192.168.1.91:9000/是不是似曾相识呢,当然了,这是我们安装hadoop的时候配置的。注意(刚安装hadoop这里面是没有文件的)
-------------------------------------------------------
-------------------------------------------------------
简单的说说d rwxr-xr-x
d:表示文件夹 如果是文件这个地方就是 -
r:读权限,read---------数字4表示
w:写权限,write-----------数字2表示
r:可执行,excute-----------数字1表示
上面的总共有三组 rwx第一组是所有者,r-x第二组是组,r-x第三组是其他用户,数字表示755
- root supergroup
- 表示副本数,因为是文件夹 所以没有副本 所以就是-
root 文件所有者
supergroup 组名
0 2015-09-24 18:39 hdfs://192.168.1.91:9000/ceshi
0表示文件大小
2015-09-24 18:39 文件创建日期
hdfs://192.168.1.91:9000/ceshi 文件地址
现在我们想看ceshi文件下有什东西,我们使用如下命令
bin/hdfs dfs -ls hdfs://192.168.1.91:9000/ceshi
-------------------------------------------------------
-------------------------------------------------------
我们看到第一位是 - 证明这两个是个文件
大家有没有发现,要先进入一个文件夹下才能看里面的内容,那么我们是否可以既查看目录,也可以查看里面的文件
执行命令 bin/hdfs dfs -ls -help
-------------------------------------------------------
-------------------------------------------------------
原来后面能跟那么多参数啊,此处我们使用 -R,R表示递归,要注意,R要大写
bin/hdfs dfs -ls -R hdfs://192.168.1.91:9000/
-------------------------------------------------------
-------------------------------------------------------
有人会问了,后面跟个地址是不是太麻烦,如果要查的是本地的呢
bin/hdfs dfs -ls -R / 读出来的效果跟上面一样,这样看来命令能自动识别到对应位置
-------------------------------------------------------
-------------------------------------------------------
如果最后的/不加,就会获取到home目录下的文件
二)删除
bin/hdfs dfs -rm -R /ceshi,加R就是递归删除
-------------------------------------------------------