Передача файлов между FreeBSD и Linux по SSH


В общем, у меня всегда были сложности с передачей файлов, названных русскими буквами с Linux
на FreeBSD и обратно, из-за того, что в этих системах разные кодировки по умолчанию -
UTF-8 и KOI8-R.

Чтобы буквы "не кривились", я использовал пакет convmv и совершал передачу с помощью
такого простого скрипта:

#!/bin/bash

# from Linux to Unix

from_path=/home/linux/русская_папка
to_path=/home/freebsd/все_по_русски

convmv -f utf8 -t koi8-r -r "$from_path"
echo "All ok (y/n)?"
read y
if [ "$y" = "y" ]
then
    convmv -f utf8 -t koi8-r -r --notest "$from_path"
    rsync -v -r -t "$from_path" superadmin@server:"$to_path"
    convmv -f koi8-r -t utf8 -r --notest "$from_path"
fi

convmv - скрипт, которые "переназывает" файлы, используя символы разных кодировок.
Если не указать ключ --notest, то программа сначала показывается, что именно она
собирается перекодировать и возможные ошибки, препятствующие такому перекодированию.

Все достаточно фукнционально и удобно, но, как всегда, есть решение проще. Просто rsync.
Такое перекодирование уже давно предусмотрено и выглядит оно так:

rsync -rv --iconv=utf8,koi8-r /from_path superadmin@server:/to_path