ydcmd(1)

НАЗВАНИЕ
ydcmd - консольный клиент для работы с облачным хранилищем Яндекс.Диск посредством REST API.

СИНТАКСИС
ydcmd [command] [options] [args]

КОМАНДЫ

help
    Получение краткой справки по командам и опциям приложения.

ls  Получение списка файлов и директорий.

rm  Удаление файла или директории.

cp  Копирование файла или директории.

mv  Перемещение файла или директории.

put Загрузка файла или директории в хранилище.

get Получение файла или директории из хранилища.

cat Вывод файла из хранилища в stdout.

mkdir
    Создание директории.

stat
    Получение метаинформации об объекте.

info
    Получение метаинформации о хранилище.

last
    Получение метаинформации о последних загруженных файлах.

share
    Публикация объекта (получение прямой ссылки).

revoke
    Закрытие доступа к опубликованному ранее объекту.

du  Оценка места, занимаемого файлами в хранилище.

clean
    Очистка файлов и директорий.

restore
    Восстановление файла или директории из корзины.

download
    Загрузка файла из интернета в хранилище.

token
    Получение OAuth токена для работы приложения.

ОПЦИИ

--config=<S>
    Имя файла конфигурации (если отличается от файла по умолчанию).

--timeout=<N>
    Таймаут в секундах на установку сетевого соединения.

--retries=<N>
    Количество попыток вызова метода api перед возвратом кода ошибки.

--delay=<N>
    Таймаут между попытками вызова метода api в секундах.

--limit=<N>
    Количество элементов, возвращаемое одним вызовом метода получения списка файлов и директорий.

--token=<S>
    OAuth токен (в целях безопасности рекомендуется указывать в конфигурационном файле или через переменную окружения YDCMD_TOKEN). Инструкцию по получению отладочного токена можно найти на странице http://api.yandex.ru/oauth/doc/dg/tasks/get-oauth-token.xml.

--quiet
    Подавление вывода об ошибках.

--verbose
    Вывод расширенной информации.

--debug
    Вывод отладочной информации.

--chunk=<N>
    Размер блока данных в КБ для операций ввода/вывода.

--ca-file=<S>
    Имя файла с сертификатами доверенных центров сертификации (при пустом значении проверка валидности сертификата не производится).

--ciphers=<S>
    Набор алгоритмов шифрования (см. ciphers(1)).

--version
    Вывод версии и завершение работы.

ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ

  ls

--human
    Вывод размера файла в человеко-читаемом виде.

--short
    Вывод списка файлов и директорий без дополнительной информации (одно имя в одну строку).

--long
    Вывод расширенного списка (время создания, время модификации, размер, имя файла).

Если целевой объект не указан, то будет использоваться корневая директория хранилища.

  rm

--trash
    Удаление в корзину.

--poll=<N>
    Время в секундах между опросом состояния при выполнении асинхронной операции.

--async
    Выполнение команды без ожидания завершения (poll) операции.

Файлы удаляются без возможности восстановления. Директории удаляются рекурсивно (включая вложенные файлы и директории).

  cp

--poll=<N>
    Время в секундах между опросом состояния при выполнении асинхронной операции.

--async
    Выполнение команды без ожидания завершения (poll) операции.

В случае совпадения имен, директории и файлы будут перезаписаны. Директории копируются рекурсивно (включая вложенные файлы и директории).

  mv

--poll=<N>
    Время в секундах между опросом состояния при выполнении асинхронной операции.

--async
    Выполнение команды без ожидания завершения (poll) операции.

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

  put

--rsync
    Синхронизация дерева файлов и директорий в хранилище с локальным деревом.

--no-recursion
    Не загружать содержимое вложенных директорий.

--no-recursion-tag=<S>
    Не загружать содержимое вложенных директорий, для директорий содержащих файл.

--exclude-tag=<S>
    Пропускать загрузку директорий, содержащих файл.

--skip-hash
    Пропускать проверки целостности md5/sha256.

--threads=<N>
    Количество рабочих процессов.

--iconv=<S>
    При необходимости пытаться восстанавливать имена файлов и директорий из указанной кодировки (например cp1251).

--progress
    Выводить прогресс операции (рекомендуется установить модуль python-progressbar).

Если целевой объект не указан, то для загрузки файла будет использоваться корневая директория хранилища. Если целевой объект указывает на директорию (заканчивается на '/'), то к имени директории будет добавлено имя исходного файла. Если целевой объект существует, то он будет перезаписан без запроса подтверждения. Символические ссылки игнорируются.

  get

--rsync
    Синхронизация локального дерева файлов и директорий с деревом в хранилище.

--no-recursion
    Не загружать содержимое вложенных директорий.

--skip-hash
    Пропускать проверки целостности md5/sha256.

--threads=<N>
    Количество рабочих процессов.

--progress
    Выводить прогресс операции (рекомендуется установить модуль python-progressbar).

Если не указано имя целевого файла, будет использовано имя файла в хранилище. Если целевой объект существует, то он будет перезаписан без запроса подтверждения.

  info

--long
    Отображать размеры в байтах вместо человеко-читаемого вида.

  last

--human
    Вывод размера файла в человеко-читаемом виде.

--short
    Вывод списка файлов без дополнительной информации (одно имя в одну строку).

--long
    Вывод расширенного списка (время создания, время модификации, размер, имя файла).

Если параметр N не задан, будет использовано значение по умолчанию из REST API.

  du

--depth=<N>
    Отображать размеры директорий до уровня N.

--long
    Отображать размеры в байтах вместо человеко-читаемого вида.

Если целевой объект не указан, то будет использоваться корневая директория хранилища.

  clean

--dry
    Не выполнять удаление, а вывести список объектов для удаления.

--type=<S>
    Тип объектов для удаления ('file' - файлы, 'dir' - директории, 'all' - все).

--keep=<S>
    Критерий выборки объектов, которые требуется сохранить:
    * Для выбора даты до которой требуется удалить данные, можно использовать строку даты в формате ISO (например, '2014-02-12T12:19:05+04:00');
    * Для выбора относительного времени, можно использовать число и размерность (например, '7d', '4w', '1m', '1y');
    * Для выбора количества копий, можно использовать число без размерности (например, '31').

  restore

--poll=<N>
    Время в секундах между опросом состояния при выполнении асинхронной операции.

--async
    Выполнение команды без ожидания завершения (poll) операции.

В случае совпадения имен, директории и файлы будут перезаписаны. Директории восстанавливаются рекурсивно (включая вложенные файлы и директории).

  download

--poll=<N>
    Время в секундах между опросом состояния при выполнении асинхронной операции.

--async
    Выполнение команды без ожидания завершения (poll) операции.

--no-redirects
    Запрещение редиректов при загрузке.

Если целевой объект не указан, то будет использоваться корневая директория хранилища, а имя файла будет выбрано исходя из содержимого URL (если это возможно).

КОНФИГУРАЦИЯ

Для удобства работы рекомендуется создать конфигурационный файл с именем ~/.ydcmd.cfg и установить на него права 0600 или 0400. Формат файла:

    [ydcmd]
    # комментарий
    <option> = <value>

Например:

    [ydcmd]
    token = 1234567890
    verbose = yes
    ca-file = /etc/ssl/certs/ca-certificates.crt

ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ

YDCMD_TOKEN
    OAuth токен. Имеет приоритет перед опцией --token.

SSL_CERT_FILE
    Имя файла с сертификатами доверенных центров сертификации. Имеет приоритет перед опцией --ca-file.

КОД ВЫХОДА

0   Успешное завершение.

1   Общая ошибка приложения.

4   Код состояния HTTP-4xx (ошибка клиента).

5   Код состояния HTTP-5xx (ошибка сервера).