本期带来的文章是大数据开发-HDFS Shell命令,可能大家会好奇,前面是不是有见过shell命令了,这次怎么还有。注意,这次shell面前还有HDFS,指的是在HDFS存储中进行文件夹和文件操作的命令,下面就开始本章节的内容。(内容较多,建议收藏再看) 一、概述 HDFS Shell命令允许使用命令行在HDFS存储中进行文件夹和文件操作,如文件夹的增删改查、文件的增删改查等。 Hadoop支持很多Shell命令,比如hadoop fs、hadoop dfs和hdfs dfs都是HDFS最常用的Shell命令,用来查看HDFS文件系统的目录结构、上传和下载数据、创建文件等。这三个命令既有联系有又区别: hadoop fs:适用于任何不同的文件系统,比如本地文件系统和HDFS文件系统; hadoop dfs:只能适用于HDFS文件系统; hdfs dfs:跟hadoop dfs命令的作用一样,也只能适用于HDFS文件系统。 二、命令 在本教程中,统一使用hdfs dfs命令对HDFS进行操作。开始练习hadoop时,打开Linux之后要用 start-dfs.sh 启动HDFS,HDFS不是开机启动的。 hdfs dfs -操作命令 参数 前面的【hdfs dfs -】部分是固定的,后面的【操作命令 参数】部分是变化的 (1)-help:输出这个命令参数 hdfs dfs -help rm (2)-ls: 显示目录信息 hdfs dfs -ls / hdfs dfs -ls / 0 #列出根目录中的内容 hdfs dfs -ls -R / #递归列出多层文件夹的内容 (3)-mkdir:在hdfs上创建目录 hdfs dfs -mkdir /abc #创建名为/abc的文件夹 (4)-moveFromLocal从本地剪切粘贴到hdfs hdfs dfs -moveFromLocal /home/Hadoop/a.txt /aaa/bbb/cc/dd (5)-moveToLocal:从hdfs剪切粘贴到本地 hdfs dfs -moveToLocal /aaa/bbb/cc/dd /home/Hadoop/a.txt (6)–appendToFile :追加一个文件(不在HDFS中)到已经存在的文件末尾 hdfs dfs -appendToFile ./hello.txt /hello.txt (7)-cat :显示文件内容#注意:只能查看文件文件 hdfs dfs -cat /hadoop-daemon.sh (8)-tail:显示一个文件的末尾 hdfs dfs -tail /weblog/access_log.1 (9)-text:以字符形式打印一个文件的内容 hdfs dfs -text /weblog/access_log.1 (10)-chgrp 、-chmod、-chown:linux文件系统中的用法一样,修改文件所属权限 hdfs dfs -chmod 666 /hello.txt (11)-copyFromLocal:从本地文件系统中拷贝文件到hdfs路径去 hdfs dfs -copyFromLocal ./jdk.tar.gz /aaa/ (12)-copyToLocal:从hdfs拷贝到本地 hdfs dfs -copyToLocal /aaa/jdk.tar.gz (13)-cp :从hdfs的一个路径拷贝到hdfs的另一个路径 hdfs dfs -cp /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2 (14)-mv:在hdfs目录中移动文件 hdfs dfs -mv /aaa/jdk.tar.gz / (15)hdfs dfs -get /abc/hosts ./hosts #把HDFS中的文件下载到本地Linux中 #注意./hosts是下载后保存到本地的位置 (16)-getmerge :合并下载多个文件,比如hdfs的目录 /aaa/下有多个文件:log.1, log.2,log.3,… hdfs dfs -getmerge /aaa/log.* ./log.sum (17)-put:把Linux系统中/etc/hosts文件上传到HDFS中 hdfs dfs -put /aaa/jdk.tar.gz /bbb/jdk.tar.gz.2 (18)-rm:删除文件或文件夹 hdfs dfs -rm -r /aaa/bbb/ (19)-rmdir:递归删除文件/文件夹,文件夹中有文件也能删除 hdfs dfs -rmdir /aaa/bbb/ccc (20)-df :查看HDFS文件系统的磁盘使用情况 hdfs dfs -df -h / (21)-du查看文件/文件夹的大小 hdfs dfs -du -h / (22)-count:统计一个指定目录下的文件节点数量 hdfs dfs -count /aaa/ (23)-setrep:设置hdfs中文件的副本数量 hdfs dfs -setrep 3 /aaa/jdk.tar.gz 这里设置的副本数只是记录在namenode的元数据中,是否真的会有这么多副本,还得看datanode的数量。因为目前只有3台设备,最多也就3个副本,只有节点数的增加到10台时,副本数才能达到10。 (24) - expunge :清空hdfs垃圾桶 hdfs dfs -expunge (25)hdfs dfs -checksum /abc/hosts #查看文件的MD5值 (26)hdfs dfs -find / -name xyz #查找名字为xyz的文件的位置 以上就是本期的所有内容了,本章节的内容也是以命令为主,需要自己多花一些时间记下来,这样才能提高工作效率。我一直强调基础才是最重要的,打好基础,才能让后面学习的知识更容易被消化。建议收藏再看 希望大家点个关注,及时收取最新文章推送,想了解更多敬请咨询加米谷大数据。 有问题的欢迎在评论区留言,如有侵权请告知。