Hadoop FS Shell常用命令

1.调用Hadoop的文件系统Shell(FileSystem Shell)的命令格式:

语法:hadoop fs <args>:前提是位置位于hadoop/bin下,其中fs是参数,表示FS Shell,<args>是fs的子命令

2.使用FS Shell命令行管理文件:

mkdir  -创建目录

语法:hadoop fs -mkdir <paths>
例子:
hadoop fs -mkdir /user:在HDFS中创建"/user"目录

hadoop fs -mkdir /user/hadoop:在HDFS中创建"/user/hadoop"目录

hadoop fs -mkdir /user/hadoop/dir1 /user/hadoop/dir2:在HDFS中同时创建"/user/hadoop/dir1"和"/user/hadoop/dir2",目录

ls -查看列表文件

语法:hadoop fs -ls <args>
如果是文件,则按照如下格式返回文件信息:
文件名<副本数> 文件大小 修改日期 修改时间 权限 用户ID 组ID

如果是目录,则返回它直接子文件的一个列表

cat -查看文件

语法:hadoop fs -cat URI <URI...>:输出路径指定文件的内容
例子:
hadoop fs -cat /input2/file1.txt  /input2/file2.txt:在HDFS中查看input2目录下的file1.txt和file2.txt的文件内容

put -从本地文件系统中复制一个或多个文件到HDFS(外部命令)

语法:hadoop fs -put <localsrc>...<dst>
其中localsrc只能是本地文件,dst只能是HDFS文件,且不受fs.defaultFS属性影响。

例子:
hadoop fs -put /home/hduser/file/file1.txt /input2
-将本地文件复制到HDFS目录"input2"

hadoop fs -put /home/hduser/file/file1.txt /home/hduser/file/file2.txt /input2
-将多个本地文件复制到HDFS目录"input2"

hadoop fs -put - /input2/file3
-从标准输入中读取输入,按Ctrl+C组合键退出并保存到"file3"

get -复制HDFS文件到本地系统(外部命令,是put命令的逆操作)

语法:hadoop fs -get <src><localdst>
其中src只能是HDFS文件,localdst只能是本地文件,且同样不受fs.defaultFS属性影响

例子:
hadoop fs -get /input2/file1.txt /sa/file
-将HDFS目录"input2"下的file1.txt文件复制到本地系统目录"sa"下的file文件夹中

mv -移动、剪切命令

语法:hadoop fs -mv URI [URI...] <dest>:将文件从源路径移动到目标路径,允许多个源路径,目标路径必须是一个目录

例子:
hadoop fs -mv /input2/file1.txt /input2/file2.txt /user/hadoop/dir1
-将HDFS上"input2"文件夹中的file1.txt和file2.txt文件移动到"/user/hadoop/dir1"文件夹中

cp -复制命令

语法:hadoop fs -cp URI [URI...] <dest>:将文件从源路径复制到目标路径,允许多个源路径,目标路径必须是一个目录

例子:
hadoop fs -cp /input2/file1.txt /input2/file2.txt /user/hadoop/dir1
-将HDFS上"input2"文件夹中的file1.txt和file2.txt文件复制到"/user/hadoop/dir1"文件夹中

rm、rmr -删除文件

1.rm命令
语法:hadoop fs -rm URI [URI...]
删除指定的文件,只删除非空目录和文件

例子:
hadoop fs -rm /input2/file1.txt
-在HDFS中删除input2文件夹下的file1.txt文件

2.rmr命令
语法:hadoop fs -rmr URI [URI...]
rm的递归版本,整个文件夹及子文件将全部删除
例子:
hadoop fs -rmr /user/hadoop/dir1
-在HDFS中直接删除" /user/hadoop/dir1"路径中dir1文件夹及该文件夹中的子文件

test、du、expubge -管理命令

1.test命令
语法:hadoop fs -test -[选项] URI
选项:
 -e:检查文件是否存在,如果存在则返回0,不存在返回1;
 -z:检查文件是否存在内容,有内容返回1,没有内容返回0(检查文件的大小是否是0字节,文件大小是0字节返回0,不是0字节返回1);
 -d:检查路径是否为目录,如果是则返回1,不是则返回0.

例子:
hadoop fs -test -e /input2/file1.txt 
-检查文件是否存在
echo $?   -#"$?"是Linux变量,存储上一条命令的返回值,"echo $?"表示输出命令行返回的数值。

2.du命令
语法:hadoop fs -du URI [URI...]
-显示目录中所有文件的大小

例子:
hadoop fs -du /input2
-在HDFS中显示input2文件夹的大小,如果是目录则列出所有文件及其大小

hadoop fs -du /input2/file1.txt
-在HDFS中显示input2文件夹下fil1.txt文件的大小,如果是目录则统计总大小

3.expunge命令
语法:hadoop fs -expunge
-清空回收站

以上只介绍了部分常用命令,更多命令可查阅Hadoop帮助文档,获取位置:

$Hadoop_HOME/share/doc/hadoop/hadoop-project-dist/hadoop-common/FileSystemShell.html


  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值