目录
一、 三种shell命令方式
二、常见Shell操作命令
1、创建文件夹
2、查看指定目录下内容
3、上传文件到HDFS指定目录下
4、查看HDFS文件内容
5、下载HDFS文件
6、拷贝HDFS文件
7、追加数据到HDFS文件中
8、HDFS数据移动操作
9、创建文件
10、查看磁盘使用情况
11、修改权限
12、删除文件
13、统计文件数量
一、 三种shell命令方式
HDFS有三种shell命令方式
hadoop fs:适用于任何不同的文件系统,比如本地文件系统和HDFS文件系统
hadoop dfs:只能适用于HDFS文件系统
hdfs dfs:跟hadoop dfs的命令作用一样,也只能适用于HDFS文件系统
二、常见Shell操作命令
本操作所有Shell命令均为hadoop3.2.1版本下操作命令,其他版本可能有差异!
Hadoop3.2.1集群参考:
【大数据入门核心技术-Hadoop】(五)Hadoop3.2.1非高可用集群搭建_forest_long的博客-CSDN博客
【大数据入门核心技术-Hadoop】(六)Hadoop3.2.1高可用集群搭建_forest_long的博客-CSDN博客_hadoop高可用集群搭建3.2.3
1、创建文件夹
hadoop fs -mkdir [-p] ...
path 为待创建的目录
-p选项的行为与Unix mkdir -p非常相似,它会沿着路径创建父目录。
hdfs dfs -mkdir /temp
2、查看指定目录下内容
hadoop fs -ls [-h] [-R] [ ...]
path 指定目录路径
-h 人性化显示文件size
-R 递归查看指定目录及其子目录
eg:
hdfs dfs -ls /
3、上传文件到HDFS指定目录下
hadoop fs -put [-f] [-p] ...
-f 覆盖目标文件(已存在下)
-p 保留访问和修改时间,所有权和权限。
localsrc 本地文件系统(客户端所在机器)
dst 目标文件系统(HDFS)
eg:
hdfs dfs -put a.txt /temp/
hdfs dfs -put -p a.txt /temp/ 保留访问和修改时间,所有权和权限。
hdfs dfs -put -p -f a.txt /temp/ 保留访问和修改时间,所有权和权限。覆盖目标文件(已存在下)
类似命令: hdfs dfs -copyFromLocal 源文件夹 目标文件夹 #copyFromLocal
#上传后删除本地
hdfs dfs -moveFromLocal 源文件夹 目标文件夹
eg:
hdfs dfs -moveFromLocal -f a.txt /temp/
4、查看HDFS文件内容
hadoop fs -cat ...
读取指定文件全部内容,显示在标准输出控制台。
注意:对于大文件内容读取,慎重。
eg:
hdfs dfs -cat /temp/a.txt
5、下载HDFS文件
hadoop fs -get [-f] [-p] ...
下载文件到本地文件系统指定目录,localdst必须是目录
-f 覆盖目标文件(已存在下)
-p 保留访问和修改时间,所有权和权限。
eg:
hdfs dfs -get /temp/a.txt
类似命令 hdfs dfs -copyToLocal 源文件夹 目标文件夹 #copyToLocal
eg:
hdfs dfs -copyToLocal /temp/a.txt .
6、拷贝HDFS文件
hadoop fs -cp [-f] ...
-f 覆盖目标文件(已存在下)
eg:
hdfs dfs -cp /temp/a.txt /temp/b.txt
hdfs dfs -ls /temp
7、追加数据到HDFS文件中
hadoop fs -appendToFile ...
将所有给定本地文件的内容追加到给定dst文件。
dst如果文件不存在,将创建该文件。
如果为-,则输入为从标准输入中读取。
eg:
hdfs dfs -appendToFile a.txt /temp/a.txt
hdfs dfs -cat /temp/a.txt
8、HDFS数据移动操作
hadoop fs -mv ...
移动文件到指定文件夹下
可以使用该命令移动数据,重命名文件的名称
eg:
hdfs dfs -mv /temp/a.txt /temp/c.txt
hdfs dfs -ls /temp
9、创建文件
hdfs dfs -touch path (旧版本使用touchz)
该命令不可递归创建文件,即当该文件的上级目录不存在时无法创建该文件,如果重复创建会覆盖原有的内容
eg:
hdfs dfs -touch /temp/hello.txt
hdfs dfs -ls /temp
10、查看磁盘使用情况
hdfs dfs -du path
查看path下的磁盘情况,单位字节
eg:
hdfs dfs -du /
其中第一列和第二列分别表示单副本大小和所有副本大小
11、修改权限
hdfs dfs -chmod 权限参数[:[组]] path
eg:
hdfs dfs -chmod 777 /temp/b.txt
12、删除文件
hdfs dfs -rm 目标文件 #rm不可以删除文件夹
hdfs dfs -rm -R 目标文件 #递归删除(慎用)
eg:
hdfs dfs -rm /temp/b.txt
hdfs dfs -rm -R /temp
hdfs dfs -ls /temp
13、统计文件数量
hdfs dfs -count 路径
第一个数值3表示/temp下的文件夹的个数,
第二个数值4表示当前文件夹下文件的个数,
第三个数值48表示该文件夹下文件所占的空间大小,这个大小是不计算副本的个数的