局域网快速传输文件

使用Python命令

使用 python -m http.server 8080 命令可以快速启动一个简单的 HTTP 服务器,能够在本地共享文件。这对于快速共享文件或在本地测试网页非常有用。

以下是使用该命令传输文件的基本步骤:

  1. 在终端中运行命令:

    打开终端(命令行界面),然后输入以下命令并按 Enter 键运行:

    1
    python -m http.server 8080

    这将启动一个 HTTP 服务器,监听本地的 8080 端口。

  2. 将文件放入要共享的目录:

    将想共享的文件放入一个目录中,该目录将成为 HTTP 服务器的根目录。默认情况下,该目录是运行命令的当前工作目录。

  3. 通过浏览器访问文件:

打开浏览器并输入 http://localhost:8080http://127.0.0.1:8080,然后浏览服务器根目录中的文件并下载它们。

如果要共享特定文件夹中的文件,可以在命令中指定该文件夹,例如:

1
python -m http.server 8080 --directory /path/to/your/folder

替换 /path/to/your/folder 为要共享的文件夹的实际路径。

  1. 关闭服务器:

    在终端中,按 Ctrl + C 来停止服务器。

使用PHP命令

要在局域网中快速传输文件并使用 PHP 的内置 Web 服务器 (php -S),按以下步骤进行:

  1. 创建文件传输目录:首先,在计算机上创建一个文件目录,用于存放要传输的文件。

  2. 进入文件传输目录:打开终端或命令提示符,使用 cd 进入文件目录,例如:

    1
    cd /文件目录的路径
  3. 启动 PHP 内置 Web 服务器:使用以下命令启动 PHP 内置 Web 服务器,监听指定端口(如 8000):

    1
    php -S 0.0.0.0:8000

    这会在所有网络接口 (0.0.0.0) 上的端口 8000 启动一个 Web 服务器。可以选择其他端口,确保没有其他服务使用。

  4. 查找本机 IP 地址:使用以下命令查找计算机在局域网中的 IP 地址:

    • 在 Linux/macOS 终端,使用 ifconfig 命令:
      1
      ifconfig
    • 在 Windows 命令提示符,使用 ipconfig 命令:
      1
      ipconfig

    查找网络接口(通常是 Wi-Fi 或以太网)的 IP 地址。

  5. 局域网中访问:现在,其他设备可以通过浏览器访问计算机的 IP 地址,添加 :8000(如果使用 8000 端口)。例如,如果计算机的 IP 地址是 192.168.1.100,其他设备可以在浏览器中输入 http://192.168.1.100:8000

  6. 文件上传和下载:其他设备访问 Web 服务器后,可以上传或下载文件。你可以提供文件上传/下载页面或直接提供下载链接。

确保计算机和其他设备可以相互访问,小心处理敏感文件,确保开放 Web 服务器不会引发安全风险。在生产环境中,可能需要更多安全措施,如基本身份验证、SSL 加密等。

不落地执行脚本

在内存中执行脚本

要在不将 shell 脚本落地到磁盘上的情况下执行它,可以使用标准输入(stdin)传递脚本内容给 shell 解释器。这样,脚本内容不会写入磁盘,而是直接从 stdin 读取并执行。以下是一种方法:

1
echo 'Your shell script content here' | bash

'Your shell script content here' 替换为实际脚本内容。

例如,如果有一个简单的 shell 脚本,如 myscript.sh

1
2
#!/bin/bash
echo "Hello, world!"

可以通过以下方式执行它而不将其保存到磁盘上:

1
2
3
echo '#!/bin/bash' > myscript.sh
echo 'echo "Hello, world!"' >> myscript.sh
bash < myscript.sh

这将在不创建 myscript.sh 文件的情况下执行脚本。

需要注意的是,这种方法仅适用于较小的脚本。对于更大的脚本或需要多次执行的脚本,最好将其保存到磁盘上以便管理和维护。

从网络上获取脚本

要从网络上获取脚本并在不将其落地到本地磁盘的情况下执行,可以使用 curlwget 命令结合管道(pipe)来直接将脚本下载并传递给解释器。以下是一些示例:

使用 curl

1
curl -sSL https://example.com/script.sh | bash

这将从指定的 URL 下载 script.sh 并立即执行它。 -s 标志用于静默模式, -S 标志用于在下载期间显示进度, -L 标志用于自动遵循重定向。

使用 wget

1
wget -qO- https://example.com/script.sh | bash

这将执行与上述 curl 命令相同的操作。 -q 标志用于安静模式, -O- 标志用于将下载的内容发送到标准输出。

需要注意的是,这种方式存在一些安全风险,因为我正在从网络上下载并执行脚本。如果我不信任脚本源,可能会有潜在的安全问题。确保只从受信任的源下载脚本,避免执行不信任的脚本。

另外,如果我要执行的脚本不是 Shell 脚本,而是其他类型的脚本(如 Python、Perl 等),可以将相应的解释器替换为 bash,例如:

1
curl -sSL https://example.com/script.py | python

这将下载 Python 脚本并用 Python 执行它。同样,确保只从受信任的源下载脚本。