Нет такого файла или каталога при «cp», но не при «ls»

Я пытаюсь скопировать папку общих настроек моего приложения в раздел /sdcard с моего ПК, используя следующую команду ADB:

adb shell su -c "cp /data/data/com.anrapps.pixelbatterysaver/shared_prefs//sdcard/appdata/"

Но это возвращает cp: Skipped dir '/data/data/com.anrapps.pixelbatterysaver/shared_prefs': No such file or directory. Однако при выполнении команды ls он говорит, что папка присутствует:

adb shell su -c "ls /data/data/com.anrapps.pixelbatterysaver"

кешировать файлы code_cache shared_prefs

В чем проблема? Может быть связано с разрешением?


person BamsBamx    schedule 10.10.2016    source источник
comment
Вам нужно использовать cp -r для копирования каталога.   -  person Paul Tomblin    schedule 10.10.2016
comment
@PaulTomblin Правда, это сработало. Не знаю много о командах UNIX. Пожалуйста, опубликуйте как ответ и объясните, почему, и я отмечу как принятый. Спасибо   -  person BamsBamx    schedule 10.10.2016


Ответы (1)


Если вы пытаетесь скопировать весь каталог, вам нужно использовать cp -r, чтобы сделать его рекурсивной копией.

person Paul Tomblin    schedule 10.10.2016