~Rami ₪ MANUALS
רמי
SUBJECT: Cadaver: Консольный клиент для протокола WebDAV(s)
AUTHOR: Rami Rosenfeld
DATE: 14/04/24
TIME: 15.00
LANG: ru, en
LICENSE: GNU FDL 1.3
TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, privacy, security, rhel, centos, mate, xfce, lxde, spin, de, systemd, systemctl, webdav, cloud, cadaver
Cadaver: Консольный клиент для протокола WebDAV(s)
INTRO
Консольное средство Cadaver, служащее для подключения облачных хранилищ по WebDAV(s) ("Web Distributed Authoring and Versioning" - защищенному сетевому протоколу высокого уровня, работающему поверх HTTP) устанавливается из стандартных репозиториев. Cadaver позволяет выполнение основных файловых операций на удаленном сервере; одновременную работу с любыми объектами и метаданными. По сути он является заменой для протоколов FTP и SMB.
Добавлю, что по моим личным впечатлениям передача файлов осуществляется быстрее, нежели по SSH.
NOTE
- Подключение к серверу
После установки необходимо ввести в консоли (это весьма приблизительный пример; см. примечание ниже):
cadaver https://server.name
Примечание: Я не пользуюсь облачными хранилищами (и вам не рекомендую), но для точности хочу отметить, что у разных серверов могут быть самые различные адреса для подключения, отличающиеся от имени корневого сервера. Для наглядности, только что навскидку нашел в интернете наиболее изощренные примеры:
cadaver https://storage-file-eu.gmx.com/
cadaver https://cloud.disroot.org/remote.php/webdav/
Большой список возможных подключений к серверам можно найти здесь:
При отклике следует указать свой логин (Username или E-mail), зарегистрированный на сервере, и парольную фразу к нему.
Примечание: Как правило, почтовые провайдеры параллельно предлагают некоторое зарезервированное место в "облаке", вот почему речь ниже идет именно о E-mail'е, который следует указывать при подключении к удаленному хранилищу:
Authentication required on server 'server.name':
Username: your_name@server.name
Password: YOUR_PASSPHRASE
Примечание: Личный E-mail лучше вводить полностью - как указано выше, т.к он может отличаться от имени сервера, особенно если последний при регистрации почтового ящика предлагает на выбор несколько доменных зон и допускает использование почтовых алиасов. Но - важно! - это не всегда(!) так.
После подключения будет доступен корневой каталог личного хранилища, содержащий т.н. "коллекции" (стандартные каталоги).
Примечание: Не устаю упоминать практически в каждом руководстве: никогда не используйте в именах файлов и каталогов пробелы, знаки препинания и национальные символы - это сильно усложняет жизнь!
- Команды управления
Просмотр содержимого ("коллекций") удаленного хранилища:
dav:/> ls
Listing collection `/': succeeded.
Coll: *My Documents 0
Coll: *My_Music 0
Coll: *My_Photos 0
Coll: *My_Videos 0
Coll: *New_File_Attachments
Coll: *Trash 0
Переход в необходимый каталог (если его имя содержит пробел или использует национальные символы - берется в одинарные кавычки):
dav:/> cd 'My Documents'
Просмотр текущего каталога:
dav:/My Documents/> ls
Listing collection
cloud_file_1
cloud_file_2
cloud_file_3
Переход в необходимый каталог-источник на локальном компьютере (т.е. на localhost'е).
ВАЖНО! Следует указывать абсолютный путь, без использования тильды (т.е. не употребляя "~/").
Из примеров ниже следует, что стандартные команды GNU/Linux на localhost'е исполняются с помощью добавления "l" ("local") перед ними.
dav:/My Documents/> lcd /home/user/folder
Просмотр ресурсов текущего каталога на localhost:
dav:/My Documents/> lls /home/user/folder
local_file_1
local_file_2
local_file_3
Копирование файла в текущую коллекцию (каталог) облачного хранилища:
dav:/My Documents/> put local_file_1
Uploading file_1 to /My Documents/file_1':
Progress: [> ] 6,5% of 100000 bytes
Копирование файла из облачного хранилища на локальный компьютер:
dav:/My Documents/> get cloud_file_2
Примечание: При этой операции может быть запрошено новое имя для скачиваемого файла, если такой уже существует в текущей локальной директории.
Удаление файла в облачном хранилище:
dav:/My Documents/> delete cloud_file_3
Общеупотребимые команды:
pwd - показать имя текущей директории;
lpwd - показать имя текущей директории на localhost;
open - открыть соединение (если оно закрыто);
logout - завершить аутентификацию;
close - закрыть текущее соединение;
quit - выйти из программы.
Доступны также команды cat, less, edit, copy, move и прочие.
- Конфигурационный файл .cadaverrc
По умолчанию конфигурационный файл находится в корне домашнего каталога пользователя: ~/.cadaverrc. Это не вполне удобно и корректно, поэтому рекомендую:
1) создать отдельный каталог и пустой файл в нем:
mkdir ~/.cadaver
cd ~/.cadaver
touch .cadaverrc
Далее внести (если это требуется, например, для указания локального прокси-сервера) изменения в конфигурацию и затем запускать командой:
cadaver --rcfile=~/.cadaver/.cadaverrc
2) либо, как вариант, создать полноценный алиас в .bashrc:
alias cadaver='cadaver --rcfile=~/.cadaver/.cadaverrc --proxy=127.0.0.1:8118'
- Конфигурационный файл .netrc
Данный файл расположен по адресу: ~/.netrc и служит для автоматического соединения с удаленным облачным хранилищем. Я крайне не рекомендую этот метод!
Некоторые опции .netrc:
machine server.name
login your_name
password YOUR_PASSPHRASE
Подробнее см.: man cadaver
🄯 Rami Rosenfeld, 2024. GNU FDL 1.3