hdfs---shell
hadoop fs 文件系统的路径
#默认是谁,取决于参数fs.defaultFS, 在core-site.xml文件中
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
</property>
#如果fs.defaultFS没有配置 默认的是file:///
#新旧命令 推荐使用
hadoop fs hadoop fs = hdfs dfs
查看指定目录下的信息
hadoop fs -ls
hadoop fs -ls [-h] [-R]
-h 人性化显示
-R 递归显示
创建文件夹
hadoop fs -mkdir [-p]
hadoop fs -mkdir [-p]
-p 创建父目录
上传文件
hadoop fs -put src(本地) dst(hdfs)
hadoop fs -put src dst
将单个 src 或多个 srcs 从本地文件系统复制到目标文件系统
#src代表的是本地目录 所谓的本地指的是客户端所在的机器
#dst代表的是HDFS
[root@node1 ~]# hadoop fs -put file:///root/1.txt hdfs://node1:8020/demo
[root@node1 ~]# hadoop fs -put 2.txt /demo
下载文件
hadoop fs -put dst(hdfs) src(本地)
[root@node1 ~]# hadoop fs -get hdfs://node1:8020/demo/1.txt file:///root/
[root@node1 ~]# hadoop fs -get /2.txt ./
get: `/2.txt': No such file or directory
[root@node1 ~]# hadoop fs -get /demo/2.txt ./
追加内容到文件尾部 appendToFile
hadoop fs -appendToFile 2.txt 3.txt /1.txt
用途:把本地的小文件上传合并成为大文件 解决小文件场景.
[root@node1 ~]# cat 1.txt
1
[root@node1 ~]# cat 2.txt
2
[root@node1 ~]# cat 3.txt
3
[root@node1 ~]# hadoop fs -put 1.txt /
[root@node1 ~]# hadoop fs -put /1.txt
put: `/1.txt': No such file or directory
[root@node1 ~]# hadoop fs -cat /1.txt
1
[root@node1 ~]# hadoop fs -appendToFile 2.txt 3.txt /1.txt
[root@node1 ~]# hadoop fs -cat /1.txt
1
2
3
[root@node1 ~]#
文件内容的查看
-cat / -tail
cat 适合小文件
tail 将文件的最后一千字节内容显示到 stdout -f 参数支持实时追踪查看.
hadoop fs -cat /demo/1.txt
权限 拥有者 所属组修改
hdfs 和liunx完全一样 也有 user group other 777
chgrp 更改文件组的关联
hadoop fs -chgrp (更改的组名) /(文件)
chmod 改变文件的权限
hadoop fs -chmod (权限数字) (文件名)
chown 改变文件的拥有者
hadoop fs -chown someuser:somegrp /hadoop/hadoopfile
拷贝
hadoop fs -cp 文件 文件
hadoop fs -cp 文件 文件
移动
hadoop fs -mv 文件 /路径
hadoop fs -mv 文件 /