Skip to content
shellmap

wgetNon-interactive network downloader for HTTP, HTTPS, and FTP across all 5 shells

Equivalents in every shell

Bashunix
wget https://example.com/file.zip
Zshunix
wget https://example.com/file.zip
Fishunix
wget https://example.com/file.zip
PowerShellwindows
Invoke-WebRequest https://example.com/file.zip -OutFile file.zip

In Windows PowerShell 5.1, `wget` is also an alias for `Invoke-WebRequest`. In PowerShell 7+ the alias is removed.

cmd.exewindows
curl -O https://example.com/file.zip

No native wget on Windows. Use `curl` (built-in since Windows 10 1803) or install GNU wget separately.

Worked examples

Download a single file (keep original filename)

Bash
wget https://example.com/file.zip
PowerShell
Invoke-WebRequest https://example.com/file.zip -OutFile file.zip
cmd.exe
curl -O https://example.com/file.zip

Resume a partial download

Bash
wget -c https://example.com/big.iso
PowerShell
Start-BitsTransfer -Source https://example.com/big.iso -Destination big.iso -Resume
cmd.exe
curl -C - -O https://example.com/big.iso

Mirror an entire website

Bash
wget -m -k -p https://example.com
PowerShell
# No direct equivalent — script with Invoke-WebRequest + link extraction, or install GNU wget for Windows.

Gotchas

  • macOS does not ship wget; install via Homebrew (`brew install wget`) or use the built-in `curl -O`.
  • `Start-BitsTransfer` (PowerShell) handles resumable / background downloads better than `Invoke-WebRequest`, but only on Windows.
  • Recursive mirroring (`-m`, `-r`) is a wget specialty — `curl` cannot follow links; reach for `wget` or `httrack` instead.

WSL & PowerShell Core notes

pwshPowerShell Core 7+ removes the `wget` alias. There is still no `wget.exe` shipped with Windows, so `wget` calls on bare Windows pwsh will fail unless you install GNU wget (`winget install wget` or `choco install wget`). On Linux/macOS pwsh, the system `wget` is available unconditionally.
WSLWSL ships GNU `wget`. URLs with `&` and `?` must be single-quoted to survive Linux shell expansion — the same rule as on any other Linux distro. Resumable downloads (`wget -c`) are reliable on Linux-native paths but slower than on Windows-native (`Start-BitsTransfer`) when targeting `/mnt/c/...`.

Common tasks using wget

Related commands