下列哪个命令可以从HDFS中删除一个文件或目录?
时间: 2023-12-10 10:40:41 浏览: 91
可以使用以下命令从HDFS中删除文件或目录:
```
hadoop fs -rm [-r] [-f] <hdfs_path>
```
其中,`-rm`表示删除文件或目录,`-r`表示递归删除目录及其下所有子目录和文件,`-f`表示强制删除文件或目录。`<hdfs_path>`为待删除的文件或目录在HDFS中的路径。
相关问题
Hadoop—分布式文件系统HDFS第1关:HDFS的基本操作
### Hadoop HDFS 基本操作教程
#### 使用命令行工具访问HDFS
为了执行HDFS上的各种文件系统操作,可以使用`hadoop fs`或`hdfs dfs`命令。两者功能相同;然而,在处理HDFS特定的操作时推荐使用后者[^1]。
#### 创建目录
创建新目录可以通过如下命令实现:
```bash
hdfs dfs -mkdir /user/hadoop/dirname
```
这将在根路径下建立名为`dirname`的新目录。
#### 查看文件列表
要查看指定目录中的文件和子目录列表,可运行以下命令:
```bash
hdfs dfs -ls /
```
此命令会显示根目录下的所有条目及其属性。
#### 上传本地文件到HDFS
通过下面的指令可以从本地文件系统向HDFS传输数据:
```bash
hdfs dfs -put localfile.txt /user/hadoop/
```
这里假设将当前工作目录里的`localfile.txt`复制到了远程位置/user/hadoop/之下。
#### 下载HDFS文件至本地
相反地,如果想要把存储在分布式环境内的资料取回,则应该采用这样的语法结构:
```bash
hdfs dfs -get /user/hadoop/remotefile.txt ./destination_folder/
```
它表示获取位于/user/hadoop/处的目标文档并保存到宿主机相应的位置上。
#### 删除文件或目录
当不再需要某些对象时,可通过下列方式移除它们:
```bash
hdfs dfs -rm /path/to/file_or_directory
```
请注意,默认情况下只会删除单个文件而非整个树形结构。对于非空文件夹来说,需附加参数`-r`来实施递归清除动作。
#### 关闭HDFS服务
最后,停止集群内各节点的服务进程需要用到这个脚本:
```bash
stop-dfs.sh
```
该命令能够优雅地中止NameNode以及DataNodes的工作流程[^3]。
利用Hadoop提供的Shell命令完成下列任务
1. 查看Hadoop集群中的所有节点
```
hadoop dfsadmin -report
```
2. 在HDFS中创建一个名为"test"的文件夹
```
hadoop fs -mkdir /test
```
3. 将本地文件"/home/user/data.txt"上传到HDFS的"/test"文件夹中
```
hadoop fs -put /home/user/data.txt /test/
```
4. 从HDFS的"/test"文件夹中下载文件"test.txt"到本地"/home/user/download"文件夹中
```
hadoop fs -get /test/test.txt /home/user/download/
```
5. 将HDFS中的"/test"文件夹删除
```
hadoop fs -rm -r /test
```
阅读全文