
- 必须先删除目录下的所有文件和子目录。
- 目录为空后,才能删除目录本身。
下面是详细的步骤和命令说明。
总体步骤
假设你要删除服务器上的 /path/to/your/directory 目录:
-
连接到 FTP 服务器:
ftp ftp.yourserver.com
然后输入用户名和密码登录。
(图片来源网络,侵删) -
进入目标父目录 (这是一个好习惯,可以简化后续命令):
cd /path/to/your
-
删除目录下的所有内容:
- 删除文件:使用
delete或del命令。delete file1.txt delete file2.log
- 删除子目录:这需要递归操作,最简单的方法是使用
mdelete(multiple delete) 删除所有文件,然后用rmdir删除空子目录。
- 删除文件:使用
-
删除目标目录本身:
- 当目录为空后,使用
rmdir(remove directory) 命令。
- 当目录为空后,使用
详细命令说明
列出文件和目录 (ls 或 dir)
在删除前,务必先查看目录内容,确认你要删除的文件和目录。

ls
或者使用更详细的 dir 命令:
dir
删除文件 (delete 或 del)
用于删除单个文件。
delete filename.txt
del 是 delete 的别名,作用完全相同:
del another_file.log
批量删除文件 (mdelete)
这是最强大的命令,用于一次性删除多个文件,它会逐个提示你是否要删除每个文件,可以加上 -i (interactive) 选项,或者使用 -f (force) 来跳过提示。
# 交互式删除所有文件(会逐个询问) mdelete * # 强制删除所有文件,不询问 mdelete -f * # 删除所有 .log 文件 mdelete *.log
删除空目录 (rmdir 或 rd)
这是删除目录的关键命令,但它只能删除空目录。
rmdir empty_directory
rd 是 rmdir 的别名:
rd another_empty_dir
完整示例
假设服务器上有一个目录结构如下,我们要删除 my_project 目录及其所有内容。
/
└── /home/user/
└── my_project/
├── main.py
├── data.txt
└── src/
└── utils.py
操作步骤:
-
登录并进入父目录:
ftp ftp.yourserver.com (输入用户名和密码) cd /home/user
-
查看
my_project目录内容:ls my_project # 输出应该显示 main.py, data.txt, src
-
进入
my_project目录:cd my_project
-
删除所有文件:
mdelete -f * # 这会删除 main.py 和 data.txt
-
删除
src子目录:- 首先进入
src目录:cd src
- 删除
src目录内的文件:mdelete -f *
- 返回上一级目录 (
my_project):cd ..
- 删除空的
src目录:rmdir src
- 首先进入
-
删除空的
my_project目录:- 确保你现在在
/home/user目录下。 - 删除
my_project目录:rmdir my_project
- 确保你现在在
-
退出 FTP:
bye
重要注意事项
- 权限:你必须是该目录的所有者,或者拥有足够的权限才能删除文件和目录。
- 空目录:
rmdir只能删除空目录,如果尝试删除非空目录,FTP 客户端会报错,550 Can't remove directory: Directory not empty。 - 交互模式:
mdelete默认是交互式的,对于大量文件会很慢,使用-f选项可以强制删除,提高效率。 - SFTP 替代方案:在现代系统中,强烈建议使用 SFTP (SSH File Transfer Protocol),SFTP 是通过 SSH 连接的,更安全,并且提供了一套更现代、更符合直觉的命令集(类似 Linux/Unix 的
rm -r)。
SFTP 删除目录的命令非常简单:
# 在 SFTP 会话中 rm -r /path/to/your/directory
这个命令会递归地删除目录及其所有内容,无需分步操作,如果你的 FTP 服务器支持 SSH 访问,请优先使用 SFTP。
