赞
踩
目录
(1) 向HDFS 中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件;
(2) 从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名;
(4) 显示 HDFS中指定的文件的读写权限、大小、创建时间、路径等信息;
(5) 给定HDFS中某一个目录,输出该目录下的所有文件的读写权限、大小、创建时间、路径等信息,如果该文件是目录,则递归输出该目录下所有文件相关信息;
(6) 提供一个HDFS内的文件的路径,对该文件进行创建和删除操作。如果文件所在目录不存在,则自动创建目录;
(7) 提供一个 HDFS的目录的路径,对该目录进行创建和删除操作。创建目录时,如果目录文件所在目录不存在则自动创建相应目录;删除目录时,由用户指定当该目录不为空时是否还删除该目录;
(8) 向HDFS中指定的文件追加内容,由用户指定内容追加到原有文件的开头或结尾;
(10) 删除HDFS中指定的目录,由用户指定目录中如果存在文件时是否删除目录;
准备工作
$ export PATH=$PATH:/usr/local/hadoop/bin
路径是hadoop安装路径下的bin
开启hadoop服务
$ ./sbin/start-dfs.sh
创建两个文件
echo “hello local” > local.txt
echo “hello cloud” > cloud.txt
上传cloud.txt文档
$ hadoop fs -put cloud.txt
将local.txt内容追加到cloud.txt末尾
$ hadoop fs -appendToFile local.txt cloud.txt
将local.txt内容覆盖到cloud.txt
$ hadoop fs -copyFromLocal -f local.txt cloud.txt
- $ if $(hadoop fs -test -e file:///usr/local/hadoop/cloud/txt);#如果cloud.txt文件存在
-
- > then $(hadoop fs -copyToLocal cloud.txt ./cloud2.txt);#重命名为cloud2.txt
-
- > else $(hadoop fs -copyToLocal cloud.txt ./cloud.txt);#否则为cloud.txt
-
- > fi
$ hadoop fs -cat cloud.txt
$ hadoop fs -ls -h cloud.txt
$ hadoop fs -ls -R -h /user/hadoop
- $ if $(hadoop fs -test -d test1/test2);
-
- then $(hadoop fs -touch test1/test2/test.txt);
- else $(hadoop fs -mkdir -p test1/test2 && hadoop fs -touch test1/test2/test.txt);
- fi
$ hadoop fs -rm test1/test2/test.text #删除文件
- #创建目录
-
- $ hadoop fs -mkdir -p test1/test2
-
- #删除目录
-
- $ hadoop fs -rmdir test1/test2
-
- #目录有文件时删除
-
- $ hadoop fs -rm -R test1/test2
追加文件开头
- $ hadoop fs -get cloud.txt
-
- $ cat cloud.txt >> local.txt
-
- $ hadoop fs -copyFromLocal -f local.txt cloud.txt
追加文件末尾
$ hadoop fs -appendToFile local.txt cloud.txt
$ hadoop fs -rm test.txt
$ hadoop fs -rm -r test1/test2
$ hadoop fs -mv cloud.txt ./cloud3.txt
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。