2020.09.03 03:05

How to Install and Use wget on Mac

조회 수 377 댓글 0
첨부 '4'


Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄


Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄


wget is a non-interactive command-line utility for download resources from a specified URL. Because it is non-interactive, wget can work in the background or before the user even logs in. The program was designed especially for poor connections, making it especially robust in otherwise flaky conditions. While wget isn’t shipped with macOS, it can be easily downloaded and installed with Homebrew, the best Mac package manager available.

1. Download and Install Homebrew


To install Homebrew, open a Terminal window and execute the following command taken from Homebrew’s website:

Install Homebrew

mac:~ hooni$ /usr/bin/ruby -e "$(curl -fsSL"
mac:~ hooni$ brew update
mac:~ hooni$ brew doctor

You might notice the command called curl, which is a different command-line utility for downloading files from a URL that ships within the Ruby installation included on macOS.

2. Installing wget

Once it has completed installing itself, we will use Homebrew to install wget. In Terminal, run the following command to download and install wget:

Install wget

mac:~ hooni$ brew install wget

You’ll get live updates on the progress of downloading and installing whatever dependencies (software prerequisites) are required to run wget on your system.

If you already have Homebrew installed, be sure to run brew update to get the latest copies of all your formulae.

3. Using wget


The purpose of wget is downloading content from URLs. It’s a quick and simple non-interactive tool for downloading files from any publicly accessible URL.

Download a single file

Like the similar command curl, wget takes a remote resource from a URL and saves it to a specified location on your computer. The command’s structure works like so:

mac:~ hooni$ wget -O path/to/local.copy

That will save the file specified in the URL to the location specified on your machine. If the -O flag is excluded, the specified URL will be downloaded to the present working directory.

Download a directory recursively

To download an entire directory tree with wget, you need to use the -r/--recursive and -np/--no-parent flags, like so:

mac:~ hooni$ wget -e robots=off -r -np

This will cause wget to follow any links found on the documents within the specified directory, recursively downloading the entire specified URL path.

That command also includes -e robots=off, which ignores restrictions in the robots.txt file. In general, it’s a good idea to disable robots.txt to prevent abridged downloads.

Other wget Flags

In addition to the flags above, this selected handful of wget’s flags are the most useful:

Controlling the download

  • wget -X /absolute/path/to/directory will exclude a specific directory on the remote server.
  • wget -nH removes the hostname directories. Remember, the hostname is the part of the URL that contains the domain name and ends in a TLD like “.com.” For example, the folder named “” in our previous example would be skipped, starting the download with the “History” directory instead.
  • wget --cut-dirs=# skips the specified number of directories down the URL before starting to download files. For example, -nH --cut-dirs=1  would change the specified path of “” into simply “/xemacs/,” reducing the number of empty parent directories in the local download.
  • wget -R index.html/wget --reject index.html will skip any files matching the specified file name. In this case it will exclude all the index files. The * character can be used as a wildcard, like “*.png,” which would skip all files with the PNG extension.
  • wget -i file specifies target URLs from an input file. The input file must be an HTML file or be parsed as HTML with the additional flag --force-html
  • wget -nc/wget --no-clobber will not overwrite files that already exist in the destination.
  • wget -c/wget --continue will continue downloads of partially downloaded files.
  • wget -t 10 will try to download the resource up to 10 times before failing.

Adjusting the level of logging

  • wget -d enables debugging output.
  • wget -o path/to/log.txt enables logging output to the specified directory instead of displaying the log-in standard output.
  • wget -q turns off all of wget’s output, including error messages.
  • wget -v explicitly enables wget’s default of verbose output.
  • wget --no-verbose turns off log messages but displays error messages.


While that should cover the majority of wget use cases, the downloader is capable of much more. For a full description of wget’s capabilities, you can review wget’s GNU man page online.



List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
1159 Develop [vim] vim 명령으로  문자 제거하기 (remove 65279 bomb) hooni 2021.02.03 279
1158 Develop [js] show/hide 이벤트 감시 (Observing show/hide event) hooni 2021.02.03 300
1157 Develop [swift] popToRoot 모달뷰, 네비게이션컨트롤러 한꺼번에 닫기 file hooni 2021.01.29 344
1156 Develop [swift] NotificationCenter 간단 예제 file hooni 2021.01.27 299
1155 Develop [kotlin] 코틀린 안드로이드 앱 버전/빌드 정보 hooni 2020.12.15 203
1154 Develop [ubuntu] 우분투 18.04에 PHP5 설치하기 hooni 2020.11.14 246
1153 System/OS [펌] 마이크로서비스, 모노리포, SRE, ... 덮어놓고 구글 따라하면 안 되는 기술들 file hooni 2020.10.15 377
1152 Develop [js] Text 값을 클립보드에 복사하기 hooni 2020.10.10 269
1151 System/OS Apache CORS 설정 1 hooni 2020.09.04 855
» System/OS How to Install and Use wget on Mac file hooni 2020.09.03 377
1149 System/OS [mac] VirtualBox 실행 스크립트와 bash_profile 설정 file hooni 2020.07.08 481
1148 System/OS [linux] wget 명령 사용 예제 hooni 2020.05.26 642
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 97 Next
/ 97