На самом деле, используя rsync через MTP / usb
Это проще, чем все говорят, сначала обратите внимание, что когда GVFS монтирует MTP-mount, он будет доступен под. Это можно сделать, открыв телефон в графическом браузере файлов (thunar / nautilus / etc)
/run/user/$UID/gvfs
. Предполагая, что у вас есть одно устройство mtp, это должно работать:
$ cd /run/user/$UID/gvfs/mtp*
Найти, куда вы хотите перенести файлы, а затем rsync их к нему
$ cd SanDisk\ SD\ card/Movies/
$ pwd # prints "/run/user/1000/gvfs/mtp:host=%5Busb%3A003%2C096%5D/SanDisk SD card/Movies"
$ rsync --verbose --progress --omit-dir-times --no-perms --recursive --inplace ~/Videos/ ./
Параметры Rsync [ ! d4] - inplace: Я настоятельно рекомендую использовать --inplace, без которого mtp может захотеть скопировать файл новым, а затем переименуйте его в старый. Это может привести к копированию файла на SD-карту дважды: один раз для передачи mtp на SD-карту и в другое время, поскольку драйвер MTP может не поддерживать (mv), он может (cp / rm) под капотом быть в безопасности , прочитайте man rsync для описания --verbose, --progress, --recursive, но они довольно самодокументированы. --omit-dir-times --no-perms необходимы, потому что mtp не поддерживает это.
задан snoop
7 August 2015 в 05:34
поделиться