使用 Linux 终端从 FTP 服务器删除文件

使用 Linux 终端从 FTP 服务器删除文件

我是新来的,我想问一个关于 FTP 的问题。

我有一个FTP服务器,里面有多个文件夹,里面有PDF文件。我想知道有没有办法通过终端访问这个服务器,并通过终端删除PDF文件。

我的操作系统是 ubuntu 19.10

我使用此命令下载文件夹

wget -m --user=XXXXX --password=XXXX ftp://XXXXXXX:XXXX/

现在我只需要一个命令就可以从服务器上删除 PDF 文件。:)

答案1

要从 FTP 服务器删除文件/文件夹,请按照以下步骤操作:

  1. 输入ftp并回车以继续。
  2. 输入open并回车以继续。
  3. 输入ftp服务器的IP地址,然后回车,连接到ftp服务器。
  4. 如果已连接,请输入登录名并输入。
  5. 输入用户密码并输入。如果用户名和密码有效,您就可以进入。
  6. 键入help以列出您可以在 ftp 服务器上运行的所有可用命令。
  7. 键入ls以列出所有文件和目录。
  8. 键入cd <folder_name>以进入指定文件夹。
  9. 键入mdelete <filename>以删除一个或多个文件或rmdir -r <folder_name>删除一个文件夹。
  10. 类型并输入确认删除。

编辑:
出于某些安全原因,您必须输入每次要删除文件时都要输入 。为了避免这种情况,你需要ftp -i在开头运行(而不是ftp)。之后,你可以直接删除文件而不必输入对于每个文件(示例:mdelete folder_name/*将删除 folder_name 中的所有文件)。
此外,除非文件夹为空,否则您无法删除该文件夹,因此您必须使用 删除其所有内容mdelete folder_name/*,然后运行rmdir folder_name以删除文件夹。

致谢: 批量删除FTP服务器中的文件

答案2

你可以使用类似下面的方法来实现自动化。[1]

它将正确连接,并且<<EOF和之间的所有内容EOF都将被执行。这对于自动化来说相当不错。我想这就是你强调控制台必要性的原因,对吧?

#!/bin/bash
HOST=ftp.example.com
USER=ftpuser
PASSWORD=P@ssw0rd

ftp -inv $HOST <<EOF
user $USER $PASSWORD
cd /path/to/file
    bye
EOF

摘自[1]:https://blog.eduonix.com/shell-scripting/how-to-automate-ftp-transfers-in-linux-shell-scripting/

相关内容