HDFSShell命令
ps: 无论是 hadoop fs 还是 hdfs dfs 命令效果都是一样
都是操作HDFS文件系统
1.put 从本地文系统中 复制文件到 HDFS系统中(上传文件)
hdfs dfs -put 本地文件路径(操作系统中文件所存储的位置) HDFS文件系统路径 例如: hdfs dfs -put /root/install.log /
2.get 从HDFS文件系统中将 文件 复制到本地(下载)
hdfs dfs -get HDFS文件系统路径 本地存储文件的路径
例如: hdfs dfs -get /install.log /root/xxx/install.log
类似方法 copyFromLocal 和 copyTOLocal 相当与是put和get
3.cat HDFS文件系统中文件内容
hdfs dfs -cat HDFS文件系统路径
例如: hdfs dfs -cat /install.log
ps:一般情况下,会用过MR将数据进行处理,处理完成之后会再次存储到HDFS中,此时想查看文件, 多用于这个
命令
cat命令也可以从HDFS文件系统中将文件的内容写入到本地
hdfs dfs -cat /install.log >> /root/xxx/file1.txt
4.ls 查看HDFS文件系统下有哪些文件或文件夹
hdfs dfs -ls HDFS文件系路径
例如: hdfs dfs -ls /
5.cp HDFS文件系统上的拷贝 和 mv HDFS文件系统上的移动操作
hdfs dfs -cp HDFS文件系统中源文件路径 HDFS文件系统中拷贝到的路径 hdfs dfs -mv HDFS文件系统中源文件路径 HDFS文件系统中拷贝到的路径
例如: hdfs dfs -cp /install.log /file/install.log
6.mkdir HDFS系统中创建文件夹 hdfs dfs -mkdir HDFS文件系路径 ps: 创建多个文件夹 -p 例如: hdfs dfs -mkdir /file
7.rm HDFS文件系统中删除文件(文件夹)
hdfs dfs -rm HDFS文件系统路径(文件)
hdfs dfs -rm -r HDFS文件系统路径(文件夹)
简写 hdfs dfs -rmr HDFS文件系统路径
8.chmod HDFS文件系统中修改文件权限和文件夹权限
hdfs dfs -chmod [-R] 权限值 HDFS文件系统领
-R 就意味着会将文件夹下所有的文件都修改
不带 只会修改一层
9.回收站
HDFS文件系统的回收站是默认关闭的,需要的时候可以通过配置开启
修改core-site.xml文件
<property>
<name>fs.trash.interval</name>
<value>1440</value>
<description>Number of minutes between trash checkpoints. If zero, the trash feature is disabled.
</description>
</property>
默认是0.单位分钟。这里我设置的是1天(60*24)
删除数据rm后,会将数据move到当前文件夹下的.Trash目录
修改文件需要重启HDFS文件系统
回复数据
hdfs dfs -mv /user/root/.Trash/Current/某个文件 /某个文件
清空垃圾
hdfs dfs -rm -r /user/root/.Trash/Current/