文件操作

查看文件

ls

# 查看 DIR_PATH 目录下的文件
hdfs dfs -ls DIR_PATH

du

# 查看 文件/文件夹 占用的空间
hdfs dfs -du DIR_PATH

# 转换单位
hdfs dfs -du -h DIR_PATH

df

# 查看磁盘空间
hdfs -df -h

复制和获取文件

put

# 将 client node 中的 SOURCE put 到 HDFS 的 TARGET 文件夹中
hdfs dfs -put SOURCE TARGET

# 若文件存在,则可以使用 -f 参数进行覆盖
hdfs dfs -put -f SOURCE TARGET

get

# 将 HDFS 中的 SOURCE 文件复制到 client node 中 TARGET 路径
hdfs dfs -get SOURCE TARGET

copyFromLocal

# 和 put 的作用是一样的
hdfs dfs -copyFromLocal SOURCE TARGET

若想覆盖可以加上 -f 参数

copyToLocal**

# 和 get 命令相似
hdfs dfs -copyToLocal SOURCE TARGET

cp

# 在 HDFS 中将 SOURCE 文件复制到 TARGET 目录
hdfs dfs -cp SOURCE TARGET

创建文件夹

mkdir

# 在 DIR_PATH 路径创建一个目录
hdfs dfs -mkdir DIR_PATH

若需要创建多级目录可以加 -p 参数

删除文件

rm

# 删除 TARGET 文件
hdfs dfs -rm TARGET

# 删除 TARGET_DIR 目录
hdfs dfs -rm -r TARGET

rmdir

# 删除一个空的目录
hdfs dfs -rmdir TARGET

查看文件

cat

# 将 FILE 文件内容输出到 stdout
hdfs dfs -cat FILE

tail

# 查看 FILE 文件末尾 1 kb 的数据,行为和 Unix 中的一致
hdfs dfs -tail FILE

移动文件

moveFromLocal, moveToLocal, mv

使用方法同 copyFromLocal, copyToLocal, cp。区别为 cp 是复制,而 mv 是移动。

重命名

hdfs dfs -mv OLD_NAME NEW_NAME

文件权限

chmod

# 更改 FILE 文件为 777 权限
hdfs dfs -chmod 777 FILE

# 加上 -R 参数则表示递归地修改目录下所有的文件
hdfs dfs -chmod -R 777 FILE

chown

# 更改文件的所有者
hdfs dfs -chown root TARGET

# 递归地修改目录下所有文件
hdfs dfs -chown -R root TARGET

chgrp

# 更改文件的属组
hdfs dfs -chgrp root TARGET

# 递归地修改目录下所有文件
hdfs dfs -chgrp -R root TARGET
Last modification:April 18th, 2020 at 12:59 am
If you think my article is useful to you, please feel free to appreciate