如何在 Linux 中通过 HTTP 快速提供文件和文件夹

今天,我遇到了一大堆通过网络浏览器为局域网中的其他系统提供单个文件或整个目录的方法。 我在我的 Ubuntu 测试机器上测试了几种方法,它们都工作得很好,如下所述。 如果您想知道如何在 Linux 中通过 HTTP 轻松快速地提供文件和文件夹,以下方法之一肯定会有所帮助。

在 Linux 中通过 HTTP 服务文件和文件夹

免责声明: 这里给出的所有方法都是为了在安全的局域网中使用。 由于这些方法没有任何安全机制,因此 不建议在生产中使用它们. 你被警告了!

方法 1 – 使用 simpleHTTPserver (Python)

我们已经在下面的链接中编写了一个简短的指南来设置一个简单的 http 服务器以立即共享文件和目录。 如果你有一个安装了 Python 的系统,这个方法非常方便。

  • 如何使用 simpleHTTPserver 设置基本文件服务器

方法 2 – 使用 Quickserve (Python)

此方法专门用于 Arch Linux 及其变体。 检查以下链接以获取更多详细信息。

  • 如何在 Arch Linux 中即时共享文件和文件夹

方法 3 – 使用 Ruby

在这种方法中,我们使用 Ruby 在类 Unix 系统中通过 HTTP 提供文件和文件夹。 按照以下链接中的说明安装 Ruby 和 Rails。

  • 在 CentOS 和 Ubuntu 中安装 Ruby on Rails

安装 Ruby 后,转到目录,对于 example ostechnix,您想通过网络共享:

$ cd ostechnix

并且,运行以下命令:

$ ruby -run -ehttpd . -p8000
[2018-08-10 16:02:55] INFO WEBrick 1.4.2
[2018-08-10 16:02:55] INFO ruby 2.5.1 (2018-03-29) [x86_64-linux]
[2018-08-10 16:02:55] INFO WEBrick::HTTPServer#start: pid=5859 port=8000

确保在您的路由器或防火墙中打开端口 8000。 如果该端口已被其他一些服务使用,则使用不同的端口。

您现在可以使用 URL 从任何远程系统访问此文件夹的内容 – https://:8000/.

红宝石http服务器

停止分享按 CTRL+C.

方法 4 – 使用 Http-server (NodeJS)

Http服务器 是一个用 NodeJS 编写的简单的、生产就绪的命令行 http-server。 它需要零配置,可用于通过网络浏览器即时共享文件和目录。

如下所述安装 NodeJS。

  • 如何在 Linux 上安装 NodeJS

安装 NodeJS 后,运行以下命令安装 http-server。

$ npm install -g http-server

现在,转到任何目录并通过 HTTP 共享其内容,如下所示。

$ cd ostechnix
$ http-server -p 8000
Starting up http-server, serving ./
Available on:
  https://127.0.0.1:8000
  https://192.168.225.24:8000
  https://192.168.225.20:8000
Hit CTRL-C to stop the server

现在,您可以使用 URL 从网络中的本地或远程系统访问此目录的内容 – https://:8000.

nodejs http服务器

要停止共享,请按 CTRL+C.

方法 5 – 使用 Miniserve (Rust)

迷你服务 是另一个命令行实用程序,可让您通过 HTTP 快速提供文件。 它是一个非常快速、易于使用和跨平台的实用程序,用 编程语言。 与上述实用程序/方法不同,它提供身份验证支持,因此您可以为共享设置用户名和密码。

如以下链接所述,在您的 Linux 系统中安装 Rust。

  • 在 Linux 中安装 Rust 编程语言

安装 Rust 后,运行以下命令安装 miniserve:

$ cargo install miniserve

或者,您可以从以下位置下载二进制文件 发布页面 并使其可执行。

$ chmod +x miniserve-linux

然后,您可以使用命令运行它(假设 miniserve 二进制文件已下载到当前工作目录中):

$ ./miniserve-linux <path-to-share>

用法

提供目录:

$ miniserve <path-to-directory>

例子:

$ miniserve /home/sk/ostechnix/
miniserve v0.2.0
Serving path /home/sk/ostechnix at https://[::]:8080, https://localhost:8080
Quit by pressing CTRL-C

现在,您可以使用 URL 从本地系统本身访问共享 – https://localhost:8080 和/或来自带有 URL 的远程系统 – https://:8080.

提供单个文件:

$ miniserve <path-to-file>

例子:

$ miniserve ostechnix/file.txt

使用用户名和密码提供文件/文件夹:

$ miniserve --auth joe:123 <path-to-share>

绑定多个接口:

$ miniserve -i 192.168.225.1 -i 10.10.0.1 -i ::1 -- <path-to-share>

如您所见,我只给出了 5 种方法。 但是,本指南末尾的链接中提供了更多方法。 也去测试一下。 此外,请不时添加书签并重新访问它,以检查将来是否有任何新添加到列表中。

参考: