如何在Linux中通过HTTP快速获取文件和文件夹
今天,我遇到了各种各样的方法,可以通过Web浏览器为局域网中的其他系统提供单个文件或者整个目录。
我在Ubuntu测试机上测试了几种方法,如下所述,它们都工作正常。
如果我们想知道如何在Linux中通过HTTP轻松快速地提供文件和文件夹,以下方法之一肯定会有所帮助。
在Linux中通过HTTP服务文件和文件夹
免责声明:此处给出的所有方法均应在安全的局域网中使用。
由于这些方法没有任何安全性机制,因此不建议在生产中使用它们。
你被警告了!
方法1-使用simpleHTTPserver(Python)
我们已经写了一个简短的教程来设置一个简单的http服务器,以在下面的链接中立即共享文件和目录。
如果系统安装了Python,则此方法非常方便。
方法2-使用Quickserve(Python)
此方法专门用于Arch Linux及其变体。
检查以下链接以获取更多详细信息。
- 如何在Arch Linux中即时共享文件和文件夹
方法3-使用Ruby
在这种方法中,我们使用Ruby在类似Unix的系统中通过HTTP提供文件和文件夹。
安装Ruby后,转到我们要在网络上共享的目录,例如theitroad:
$cd theitroad
并且,运行以下命令:
$ruby -run -ehttpd . -p8000 [2016-08-10 16:02:55] INFO WEBrick 1.4.2 [2016-08-10 16:02:55] INFO ruby 2.5.1 (2016-03-29) [x86_64-linux] [2016-08-10 16:02:55] INFO WEBrick::HTTPServer#start: pid=5859 port=8000
确保在路由器或者防火墙中打开了端口8000。
如果该端口已被某些其他服务使用,请使用其他端口。
现在,我们可以使用URL http://<IP地址>:8000 /从任何远程系统访问此文件夹的内容。
要停止共享,请按CTRL + C。
方法4-使用Http服务器(NodeJS)
Http-server是用NodeJS编写的简单的,可立即投入生产的命令行http-server。
它需要零配置,可用于通过Web浏览器即时共享文件和目录。
安装NodeJS后,运行以下命令以安装http-server。
$npm install -g http-server
现在,转到任何目录并通过HTTP共享其内容,如下所示。
$cd theitroad
$http-server -p 8000 Starting up http-server, serving ./ Available on: http://127.0.0.1:8000 http://192.168.225.24:8000 http://192.168.225.20:8000 Hit CTRL-C to stop the server
现在,我们可以使用URL http://<ip-address>:8000从网络中的本地或者远程系统访问此目录的内容。
要停止共享,请按CTRL + C。
方法5-使用Miniserve(Rust)
Miniserve是另一个命令行实用程序,可让我们通过HTTP快速提供文件。
这是用Rust编程语言编写的非常快速,易于使用的跨平台实用程序。
与上述实用程序/方法不同,它提供身份验证支持,因此我们可以为共享设置用户名和密码。
安装Rust后,运行以下命令来安装miniserve:
$cargo install miniserve
或者,我们可以从发行版页面下载二进制文件并使其可执行。
$chmod +x miniserve-linux
然后,我们可以使用命令运行它(假设miniserve二进制文件已下载到当前工作目录中):
$./miniserve-linux <path-to-share>
用法
服务目录:
$miniserve <path-to-directory>
例子:
$miniserve /home/sk/theitroad/ miniserve v0.2.0 Serving path /home/sk/theitroad at http://[::]:8080, http://localhost:8080 Quit by pressing CTRL-C
现在,我们可以使用URL http://localhost:8080从本地系统本身和/或者使用URL http://<ip-address>:8080从远程系统访问共享。
要提供单个文件:
$miniserve <path-to-file>
例子:
$miniserve theitroad/file.txt
提供带有用户名和密码的文件/文件夹:
$miniserve --auth igi:123 <path-to-share>
绑定到多个接口:
$miniserve -i 192.168.225.1 -i 10.10.0.1 -i ::1 -- <path-to-share>
如我们所见,我仅给出了5种方法。
但是,本教程结尾处的链接中提供的其他方法很少。
也去测试它们。
另外,不时添加书签并重新访问它,以检查将来列表中是否有任何新添加的内容。