2026-10-26 01:04:47
HDFS(Hadoop Distributed File System)是一个分布式文件系统,允许用户通过Shell命令进行文件操作,其命令大多与Unix命令类似。以下是HDFS文件系统的常见操作及示例:

在master节点终端执行以下命令启动HDFS,并通过jps检查进程是否启动:
start-dfs.shjps启动过程如下图所示:
二、目录操作创建目录:
一级一级创建目录(父目录不存在会报错):
hdfs dfs -mkdir /userhdfs dfs -mkdir /user/hduser使用-p参数自动创建父目录:
hdfs dfs -mkdir -p /user/hduser查看目录:
列出用户主目录内容:
hdfs dfs -ls列出根目录内容:
hdfs dfs -ls /递归列出所有目录:
hdfs dfs -ls -R /读取文件:
hdfs dfs -cat /user/hduser/fib.csv修改权限与属主:
递归修改目录权限为755(所有者可读、写、执行,组和其他可读、执行):
hdfs dfs -chmod -R 755 /user/hduser修改目录属主为hduser:
hdfs dfs -chown hduser /user/hduser上传文件:
上传本地文件到HDFS目录(目录需存在):
hdfs dfs -put readme.txt inputhdfs dfs -copyFromLocal readme.txt input上传本地文件夹到HDFS:
hdfs dfs -copyFromLocal wc-input .hdfs dfs -copyFromLocal wc-input input/wc-input从键盘输入到HDFS:
hdfs dfs -put - <hdfs_file>按Ctrl+D结束输入,目标文件不能存在。
移动本地文件到HDFS:
hdfs dfs -moveFromLocal <local_src> <hdfs_dst>执行后本地文件会被删除。
下载文件到本地:
下载单个文件(本地文件名不能与HDFS文件名相同):
hdfs dfs -get <hdfs_file> <local_file_or_dir>下载多个文件或目录到本地文件夹:
hdfs dfs -get <hdfs_file_or_dir> ... <local_dir>复制文件到本地(与get类似):
hdfs dfs -copyToLocal <hdfs_src> <local_dst>删除文件或目录:
删除文件:
hdfs dfs -rm <hdfs_file>递归删除目录:
hdfs dfs -rm -r <hdfs_dir>复制文件:
重命名文件(目标文件不能存在):
hdfs dfs -cp <hdfs_file> <new_hdfs_file>复制文件到目录(目标目录需存在):
hdfs dfs -cp <hdfs_file_or_dir> ... <hdfs_dir>移动文件:
移动文件到目录(目标文件不能存在):
hdfs dfs -mv <hdfs_file> <hdfs_dir>移动多个文件或目录到目标目录(目标路径必须为目录且存在):
hdfs dfs -mv <hdfs_file_or_dir> ... <hdfs_dir>注意:跨文件系统移动(如本地到HDFS或反之)不允许。
统计路径信息:
hdfs dfs -count <hdfs_path>输出格式:目录个数、文件个数、文件总大小、路径。
查看文件尾部内容:
hdfs dfs -tail <hdfs_file>通过hdfs dfsadmin管理HDFS:
enter:进入安全模式;
leave:离开安全模式;
get:查询安全模式状态;
wait:等待离开安全模式。


通过以上命令,用户可以高效完成HDFS文件系统的创建、上传、下载、删除等操作,满足大数据分析中的存储需求。