很多时候我使用了命令,它在当前目录中打开一个临时HTTP服务器:
python3 -m http.server
现在我需要接收文件,是否有任何打开ftp服务器的单行命令?
我只是在寻找命令行ftp服务器,没有配置文件,没有守护进程。
我在One line ftp server in python中尝试过Twisted,但用户无权发送文件......
答案 0 :(得分:13)
如果您正在寻找Python解决方案,请查看pyftpdlib。
您可以使用例如PIP:
pip install pyftpdlib
然后像这样运行:
python -m pyftpdlib
默认情况下,它在localhost,端口2121上运行匿名可写FTP服务器,从当前目录(即从您启动它的任何地方)提供文件。要登录,请使用匿名作为用户名和密码。
显然,这是非常不安全的,所以你必须考虑到这一点 - 如果你想要任何更多的玩具或其他东西来开发等,请使用正确的FTP服务器,如其他人所提到的。
答案 1 :(得分:1)
一个常见的命令行ftp服务器是vsftpd。这也是Ubuntu,CentOS,Fedora,NimbleX和RHEL Linux上的默认ftp服务器。
答案 2 :(得分:1)
npx ftp-srv ftp://0.0.0.0:2121 --root .
这将启动一个FTP服务器,该服务器在所有接口上的TCP端口2121上进行侦听,该服务器使用当前目录作为根目录(这实际上是默认目录,因此在特定情况下可以省略--root .
)并接受所有登录。
(npx
下载该模块并使用提供的选项运行其主脚本。)
您可能还想签出--pasv_url
选项以启用被动模式。
有关更多详细信息,请参见https://www.npmjs.com/package/ftp-srv#cli
Options:
--help Show help [boolean]
--version Show version number [boolean]
--credentials, -c Load user & pass from json file [string]
--username Blank for anonymous [string] [default: ""]
--password Password for given username [string]
--root, -r Default root directory for users [string]
--read-only Disable write actions such as upload, delete, etc
[boolean] [default: false]
--pasv_url URL to provide for passive connections [string]
--pasv_min Starting point to use when creating passive connections
[number] [default: 1024]
--pasv_max Ending port to use when creating passive connections
[number] [default: 65535]
答案 3 :(得分:0)
Openssh有一个SFTP服务器,配置非常简单。
仅供参考,普通FTP比HTTP更复杂。小心:)