Работа в командной строке Linux дает вам больше гибкости и контроля по сравнению с графическим интерфейсом. Командная строка имеет множество применений и широко используется в администрировании серверов. Вы можете автоматизировать задачу с помощью командной строки, а также она использует меньше ресурсов, чем графический интерфейс. Загрузка файла с помощью командной строки также проще и быстрее, так как для этого требуется всего одна команда, по сравнению с графическим интерфейсом, который в основном требует длительной процедуры.
В этой статье мы расскажем, как загрузить файл из командной строки Linux с помощью двух различных утилит. Обе утилиты являются бесплатными и предназначены для неинтерактивной загрузки файлов из Интернета. Эти утилиты работают в фоновом режиме, даже когда вы не вошли в систему.
Метод №1 Загрузка файлов с помощью Curl
Curl - это утилита командной строки, которая используется для передачи файлов на сервер и с сервера. Мы можем использовать ее для загрузки файлов из Интернета. Она разработана таким образом, что вы можете запускать ее без участия пользователя. Она поддерживает различные протоколы, включая HTTP, HTTPS, TELNET, SCP, FTP и т.д. По умолчанию он не установлен в ОС Debian. Поэтому его необходимо сначала установить. Для этого выполните следующие шаги:
Установка Curl
Запустите приложение Терминал в Debian. Для этого перейдите на вкладку Деятельность в левом верхнем углу рабочего стола. Затем в строке поиска введите terminal. Когда появится значок Терминала, нажмите на него, чтобы запустить его.
В Терминале введите следующую команду для перехода в учётную запись суперпользователя.
1 | su |
Когда появится запрос на ввод пароля, введите пароль суперпользователя.
Затем выполните следующую команду в Терминале для установки утилиты Curl.
1 | apt install curl |
После завершения установки мы можем использовать Curl для загрузки файлов.
Общий синтаксис CURL
Чтобы загрузить файлы с помощью Curl, используйте следующий синтаксис в Терминале:
1 | curl [options] [URL] |
Используя параметр [options], вы можете указать различные функции, например, сохранить загрузку под определенным именем, возобновить загрузку, указать скорость передачи и многое другое.
Используя параметр [URL], вы можете указать URL удаленного сервера.
Загрузка и сохранение файла с использованием имени исходного файла
Чтобы загрузить и сохранить файл с тем же именем, что и имя исходного файла, используйте следующий синтаксис:
1 | curl -O [URL] |
Примером может быть:
1 | curl -O https://1275.ru/wp-content/uploads/sites/3/2022/09/metador.pdf |
Это сохранит скачанный файл как metador.pdf.
Загрузка и сохранение файла с использованием имени исходного файла с помощью curl
Также можно указать "-remote-name" вместо -O, чтобы сохранить файл как имя удаленного файла.
Загрузка и сохранение файла с другим именем
Чтобы загрузить и сохранить файл с именем, отличным от имени исходного файла, используйте следующий синтаксис:
1 | curl [URL] -o [имя файла] |
В параметре [имя файла] укажите новое имя для загруженного файла.
Примером может быть:
1 | curl https://1275.ru/wp-content/uploads/sites/3/2022/09/metador.pdf -o metador_1275.pdf |
Это сохранит загруженный файл как metador_1275.pdf.
Скачивание нескольких файлов одновременно
Вместо того чтобы загружать несколько файлов по одному, вы можете загрузить их все одновременно, выполнив одну команду. Для одновременной загрузки нескольких файлов используйте команду -O, за которой следует URL-адрес файла, который вы хотите загрузить.
Для этого используйте следующий синтаксис:
1 | curl -O [URL1] -O [URL2] |
Примером может быть:
1 | 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 в следующем синтаксисе:
1 | xargs -n 1 curl -O < [имя файла] |
Примером этого может быть:
1 | xargs -n 1 curl -O < files.txt |
Наш файл files.txt содержит три URL:
Приведенная выше команда Curl загрузит все URL, указанные в файле files.txt.
Загрузка файлов с FTP-сервера
Мы также можем загрузить файлы с FTP-сервера с помощью утилиты Curl. Для этого выполните команду в Terminal, используя следующий синтаксис:
1 | 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 еще не установлен в вашей системе, вы можете установить его, выполнив следующие действия:
Запустите приложение Терминал тем же способом, который обсуждался ранее в этой статье. В терминале введите следующую команду для перехода под учетной записью суперпользователя.
1 | su |
Когда появится запрос на ввод пароля, введите пароль суперпользователя.
Затем выполните следующую команду в Терминале для установки утилиты Wget.
1 | apt-get install wget |
Общий синтаксис Wget
Чтобы загрузить файл с помощью Wget, используйте следующий синтаксис:
1 | wget [URL] |
Загрузка и сохранение файла с использованием имени исходного файла
Использование приведенного выше синтаксиса для загрузки файла без какого-либо аргумента сохранит файл с тем же именем, что и исходный файл. Примером может служить загрузка файла metador.pdf.
1 | wget https://1275.ru/wp-content/uploads/sites/3/2022/09/metador.pdf |
Это сохранит загрузку как metador.pdf.
Загрузка и сохранение файла с другим именем
Чтобы загрузить и сохранить файл с именем, отличным от имени исходного файла, используйте следующий синтаксис:
1 | wget -O 1275_metador https://1275.ru/wp-content/uploads/sites/3/2022/09/metador.pdf |
Это сохранит загрузку как 1275_metador.
Загрузка файлов через FTP
Чтобы загрузить файлы с FTP-серверов, аутентифицированных пользователем, используйте следующий синтаксис:
1 | wget -u [ftp_user]:[ftp_pass] -O [ftp_URL] |
Параметры ftp_user и ftp_pass используются для указания учетной записи FTP. Однако в случае анонимного FTP-соединения их можно пропустить.
Загрузка нескольких файлов
Чтобы загрузить несколько файлов с помощью Wget, создайте текстовый файл со списком URL файлов, а затем используйте следующий синтаксис для загрузки всех файлов одновременно.
1 | wget -i [filename.txt] |
Например, мы создали текстовый файл files.txt, который содержит два URL, как показано на рисунке ниже.
Затем мы выполнили следующую команду:
1 | wget -i files.txt |
Выполнение приведенной выше команды автоматически загрузит оба URL, содержащихся в файле files.txt.
Приостановка и возобновление загрузки
Чтобы возобновить приостановленную загрузку, перейдите в каталог, в который вы ранее загрузили файл, а затем используйте следующий синтаксис для возобновления загрузки.
1 | wget -c [имя файла] |
Примером может служить возобновление ранее приостановленного файла metador.pdf путем выполнения следующей команды.
1 | wget -c https://1275.ru/wp-content/uploads/sites/3/2022/09/metador.pdf |
Рекурсивная загрузка файлов
Wget поддерживает рекурсивную загрузку файлов, что является его основным отличием от Curl. Функция рекурсивной загрузки позволяет скачивать все, что находится в указанном каталоге.
Чтобы рекурсивно загрузить веб-сайт или FTP-сайт, используйте следующий синтаксис:
1 | wget -r [URL] |
В качестве примера можно привести загрузку следующего сайта целиком.
1 | wget -r https://1275.ru |
Заключение
Итак, в этой статье мы познакомились с двумя различными неинтерактивными утилитами командной строки, которые позволяют загружать файлы непосредственно из командной строки. Обе утилиты очень полезны и служат для одинаковых целей. Я надеюсь, что они будут полезны, когда вам понадобится скачать файл из Интернета.