VMware ubuntu下的HDFS文件操作(在终端用命令实现的)

基于终端命令运行的HDFS文件操作

文章目录

    • 基于终端命令运行的HDFS文件操作
      • (1)向HDFS上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件;
      • (2)从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名;
      • (3)将HDFS中指定文件的内容输出到终端中;
      • (4)显示HDFS中指定的文件的读写权限、大小、创建时间、路径等信息;
      • (5)给定HDFS中某一个目录,输出该目录下的所有文件的读写权限、大小、创建时间、路径等信息,如果该文件是目录,则递归输出该目录下所有文件相关信息;
      • (6)提供一个HDFS内的文件的路径,对该文件进行创建和删除操作。如果文件所在目录不存在,则自动创建目录;
      • (7)在HDFS中,将文件从源路径移动到目的路径。

(1)向HDFS上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件;

  1. 启动hadoop
cd /usr/local/hadoop
./sbin/start-dfs.sh

VMware ubuntu下的HDFS文件操作(在终端用命令实现的)_第1张图片
创建test1.txt和test2.txt中分别写入“hello how are you?”和“i like running”

echo "hello how are you?" > test1.txt
echo "i like running" > test2.txt

在这里插入图片描述
创建空内容的test3.txt

./bin/hdfs dfs -touchz test3.txt

在这里插入图片描述
把本地文件系统中的“test1.txt和test2.txt”上传到HDFS中

./bin/hdfs dfs -put ./test2.txt
./bin/hdfs dfs -put ./test1.txt

在这里插入图片描述
追加到文件末尾的指令

./bin/hdfs dfs -appendToFile test1.txt test2.txt

在这里插入图片描述
显示hdfs中test2.txt文件内容

./bin/hdfs dfs -cat test2.txt

在这里插入图片描述
覆盖原有文件的指令并查看

./bin/hdfs -copyFromLocal -f test1.txt test3.txt

在这里插入图片描述

(2)从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名;

if $(./bin/hdfs dfs -test -e /usr/local/hadoop/text.txt);
then $(./bin/hdfs dfs -copyToLocal text.txt ./text.txt); 
else $(./bin/hdfs dfs -copyToLocal text.txt ./text2.txt); 
fi

在这里插入图片描述
结果如下
VMware ubuntu下的HDFS文件操作(在终端用命令实现的)_第2张图片
test1.txt中的内容
在这里插入图片描述
test4.txt中的内容
在这里插入图片描述

(3)将HDFS中指定文件的内容输出到终端中;

./bin/hdfs dfs -cat test2.txt

在这里插入图片描述

(4)显示HDFS中指定的文件的读写权限、大小、创建时间、路径等信息;

./bin/hdfs dfs -ls -h test2.txt

在这里插入图片描述

(5)给定HDFS中某一个目录,输出该目录下的所有文件的读写权限、大小、创建时间、路径等信息,如果该文件是目录,则递归输出该目录下所有文件相关信息;

./bin/hdfs dfs -ls -R -h /user/hadoop

VMware ubuntu下的HDFS文件操作(在终端用命令实现的)_第3张图片

(6)提供一个HDFS内的文件的路径,对该文件进行创建和删除操作。如果文件所在目录不存在,则自动创建目录;

if $(./bin/hdfs dfs -d /user/local/hadoop);
then $(./bin/hdfs dfs -touchz /usr/local/hadoop/test/test1.txt);
else $(./bin/hdfs -mkdir -p /usr/local/hadoop/test && ./bin/hdfs dfs -touchz /usr/local/hadoop/test/test1.txt);

在这里插入图片描述
查看结果
在这里插入图片描述

(7)在HDFS中,将文件从源路径移动到目的路径。

./bin/hdfs dfs -mv test1.txt input
./bin/hdfs dfs -ls input 

VMware ubuntu下的HDFS文件操作(在终端用命令实现的)_第4张图片
完成,加油!
在这里插入图片描述

你可能感兴趣的:(VMware ubuntu下的HDFS文件操作(在终端用命令实现的))