~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/

Большой список возможных подключений к серверам можно найти здесь:

WebDAV URLs of Common Cloud Storage Services

При отклике следует указать свой логин (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. Это не вполне удобно и корректно, поэтому рекомендую:

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:

machine server.name

login your_name

password YOUR_PASSPHRASE

Подробнее см.: man cadaver

₪ Back to home ₪

🄯 Rami Rosenfeld, 2024. GNU FDL 1.3