- Как скачивать файлы в Debian с помощью curl и wget в командной строке
- Метод №1 Загрузка файлов с помощью Curl
- Установка Curl
- Общий синтаксис CURL
- Загрузка и сохранение файла с использованием имени исходного файла
- Загрузка и сохранение файла с другим именем
- Скачивание нескольких файлов одновременно
- Загрузка файлов с FTP-сервера
- Загрузка файлов с помощью Wget
- Установка Wget
- Общий синтаксис Wget
- Загрузка и сохранение файла с использованием имени исходного файла
- Загрузка и сохранение файла с другим именем
- Загрузка файлов через FTP
- Загрузка нескольких файлов
- Приостановка и возобновление загрузки
- Рекурсивная загрузка файлов
- Похожие записи:
- 2 Ways to Download Files From Linux Terminal
- Download files from Linux terminal using wget command
- Installing wget
- Download a file or webpage using wget
- Download files with a different name using wget
- Download a folder using wget
- Download an entire website using wget
- Bonus Tip: Resume incomplete downloads
- Download files from Linux command line using curl
- Installing curl
- Download files or webpage using curl
- Download files with a different name
- Pause and resume download with curl
Как скачивать файлы в Debian с помощью curl и wget в командной строке
Работа в командной строке Linux дает вам больше гибкости и контроля по сравнению с графическим интерфейсом. Командная строка имеет множество применений и широко используется в администрировании серверов. Вы можете автоматизировать задачу с помощью командной строки, а также она использует меньше ресурсов, чем графический интерфейс. Загрузка файла с помощью командной строки также проще и быстрее, так как для этого требуется всего одна команда, по сравнению с графическим интерфейсом, который в основном требует длительной процедуры.
В этой статье мы расскажем, как загрузить файл из командной строки Linux с помощью двух различных утилит. Обе утилиты являются бесплатными и предназначены для неинтерактивной загрузки файлов из Интернета. Эти утилиты работают в фоновом режиме, даже когда вы не вошли в систему.
Метод №1 Загрузка файлов с помощью Curl
Curl — это утилита командной строки, которая используется для передачи файлов на сервер и с сервера. Мы можем использовать ее для загрузки файлов из Интернета. Она разработана таким образом, что вы можете запускать ее без участия пользователя. Она поддерживает различные протоколы, включая HTTP, HTTPS, TELNET, SCP, FTP и т.д. По умолчанию он не установлен в ОС Debian. Поэтому его необходимо сначала установить. Для этого выполните следующие шаги:
Установка Curl
Запустите приложение Терминал в Debian. Для этого перейдите на вкладку Деятельность в левом верхнем углу рабочего стола. Затем в строке поиска введите terminal. Когда появится значок Терминала, нажмите на него, чтобы запустить его.
В Терминале введите следующую команду для перехода в учётную запись суперпользователя.
Когда появится запрос на ввод пароля, введите пароль суперпользователя.
Затем выполните следующую команду в Терминале для установки утилиты Curl.
После завершения установки мы можем использовать Curl для загрузки файлов.
Общий синтаксис CURL
Чтобы загрузить файлы с помощью Curl, используйте следующий синтаксис в Терминале:
Используя параметр [options], вы можете указать различные функции, например, сохранить загрузку под определенным именем, возобновить загрузку, указать скорость передачи и многое другое.
Используя параметр [URL], вы можете указать URL удаленного сервера.
Загрузка и сохранение файла с использованием имени исходного файла
Чтобы загрузить и сохранить файл с тем же именем, что и имя исходного файла, используйте следующий синтаксис:
curl -O https://1275.ru/wp-content/uploads/sites/3/2022/09/metador.pdf
Это сохранит скачанный файл как metador.pdf.
Загрузка и сохранение файла с использованием имени исходного файла с помощью curl
Также можно указать «-remote-name» вместо -O, чтобы сохранить файл как имя удаленного файла.
Загрузка и сохранение файла с другим именем
Чтобы загрузить и сохранить файл с именем, отличным от имени исходного файла, используйте следующий синтаксис:
В параметре [имя файла] укажите новое имя для загруженного файла.
curl https://1275.ru/wp-content/uploads/sites/3/2022/09/metador.pdf -o metador_1275.pdf
Это сохранит загруженный файл как metador_1275.pdf.
Скачивание нескольких файлов одновременно
Вместо того чтобы загружать несколько файлов по одному, вы можете загрузить их все одновременно, выполнив одну команду. Для одновременной загрузки нескольких файлов используйте команду -O, за которой следует URL-адрес файла, который вы хотите загрузить.
Для этого используйте следующий синтаксис:
curl -O https://1275.ru/wp-content/uploads/sites/3/2022/09/metador.pdf -O https://1275.ru/wp-content/uploads/sites/3/2022/08/redline-stealer.pdf
Приведенная выше команда загрузит оба файла.
Существует альтернативный способ сделать это. Укажите список URL-адресов в файле, затем используйте команду Curl вместе с xargs в следующем синтаксисе:
Примером этого может быть:
Наш файл files.txt содержит три URL:
Приведенная выше команда Curl загрузит все URL, указанные в файле files.txt.
Загрузка файлов с FTP-сервера
Мы также можем загрузить файлы с FTP-сервера с помощью утилиты Curl. Для этого выполните команду в Terminal, используя следующий синтаксис:
curl -u ftp_user:ftp_pass -O ftp://ftp_url/file_name.zip
Параметры ftp_user и ftp_pass используются для указания учетных данных для входа на FTP. Однако их можно пропустить в случае анонимного FTP-соединения.
Загрузка файлов с помощью Wget
Подобно Curl, существует еще одна утилита командной строки Wget, которую можно использовать для загрузки файлов и контента из Интернета. Wget — это сочетание слов World Wide Web и get. Она поддерживает такие протоколы, как FTP, SFTP, HTTP и HTTPS. Кроме того, он поддерживает рекурсивную загрузку, что очень полезно, если вы хотите загрузить целый сайт для просмотра в автономном режиме или для создания резервной копии статического сайта.
Установка Wget
Если wget еще не установлен в вашей системе, вы можете установить его, выполнив следующие действия:
Запустите приложение Терминал тем же способом, который обсуждался ранее в этой статье. В терминале введите следующую команду для перехода под учетной записью суперпользователя.
Когда появится запрос на ввод пароля, введите пароль суперпользователя.
Затем выполните следующую команду в Терминале для установки утилиты Wget.
Общий синтаксис Wget
Чтобы загрузить файл с помощью Wget, используйте следующий синтаксис:
Загрузка и сохранение файла с использованием имени исходного файла
Использование приведенного выше синтаксиса для загрузки файла без какого-либо аргумента сохранит файл с тем же именем, что и исходный файл. Примером может служить загрузка файла metador.pdf.
wget https://1275.ru/wp-content/uploads/sites/3/2022/09/metador.pdf
Это сохранит загрузку как metador.pdf.
Загрузка и сохранение файла с другим именем
Чтобы загрузить и сохранить файл с именем, отличным от имени исходного файла, используйте следующий синтаксис:
wget -O 1275_metador https://1275.ru/wp-content/uploads/sites/3/2022/09/metador.pdf
Это сохранит загрузку как 1275_metador.
Загрузка файлов через FTP
Чтобы загрузить файлы с FTP-серверов, аутентифицированных пользователем, используйте следующий синтаксис:
wget -u [ftp_user]:[ftp_pass] -O [ftp_URL]
Параметры ftp_user и ftp_pass используются для указания учетной записи FTP. Однако в случае анонимного FTP-соединения их можно пропустить.
Загрузка нескольких файлов
Чтобы загрузить несколько файлов с помощью Wget, создайте текстовый файл со списком URL файлов, а затем используйте следующий синтаксис для загрузки всех файлов одновременно.
Например, мы создали текстовый файл files.txt, который содержит два URL, как показано на рисунке ниже.
Затем мы выполнили следующую команду:
Выполнение приведенной выше команды автоматически загрузит оба URL, содержащихся в файле files.txt.
Приостановка и возобновление загрузки
Чтобы возобновить приостановленную загрузку, перейдите в каталог, в который вы ранее загрузили файл, а затем используйте следующий синтаксис для возобновления загрузки.
Примером может служить возобновление ранее приостановленного файла metador.pdf путем выполнения следующей команды.
wget -c https://1275.ru/wp-content/uploads/sites/3/2022/09/metador.pdf
Рекурсивная загрузка файлов
Wget поддерживает рекурсивную загрузку файлов, что является его основным отличием от Curl. Функция рекурсивной загрузки позволяет скачивать все, что находится в указанном каталоге.
Чтобы рекурсивно загрузить веб-сайт или FTP-сайт, используйте следующий синтаксис:
В качестве примера можно привести загрузку следующего сайта целиком.
Итак, в этой статье мы познакомились с двумя различными неинтерактивными утилитами командной строки, которые позволяют загружать файлы непосредственно из командной строки. Обе утилиты очень полезны и служат для одинаковых целей. Я надеюсь, что они будут полезны, когда вам понадобится скачать файл из Интернета.
Похожие записи:
2 Ways to Download Files From Linux Terminal
If you are stuck to the Linux terminal, say on a server, how do you download a file from the terminal?
There is no download command in Linux but there are a couple of Linux commands for downloading file.
In this terminal trick, you’ll learn two ways to download files using the command line in Linux.
I am using Ubuntu here but apart from the installation, the rest of the commands are equally valid for all other Linux distributions.
Download files from Linux terminal using wget command
wget is perhaps the most used command line download manager for Linux and UNIX-like systems. You can download a single file, multiple files, an entire directory, or even an entire website using wget.
wget is non-interactive and can easily work in the background. This means you can easily use it in scripts or even build tools like uGet download manager.
Let’s see how to use wget to download files from terminal.
Installing wget
Most Linux distributions come with wget preinstalled. It is also available in the repository of most distributions and you can easily install it using your distribution’s package manager.
On Ubuntu and Debian based distributions, you can use the apt package manager command:
Download a file or webpage using wget
You just need to provide the URL of the file or webpage. It will download the file with its original name in the directory you are in.
To download multiple files, you’ll have to save their URLs in a text file and provide that text file as input to wget like this:
Download files with a different name using wget
You’ll notice that a webpage is almost always saved as index.html with wget. It will be a good idea to provide custom name to downloaded file.
You can use the -O (uppercase O) option to provide the output filename while downloading.
Download a folder using wget
Suppose you are browsing an FTP server and you need to download an entire directory, you can use the recursive option
wget -r ftp://server-address.com/directory
Download an entire website using wget
Yes, you can totally do that. You can mirror an entire website with wget. By downloading an entire website I mean the entire public facing website structure.
While you can use the mirror option -m directly, it will be a good idea add:
- –convert-links : links are converted so that internal links are pointed to downloaded resource instead of web
- –page-requisites: downloads additional things like style sheets so that the pages look better offline
wget -m --convert-links --page-requisites website_address
Bonus Tip: Resume incomplete downloads
If you aborted the download by pressing C for some reasons, you can resume the previous download with option -c.
Download files from Linux command line using curl
Like wget, curl is also one of the most popular commands to download files in Linux terminal. There are so many ways to use curl extensively but I’ll focus on only the simple downloading here.
Installing curl
Though curl doesn’t come preinstalled, it is available in the official repositories of most distributions. You can use your distribution’s package manager to install it.
To install curl on Ubuntu and other Debian based distributions, use the following command:
Download files or webpage using curl
If you use curl without any option with a URL, it will read the file and print it on the terminal screen.
To download a file using curl command in Linux terminal, you’ll have to use the -O (uppercase O) option:
It is simpler to download multiple files in Linux with curl. You just have to specify multiple URLs:
Keep in mind that curl is not as simple as wget. While wget saves webpages as index.html, curl will complain of remote file not having a name for webpages. You’ll have to save it with a custom name as described in the next section.
Download files with a different name
It could be confusing but to provide a custom name for the downloaded file (instead of the original source name), you’ll have to use -o (lowercase O) option:
Some times, curl wouldn’t just download the file as you expect it to. You’ll have to use option -L (for location) to download it correctly. This is because some times the links redirect to some other link and with option -L, it follows the final link.
Pause and resume download with curl
Like wget, you can also resume a paused download using curl with option -c:
As always, there are multiple ways to do the same thing in Linux. Downloading files from the terminal is no different.
wget and curl are just two of the most popular commands for downloading files in Linux. There are more such command line tools. Terminal based web-browsers like elinks, w3m etc can also be used for downloading files in command line.
Personally, for a simple download, I prefer using wget over curl. It is simpler and less confusing because you may have a difficult time figuring out why curl could not download a file in the expected format.
Your feedback and suggestions are welcome.