Обложка канала

ServerAdmin.ru

12437 @srv_admin

Авторская информация о системном администрировании.

ServerAdmin.ru

3 года назад
Открыть в
Решил сделать подборку консольных команд по загрузке и выгрузке файлов. Постоянно приходится этим пользоваться. И если с загрузкой всё довольно просто, то выгрузку приходится вспоминать, как сделать, так как редко нужно. Скачать файл под своим именем: curl -O https://site.com/file.tar.gz wget https://site.com/file.tar.gz Скачать и сохранить с заданным именем: curl -o file_new.tar.gz https://site.com/file.tar.gz wget -O file_new.tar.gz https://site.com/file.tar.gz Для curl я обычно применяю пару дополнительных ключей: -s — режим silent, отключает вывод служебной информации, актуально для скриптов; -k — игнорирует ошибки TLS, например, с недоверенным сертификатом. И у wget, и у curl есть одинаковая опция по ограничению скорости загрузки через ключ --limit-rate 10M. Суффиксы k, M, G обозначают килобайты, мегабайты, гигабайты. Скачать скрипт и сразу запустить его 😱: curl -sSL https://get.docker.com/ | sh Автоматическая установка докера. Я постоянно пользуюсь. Для аутентификации в curl достаточно через ключ -u добавить имя пользователя и пароль. Работает как с basic auth, так и с kerberos, ntlm. Для кербероса надо только не забыть домен добавить к имени пользователя. curl -O -u user:password https://site.com/file.tar.gz Скачать набор файлов из текстового списка, где каждая строка это отдельная ссылка: wget –I urls.txt Если добавить ключ -b, то скачивание будет идти в фоновом режиме. Актуально, когда качаешь по списку набор iso. Это может долго длиться. Скачать целиком сайт. Работает нормально, сам проверял несколько раз, скачивая некоторые сайты: 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.ru/data/ curl -k -T file.tar.gz -u user scp://ftpserver.ru/data/ curl -k -T file.tar.gz -u user --key ~/.ssh/id_rsa scp://ftpserver.ru/data/ curl -T file.tar.gz -u "domain\user:password" smb://server.local/share/ Причём можно сразу загрузить группу файлов с именами, которые можно задать по стандартной маске в bash: curl -T "file[1-100].tar.gz" ftp://ftpserver.ru/data/ #bash #terminal