使用 Curl 命令下载文件:综合指南

2023-10-24

本教程深入探讨使用以下命令下载文件的方法卷曲命令.

我们将介绍 HTTP 下载、安全 HTTPS 传输、使用 FTP 服务器的基础知识,甚至浏览分段下载和速度调整等高级功能。

 

 

下载到标准输出

如果您使用不带任何标志的curl命令,它会将下载内容直接发送到标准输出。


curl http://example.com/sample.txt
  

该命令将显示以下内容sample.txt直接在您的终端中。

您可以利用 Unix 管道的强大功能立即处理数据。例如,要在文件中搜索特定术语而不下载它:


curl http://example.com/sample.txt | grep "search_term"  

 

下载并保存到文件

当您想要从使用 HTTP 协议的网站下载文件时,curl 命令使这一切变得简单。下面的简单结构允许您将文件直接获取到您的计算机。


curl -O http://example.com/sample.zip
  

该命令获取文件sample.zip from http://example.com并将其保存在当前目录中。这-Oflag 指示curl 使用其原始名称保存文件。

 

验证/绕过 SSL 证书

如果您想确保服务器的证书有效或在确定来源时选择绕过验证。

使用 –cacert


curl --cacert /path/to/cacert.pem -O https://secure-example.com/file.zip
  

此命令从安全的 HTTPS 站点获取文件,同时确保根据给定的证书文件验证服务器的证书/path/to/cacert.pem.

使用--不安全


curl --insecure -O https://secure-example.com/file.zip
  

通过使用--insecure标志,curl 绕过证书验证过程。

尽管这在内部网络等特定情况下很有用,但它存在潜在风险,应谨慎使用。

 

从 FTP 服务器下载

要从 FTP 服务器下载文件,请使用:


curl -O ftp://ftp.example.com/path/to/file.zip  

如果 FTP 服务器需要用户名和密码,请在 URL 中提供或使用-u flag:


curl -O ftp://username:password@ftp.example.com/path/to/file.zip  

Or:


curl -u username:password -O ftp://ftp.example.com/path/to/file.zip  

FTP 以两种模式运行:主动模式和被动模式。默认情况下,curl使用被动模式。如果您需要强制执行活动模式,请使用--ftp-port option:


curl --ftp-port - -O ftp://ftp.example.com/path/to/file.zip  

在这种情况下,后面的“-”--ftp-port tells curl选择适当的本地端口号。

 

确定文件大小

出于多种原因,在下载之前确定文件的大小至关重要:为了确保足够的磁盘空间、执行分段下载,或者只是为了了解下载持续时间。

您可以使用-I标志发送头请求以仅获取标头而不下载文件。


curl -I http://example.com/largefile.zip | grep Content-Length  

在回应中,Content-Lengthheader 指示文件的大小(以字节为单位)。

 

范围和部分下载

您可以使用-r or --range下载文件的特定部分:


curl -O http://example.com/sample.mp3 -r 10000-50000
  

The -rflag 允许您指定字节范围,确保仅下载文件的该部分。

在此示例中,字节 10,000 到 50,000sample.mp3文件已获取。

 

分段下载

也称为多连接或多部分下载,涉及将文件拆分为多个部分并分别下载这些部分。

While curl本身不支持分段下载,您仍然可以使用手动实现curl稍加努力。

首先,您需要知道文件的总大小(以字节为单位)。使用curl-I标记为仅获取标头,就像我们上面所做的那样:


curl -I http://example.com/largefile.zip | grep Content-Length  

然后将文件分成段:

假设文件大小为3000字节,您想分3段下载。您的细分将是:

  • 0-999字节
  • 1000-1999字节
  • 2000-2999字节

接下来,使用下载每个片段-r or --range:


curl -r 0-999 -o segment1 http://example.com/largefile.zip
curl -r 1000-1999 -o segment2 http://example.com/largefile.zip
curl -r 2000-2999 -o segment3 http://example.com/largefile.zip  

下载后,您可以组合这些片段来重建原始文件:


cat segment1 segment2 segment3 > combinedfile.zip  

 

顺序下载多个文件

当您要从服务器下载多个文件时,curl 可以通过单个命令处理所有文件,从而使该过程高效且有组织。


curl -O http://example.com/file1.zip -O http://example.com/file2.zip
  

通过链接-O标志后跟 URL,您指示curl 将这些文件中的每一个下载到当前目录。

如果文件中存储了多个 URL,则可以使用以下命令下载所有 URL:


xargs -n 1 curl -O < urls.txt  

Here, urls.txt每行应该有一个 URL。

连续下载文件会花费很多时间,因为文件是一个接一个下载的。

为了加快速度,curl 可以使用并行下载文件--parallel flag.

 

同时下载多个文件

您可以使用--parallel同时下载多个 URL 的标志:


curl --parallel -O http://example.com/file1.zip -O http://example.com/file2.zip  

在这里,两者file1.zip and file2.zip将同时下载。

这可以显着加快传输过程,特别是在处理多个小文件或服务器限制每个连接的速度时。

默认情况下,curl将尝试并行下载最多 50 个 URL。但是,如果您想调整它以适合您的带宽或服务器的功能。来了parallel-max flag.

Note:确保您的版本curl支持--parallel选项因为--parallel版本 7.66.0 中的选项。

 

设置最大同时传输数

如果您同时处理大量下载,您可以设置限制以避免潜在的网络或资源限制。


curl --parallel --parallel-max 3 -O http://example.com/file1.zip -O http://example.com/file2.zip -O http://example.com/file3.zip
  

使用--parallel-maxflag后面跟一个数字,可以限制最大同时传输数。在此示例中,curl 将其限制为 3。

 

恢复中断的下载

如果您的下载因任何原因损坏或中断,您无需重新开始。您可以从上次中断的地方继续。


curl -C - -O http://example.com/largefile.zip
  

The -C -标志通知curl从中断处继续下载,以防中断。

这对于不可靠的网络连接特别有用。

手动指定恢复点

如果知道下载中断的字节数。您可以使用以下命令手动指定-C option:


curl -C 50000 -O http://example.com/largefile.zip  

在此示例中,下载将从字节 50000 开始恢复。

完成中断的下载后,始终确保文件完整性。许多网站在下载链接旁边提供 MD5、SHA-1 或 SHA-256 哈希值。

您可以使用类似的工具md5sum, sha1sum, or sha256sum根据提供的哈希值验证下载文件的完整性。

Note:如果服务器不支持字节范围或部分请求,请使用-C选项不会产生任何影响,下载将从头开始。

 

在背景下载

开始一个curl在后台下载,您可以使用&命令末尾的符号:


curl -O http://example.com/largefile.zip &  

这将启动下载,但立即将控制权返回给终端。

要检查后台作业的状态,请使用jobs命令。

这将显示与您的终端会话关联的所有当前后台任务。

如果您需要将下载返回到前台,也许是为了详细检查其进度或优雅地停止它,请使用fg命令。

跑步时curl在后台,重定向其输出是一个好习惯,特别是当您期待错误消息时。


curl -O http://example.com/largefile.zip > download.log 2>&1 &  

在这里,标准输出和错误消息都被重定向到download.log.

如果您想继续下载并关闭终端,请使用nohup确保下载继续:


nohup curl -O http://example.com/largefile.zip &  

The nohup命令确保curl即使终端关闭后操作仍会继续。

 

设置下载速度限制

为了避免占用网络资源,您应该限制下载速度。


curl --limit-rate 200K -O http://example.com/largefile.zip
  

The --limit-rate标志后跟速度(例如,200K每秒 200 KB)设置下载速度限制。

The --limit-rate选项支持各种速度单位:

  • K or k千字节。
  • M or m兆字节
  • G or g千兆字节
  • 您也可以仅指定以字节为单位的速率,而无需任何单位。

curl --limit-rate 1M -O http://example.com/largefile.zip  

这将下载速度限制为每秒 1 兆字节。

 

处理缓慢/停滞的下载

如果下载速度在指定持续时间内下降到某个阈值以下,您可能需要中止传输。这对于检测停滞的连接很有用。

我们有两个标志可以让我们控制这个:

--speed-limit <rate>:这设置了传输速度(以每秒字节数为单位),传输应在指定时间内高于该速度才能继续传输。

--speed-time <seconds>:设置时间,以秒为单位,传输速度应低于指定的速度--speed-limit传输被认为太慢并因此中止。


curl --speed-time 30 --speed-limit 1000 -O http://example.com/largefile.zip
  

在此示例中,如果下载速率低于 1000 字节/秒达 30 秒,curl 将停止下载。

 

出错时重试

网络问题或服务器错误有时会中断下载。可以将curl设置为自动重试,而不是手动重新启动下载。


curl --retry 5 --retry-max-time 120 --retry-delay 10 --retry-all-errors -O http://example.com/file.zip
  

Here:

  • --retry 5指示curl重试最多5次。
  • --retry-max-time 120设置卷曲重试应花费的总时间(以秒为单位)。
  • --retry-delay 10设置重试之间的延迟为 10 秒。
  • --retry-all-errors使curl 重试所有错误,而不仅仅是暂时性错误。

 

处理下载过程中 VPN 断开连接

使用 VPN 连接时,临时断开连接可能会中断您的下载。虽然curl不直接处理VPN重新连接,但使用重试选项可以在这种情况下提供帮助。


curl --retry 5 --retry-max-time 120 -O http://example.com/file.zip
  

重试标志使curl能够应对较小的连接问题,让您的VPN有机会重新连接并恢复操作。

 

从受密码保护的 URL 下载文件

为了避免在命令行历史记录或脚本中暴露密码,您可以使用curl以提示您输入密码的方式:


curl -u username --prompt -O http://example.com/protectedfile.zip  

Here, curl会要求您以交互方式输入密码。

如果您经常访问受密码保护的资源,则重复输入凭据可能会很麻烦。这.netrc文件是存储这些的一种方式。创建一个.netrc您的主目录中的文件:


touch ~/.netrc  

按以下格式添加凭据:


machine example.com
login username
password yourpassword  

然后,使用curl没有指定-u option:


curl --netrc -O http://example.com/protectedfile.zip  

Note:始终确保您的.netrc文件权限设置为 600 (chmod 600 ~/.netrc)以防止未经授权的访问。

Note:始终确保通过安全通道(最好是 HTTPS)传输敏感凭据。

 

使用代理

下载文件时使用代理curl,您可以使用-x or --proxy option:


curl -x http://proxyserver:port -O http://example.com/file.zip  

如果代理需要身份验证,您可以使用提供凭据-U or --proxy-user option:


curl -x http://proxyserver:port -U username:password -O http://example.com/file.zip  

curl支持HTTP、HTTPS、SOCKS4、SOCKS5等多种代理协议。要指定代理协议,请将其包含在代理字符串中:


curl -x socks5://proxyserver:port -O http://example.com/file.zip  

如果您经常使用同一个代理,则可以设置环境变量。对于 HTTP 代理,您可以设置:


export http_proxy=http://proxyserver:port  

curl将自动使用此代理来处理所有后续请求。记得还要设置https_proxy.

 

显示下载进度条

下载过程中的视觉反馈有助于衡量进度。为此,Curl 可以提供进度条。


curl -# -O http://example.com/largefile.zip
  

The -#flag 指示curl 显示进度条而不是默认统计信息。

Use the -s or --silent静音所有进度指示器的选项:


curl -s -O http://example.com/largefile.zip  

如果您想要有关下载的详细信息而不是进度条,您可以将静默模式与详细模式结合起来:


curl -s -v -O http://example.com/largefile.zip  

Note:使用详细模式时请务必小心,尤其是对于受密码保护的 URL。

详细模式将显示所有发送的标头,这将在控制台中暴露敏感数据。

 

根据修改时间下载文件

同步文件时,仅获取自特定日期以来已更改的文件非常有用。

The --time-cond后跟日期的标志可确保仅在指定日期之后修改文件时才下载该文件。


curl -O http://example.com/file.zip --time-cond "2023-08-22"  

为了实现自动化,请将本地文件的时间戳与远程文件进行比较:


curl --time-cond localfile.zip -O http://example.com/file.zip  

在这种情况下,curl检查“localfile.zip”的最后修改时间,如果是则仅下载远程文件newer.

要下载的文件older 比指定的日期,在日期前加上前缀-:


curl -O http://example.com/file.zip --time-cond "-2023-08-22"  

此命令仅在文件被修改时才获取该文件before 给定的日期和时间。

 

调整连接超时

为了更好地控制连接,您可以设置curl 在放弃建立连接之前应等待的时间。


curl --connect-timeout 10 -O http://example.com/file.zip
  

The --connect-timeoutflag 设置curl 尝试连接所花费的最长时间(以秒为单位)。

 

设置最大时间限制

While --connect-timeout仅适用于连接阶段,--max-time限制了整个操作的总时间。

为了防止下载时间过长,您可以设置时间上限。


curl --max-time 300 -O http://example.com/largefile.zip
  

Here, curl如果整个操作(连接+下载)时间超过 300 秒,将会中止。

 

停止卷曲消毒

默认情况下,curl将清理 URL。例如,如果你给curlURL“http://example.com/../test/file.txt”,它将去掉“..”序列并从 URL 中请求“http://example.com/test/file.txt”服务器。

您可以使用--path-as-is如果你想让curl请求一个URL而不清理或修改它。


curl --path-as-is -O http://example.com//directory/../file.zip
  

The --path-as-is标志确保curl不会清理或改变提供的路径。

Note:避免 URL 清理可能会暴露潜在的安全问题,特别是当您与不受信任的服务器或站点交互时。

如果您是开发人员或安全研究人员并且想要测试您的服务器或应用程序如何响应未经净化的 URL,这非常有用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Curl 命令下载文件:综合指南 的相关文章

  • 使用 libjpeg 编写 jpeg(段错误)

    尝试使用 libjpeg 从一些原始数据写入 jpeg 文件 它会触发分段错误jpeg start compress 这是代码的相关部分 void write sub image char filename int start int en
  • 如何从纯文本中查找键值存储中的值

    给定一个纯文本文件 其中包含 FOO foo BAR bar BAZ baz 我们如何grep使用键获取值 Use a 向后看 https regex101 com r q3FNpe 1 grep Po lt FOO w file foo
  • 执行 grails/groovy 时,Linux 上没有可用的控制台输出

    当执行 groovy 脚本或 grails 应用程序时 没有可用的输出 输入 gt 只有一个清晰的控制台屏幕 即使不启动 X Window System 输出也是不可见的 我也尝试过 grailscompile plain output 也
  • Eclipse CDT 内置包含目录

    Under Eclipse CDT gt Project Settings gt C C General gt Paths and Symbols gt Includes gt GNU C 有一个包含路径的列表 有些是粗体的并且是特定于项目
  • 如何在命名管道 (mkfifo) 上执行非阻塞 fopen?

    如果我有一个程序使用 mkfifo 创建并尝试打开命名管道 如何在不阻塞的情况下打开管道进行读取或写入 具体来说 我正在编写一个 C 程序 它可以在有或没有 GUI 的情况下运行 用 Java 编写 在 C 程序中 我使用 mkfifo 成
  • 使用 java.nio.Files 更改 Linux 下的文件所有者组

    我有一台 Linux 服务器 并且正在 Java 中为服务器上的多个网站运行图像调整大小作业 网站文件由不同的操作系统用户 组拥有 新创建的缩略图 预览由运行调整大小作业的用户拥有 现在我正在谷歌搜索如何在调整大小程序中更改新创建的预览 缩
  • 使用curl复制本地文件[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有办法用curl复制本地文件 我需要它作为cp命令的替代品 这有点奇怪 但我正在一个 cp 不可用的环境中工作 你可以说 curl o
  • 使用“touch”创建目录? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 1 在 A 目录中 find type f gt a txt 2 在 B 目录中 cat a txt while read FILENAMES do
  • 汇编语言中的全局_start是什么?

    这是我的汇编级代码 section text global start start mov eax 4 mov ebx 1 mov ecx mesg mov edx size int 0x80 exit mov eax 1 int 0x80
  • 如何使用AWK从文件中连续输出行

    我有一个多行文件 我想连续输出文件的某些行 比如第一次 从第1行打印到第5行 下次 打印第2行到第6行 依此类推 我发现 AWK 是一个非常有用的函数 我尝试自己编写代码 但它什么也没输出 以下是我的代码 bin bash for n in
  • 堆内存和Slab分配

    我很困惑heap and free list 我有几个问题 我对C中malloc的工作原理有自己的理解 如果我错了 请纠正我 堆内存是否被组织为数据的链表 空闲列表 块 堆内存和空闲列表有区别吗 我对存储分配的理解 有待改进 当我们调用ma
  • 专门逐行调试

    我有一个用 Pascal 编写的脚本 我会以这种方式调试它 在每一行停止 转储内存中所有变量的值 然后转到下一行 是否可以使用 gdb 或其他 Linux 开源工具来完成此操作 使用选项编译文件 g fpc gpc g file pas R
  • 让子进程等待直到收到父进程的信号

    我想从父级创建 N 个子级 我希望所有的孩子同时开始 一个功能 测量时间 因此 我将该函数放入信号处理程序中 当父级完成创建 分叉 所有子级时 它会向所有子级发送信号 使用kill children id 以让 make 开始 代码如下 但
  • VS Code 不会构建具有多个 .cpp 源文件的 C++ 程序

    请注意 我在 Ubuntu 17 10 上使用 VS Code 并使用 GCC 编译器 我在构建一个使用附加 cpp 文件的简单程序时遇到问题 我可能在这里遗漏了一些明显的东西 因为我对编程相当陌生 但我会解释到目前为止我所做的事情 这阻止
  • 在 Alpine Docker 容器上安装 OpenSSH

    第一次运行 alpine docker 容器并尝试 openssh 安装时 会发生以下情况 ole T docker run it rm alpine bin ash apk add openssh WARNING Ignoring APK
  • 如何在带有空格的目录上使用 find ?

    这里有一些奇怪的事情 mkdir p 1 2 3 4 touch 1 2 3 4 file jpg for f in find type f name jpg do echo f done 这返回 1 2 3 4 file jpg and
  • FLTK 1.4 小部件位置 w.r.t. X11 根窗口?

    context 我正在和其他人一起编码参考系统 http refpersys org C 17 上的 GPLv3 项目gitlab https gitlab com bstarynk refpersys适用于 GNU Linux x86 6
  • 系统调用:sys_exit()、SYS_exit 和 exit() 之间的区别

    SYS exit sys exit 和 exit 之间有什么区别 我的理解是 Linux内核提供了系统调用 这些调用在man 2 syscalls 这些系统调用的包装函数由glibc它们的名称与系统调用大多相似 我的问题 在man 2 sy
  • Linux 中如何确定哪个进程正在使用某个端口

    我目前正在其默认端口上运行 RethinkDB 因为如果我将浏览器指向localhost 8080我看到 RethinkDB Web 界面 我想关闭 RethinkDB 并使用以下命令在另一个端口上重新打开它 port offset争论 然
  • Plink 通过 C# 返回不需要的字符

    通过 C 使用 Plink 时 我在结果前后收到不需要的字符 Command ls l informatica tgtdynamicparams out grep vaulttest grep Sep 1 awk print 9 sort

随机推荐

  • 如何使用SCP命令安全传输文件

    SCP 安全复制 是一个命令行实用程序 允许您在两个位置之间安全地复制文件和目录 With scp 您可以复制文件或目录 从本地系统到远程系统 从远程系统到本地系统 在本地系统的两个远程系统之间 当传输数据时scp 文件和密码都经过加密 因
  • 如何在 CentOS 7 上安装 VMware Workstation Player

    VMware是一个成熟稳定的虚拟化解决方案 允许您在一台机器上运行多个独立的操作系统 您可以创建自己的虚拟机并评估许多软件供应商作为虚拟设备分发的软件 这些软件可从VMware 解决方案交流 本教程将指导您完成在 CentOS 7 上安装
  • 如何在 Ubuntu 18.04 上安装 Java

    Java 是世界上最流行的编程语言之一 用于构建不同类型的跨平台应用程序 本教程介绍如何在 Ubuntu 18 04 上安装各种版本的 OpenJDK 以及 Oracle Java 相同的说明适用于 Ubuntu 16 04 和任何基于 U
  • 如何在 Ubuntu 18.04 上安装 Apache Cassandra

    Apache Cassandra 是一个免费的开源 NoSQL 数据库 不存在单点故障 它提供线性可扩展性和高可用性 而不会影响性能 Apache Cassandra 被许多组织使用 包括 Apple NetFlix eBay 和 Easo
  • Linux 中的超时命令

    timeout是一个命令行实用程序 它运行指定的命令 并在给定时间段后终止该命令 如果该命令仍在运行 换句话说 timeout允许您运行有时间限制的命令 这timeout命令是 GNU 核心实用程序包的一部分 几乎所有 Linux 发行版上
  • 如何在 CentOS 7 上添加交换空间

    交换空间是磁盘上的空间 当物理 RAM 内存已满时使用 当 Linux 系统耗尽 RAM 时 非活动页面将从 RAM 移至交换空间 交换空间可以采用专用交换分区或交换文件的形式 在大多数情况下 当在虚拟机上运行 CentOS 时 不存在交换
  • 如何在 Ubuntu 18.04 上设置 Apache 虚拟主机

    在本教程中 我们将提供有关如何在 Ubuntu 18 04 上设置 Apache 虚拟主机的分步说明 Apache 虚拟主机允许您在一台计算机上运行多个网站 使用虚拟主机 您可以指定站点文档根目录 包含网站文件的目录 为每个站点创建单独的安
  • 如何在 Ubuntu 20.04 上安装和配置 VNC

    虚拟网络计算 VNC 是一种图形桌面共享系统 允许您使用键盘和鼠标远程控制另一台计算机 它是 Microsoft 的开源替代品远程桌面协议 RDP 本文介绍如何在 Ubuntu 20 04 上安装和配置 VNC 服务器 我们还将向您展示如何
  • 如何在 Ubuntu 18.04 上禁用防火墙

    Ubuntu 附带了一个名为 UFW 简单防火墙 的防火墙配置工具 UFW 是一个用户友好的前端 用于管理 iptables 防火墙规则 其主要目标是使管理防火墙规则更容易 或者顾名思义 不复杂 强烈建议保持防火墙启用 但是 在某些情况下
  • 如何在 Debian 9 上安装 Jenkins

    Jenkins是一个开源自动化服务器 提供了一种设置持续集成和持续交付 CI CD 管道的简单方法 持续集成 CI 是一种 DevOps 实践 团队成员定期将代码更改提交到版本控制存储库 然后运行自动化构建和测试 持续交付 CD 是自动构建
  • 如何在 Debian 10 上配置 MySQL (MariaDB) 主从复制

    MySQL 复制是将数据从一台数据库服务器 主服务器 复制到一台或多台服务器 从服务器 的过程 MySQL 支持多种复制拓扑 其中主 从拓扑是最著名的拓扑之一 其中一台数据库服务器充当主服务器 而一台或多台服务器充当从服务器 默认情况下 复
  • 如何在 Ubuntu 18.04 上安装 Ghost

    Ghost 是一个构建在 Node js 平台之上的现代源代码发布平台 它完全可定制且易于使用 使您可以以几乎零的学习曲线发布内容 在本教程中 我们将向您展示如何使用 Nginx 作为代理 免费的 Let s Encrypt SSL 证书
  • 使用 NumPy 范数计算向量和矩阵范数

    在线性代数中 范数是为向量空间中的每个向量分配严格正的长度或大小的函数 它是矢量大小的度量 从数学上来说 对于一个向量x the p 范数定义为 x p sum xi p 1 p 在本教程中 我们将使用numpy linalg norm f
  • 在 Pandas query() 中使用字符串方法:数据帧过滤

    The Pandas 中的 query 方法允许您过滤数据帧 并且当与字符串方法结合使用时 可能性变得广泛 在本教程中 您将学习如何在query 功能来细化和过滤数据 目录 hide 1 检查子字符串 str contains 2 str
  • Seaborn histplot(用直方图可视化数据)

    Seaborn 是最广为人知的数据可视化库之一 运行在Matplotlib 通过 Seaborn 我们可以渲染各种类型的绘图 并提供简单 直观且高度可定制的 API 来生成数据可视化 如果没有丰富的可视化 就很难理解数据并与数据进行交流 想
  • Kivy 教程 – 使用 Python 构建桌面 GUI 应用程序

    Kivy 是一个开源 Python 库 您可以使用它在 Windows Linux macOS Android 和 iOS 上创建应用程序 我们将讨论如何使用 Kivy 按钮 标签 回收视图 滚动视图 Kivy Canvas 和其他小部件来
  • NumPy 矩阵乘法(从理论到实际示例)

    矩阵乘法是线性代数中的基本运算 它采用一对矩阵并产生另一个矩阵 用数学术语来说 给定两个矩阵 A 和 B 乘积 AB 是通过 A 的行与 B 的列的点积来计算的 本教程旨在深入了解矩阵乘法NumPy 目录 hide 1 逐元素与矩阵乘法 2
  • Python相关矩阵教程(使用Pandas)

    在本博客中 我们将介绍一个重要的多变量数据描述性统计量 称为相关矩阵 我们将学习如何在 Python 中使用以下命令创建 绘制和操作相关矩阵Pandas 我们将讨论以下主题 目录 hide 1 What is the correlation
  • Shell 脚本编写分步教程

    在本教程中 我们将讨论 shell 脚本以及如何制作第一个 shell 脚本 它们通常被称为 shell 脚本 但我们将它们称为 Bash 脚本 因为我们将在其他 Linux shell 中使用 Bash 有 zsh tcsh ksh 和其
  • 使用 Curl 命令下载文件:综合指南

    本教程深入探讨使用以下命令下载文件的方法卷曲命令 我们将介绍 HTTP 下载 安全 HTTPS 传输 使用 FTP 服务器的基础知识 甚至浏览分段下载和速度调整等高级功能 目录 hide 1 下载到标准输出 2 下载并保存到文件 3 验证