Решил собрать часто используемые команды по загрузке файлов, которыми часто приходится пользоваться.

Скачивание файлов под своим именем

curl -O https://site.com/file.tar.gz

wget https://site.com/file.tar.gz

Скачать и сохранить с заданным именем

curl -o file1.tar.gz https://site.com/file.tar.gz

wget -O file2.tar.gz https://site.com/file.tar.gz

Если добавить ключ -s - это silent режим, для сокрытия служебной информации

А вот -k - игнорирует ошибки проверки TLS, если сертификат был самоподписанный или просроченный

И у wget, и у curl есть одинаковая опция по ограничению скорости загрузки через ключ --limit-rate 10M. Суффиксы k, M, G обозначают килобайты, мегабайты, гигабайты.

Скачать скрипт и сразу запустить его:

curl -sSL https://get.docker.com/ | sh

Base аутентификация, если файлы спрятан под паролем

curl -O -u user:password https://site.com/file.tar.gz

Скачать набор файлов из текстового списка, где каждая строка это отдельная ссылка:

wget –I urls.txt

Если, добавить ключ -b, скачивание запуститься в фоновом режиме

Скачать целиком сайт. Работает не всегда хорошо, но скачать некоторые сайты получалось, давно уже не использовал.

wget -r -k -l 7 -p -E -nc http://site.ru/

7 — глубина вложенности страниц от указанной, можно сделать меньше или больше в зависимости от сайта, чтобы не качать уже мусорные ссылки. С этим параметром приходится поиграться

Вот еще некоторые команды, которые хранились в записях

Скачать файл с ssh сервера через scp

curl -O -k -u user scp://192.168.1.1:22/data/file.tar.gz

Запрос пароля появится в консоли. Можно его сразу указать, только имейте ввиду, что пароль останется в history

curl -O -k -u user:password scp://192.168.1.1:22/data/file.tar.gz

И то же самое, только с ключом

curl -O -k -u user --key ~/.ssh/id_rsa scp://192.168.1.1:22/data/file.tar.gz

Скачать файл по ftp

curl -O ftp://user:[email protected]/data/file.tar.gz

Скачать файл по smb

curl -O -u "domain\user:password" smb://server.local/share/file.tar.gz

Загрузка на сервер файлов по ftp, ssh, smb

curl -T file.tar.gz -u user:password ftp://ftpserver.com/files/
curl -k -T file.tar.gz -u user scp://ftpserver.com/files/
curl -k -T file.tar.gz -u user --key ~/.ssh/id_rsa scp://ftpserver.com/files/
curl -T file.tar.gz -u "domain\user:password" smb://ftpserver.com/files/

Причём можно сразу загрузить группу файлов с именами, которые можно задать по стандартной маске в bash

curl -T "file[1-100].tar.gz" ftp://ftpserver.com/files/

Анонсы и еще больше информации в Telegram-канале