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

#android #shell #adb #ls #cp

#Android #оболочка #adb #ls #cp

Вопрос:

Я пытаюсь скопировать папку общих настроек моего приложения в раздел / 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»

файлы cache code_cache shared_prefs

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

Комментарии:

1. Вам нужно использовать cp -r для копирования каталога.

2. @PaulTomblin Верно, это сработало. Не знаю много о командах UNIX. Пожалуйста, отправьте сообщение в качестве ответа и объясните, почему, и я отмечу его как принятый. Спасибо

Ответ №1:

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