HDFS的Shell操作
使用的软件或系统
VMware14、CentOS7、Hadoop2.7.3、JDK1.8.0_81、Xshell工具
如果还没搭建hadoop的请参考我的另一篇博客:搭建Hadoop单机版
HDFS Shell介绍
Shell是计算机科学中俗称的“壳”,是提供给使用者使用界面的进行与系统交互的软件,通过接受用户输入的命令执行相应的操作。
在HDFS中,Shell分为两大类:
hdfs dfs:文件的操作命令,用于上传,下载,打印文件等;
hdfs admin:文件系统的操作命令,用于配额,启动关闭安全模式等。
HDFS Shell命令
注意:先用start-all.sh
启动hdfs文件系统
(1)mkdir 命令
格式:hdfs dfs -mkdir [-p] < paths >
作用:创建文件夹 ,path是指定的路径,若没有指定则创建在用户目录,
选项:-p 是递归创建文件夹
hdfs dfs -mkdir /test
hdfs dfs -mkdir -p /user/Jayson
(2)touchz命令
格式:hdfs dfs -touchz < paths >
作用:创建文件 ,path是指定的路径,若没有指定则创建在用户目录
hdfs dfs -touchz test2.txt
(3)ls 命令
格式:hdfs dfs -ls [-R] <path>
作用:查看文件夹下的文件和目录
选项:[-R] 是递归查询,查看指定目录的子目录和文件,一直到底层
hdfs dfs -ls /user
hdfs dfs -ls -R /
(4)put 命令
格式:hdfs dfs -put <local path> <hdfs path>
作用:上传文件,把local path文件上传到hdfs path上
在本地创建txt文件,写入This is a txt file.
vi test.txt
上传,然后用ls命令查看
hdfs dfs -put test.txt test-hdfs.txt
(5)get 命令
格式:hdfs dfs -get <hdfs path> <local path>
作用:下载文件,把hdfs path下载到local path中
下载,然后用ls命令查看
hdfs dfs -get test-hdfs.txt test-hdfs-to-local.txt
(6)cat命令
格式:hdfs dfs -cat <path>
作用:输出文件内容
hdfs dfs -cat test-hdfs.txt
(7)cp 命令
格式:hdfs dfs -cp <path1> <path2>
作用:复制文件,把path1复制到path2,同时也可以改名
复制,然后用hdfs dfs -ls命令查看
hdfs dfs -cp test-hdfs.txt test-cp.txt
(8)mv命令
格式:hdfs dfs -mv <path1> <path2>
作用:移动文件,把path1移动到path2,跟cp命令有区别,不会保留原文件,同时也可以改名
复制,然后用hdfs dfs -ls命令查看
hdfs dfs -mv test-hdfs.txt test-mv.txt
(9)rm命令
格式:hdfs dfs -rm [-r] <path>
作用:删除文件
选项:-r 递归删除,即删除目录下的所有文件和子目录
正常删除文件
hdfs dfs -rm /user/Jayson/test-cp.txt
递归删除,先创建一个有子文件夹的文件夹:
hdfs dfs -mkdir -p /user1/Jayson1/test
hdfs dfs -rm -r /user1
常用的大概就是这些了。