termux доступ к файлам, созданным в термукс из андроида
В общем, поставил этого зверя себе на телефон, хочу скопировать файл из андроида в термукс, нашёл, что можно сделать шару с помощью termux-setup-storage телефон запросил разрешение на доступ к какой-то папке, я разрешил и на этом всё, папок в проводнике андроида не прибавилось, попробовал выполнить следующее из термукса
$ cd external-1 $ ls $ touch test.txt $ echo "hello world" > test.txt
Проводник test.txt не может найти
Как меняться файлами между термуксом и андроидом?
Доступ к внешнему и внутреннему хранилищу
Для того, чтобы получить доступ к внутреннему (общему) или внешнему хранилищу, необходимо выполнить команду .
![]()
При выполнении termux-setup-storage происходит следующее:
- Будет запрошено разрешение на доступ к хранилищу.
- Termux создаст приватную директорию во внешнем и внутреннем хранилищах.
- Создаст директорию $HOME/storage в которой будут символьные ссылки на приватные директории приложения, а также ссылки на стандартные директории Android OS.
~/storage
Содержимое $HOME/storage представляет собой символьные ссылки на различные директории Termux и Android OS:
- Общее хранилище.
~/storage/shared
- Стандартная папка для загруженных файлов.
~/storage/downloads
- Стандартная папка для фотографий и видео записанных при помощи камеры.
~/storage/dcim
- Стандартная папка для хранения изображений.
~/storage/pictures
- Стандартная папка для хранения музыки.
~/storage/music
- Стандартная папка для хранения видео/фильмов.
~/storage/movies
- Приватная директория приложения на внешнем хранилище.
~/storage/external-1
Важно: не выполняйте сброс данных приложения если у вас есть важные файлы в приватных директориях Termux на внешнем или общем хранилище. В противном случае эти данные будут удалены.
Где найти папку с Termux в проводнике которая на скрине?
Думаю, что это просто название твоего встроенного диска.
Размеры то у них совпадают.
У меня в термуксе есть jpeg файлы и я хочу их открыть
Но я хз где и какПосмотреть вложение 34993
А что показывает
ls ../
И pwd
Nik Vlasov
Green Team
09.09.2019 36 3 BIT 0
Думаю, что это просто название твоего встроенного диска.
Размеры то у них совпадают.
У меня в термуксе есть jpeg файлы и я хочу их открыть
Но я хз где и как
А что показывает
ls ../
И pwd
/data/data/com.termux/files/home
f22
Codeby Academy
Gold Team
05.05.2019 1 775 222 BIT 629
/data/data/com.termux/files/home
По этому пути и смотри эти файлы из проводника.
Скорее всего твоя папка андроид находится в /storage/emulated/0
так что можешь скопировать
cp /data/data/com.termux/files/home/*.jpeg /storage/emulated/0/
Nik Vlasov
Green Team
09.09.2019 36 3 BIT 0
По этому пути и смотри эти файлы из проводника.
Скорее всего твоя папка андроид находится в /storage/emulated/0
так что можешь скопировать
cp /data/data/com.termux/files/home/*.jpeg /storage/emulated/0/
/storage/emulated/0/Android/data/com.termux/files
и после files нету папки home
При чём тут эта папка?
/storage/emulated/0/Android/data/xom.termux/files
/data/data/com.termux/files/home/
Ты видишь разницу ?
Копируешь из рабочей папки termux к себе (находишься в termux’e)
cp /data/data/com.termux/files/home/*.jpeg /storage/emulated/0/
Или просто
cp *.jpeg /storage/emulated/0/
После этого файлы из папки /data/data/com.termux/files/home/ скопируются в папку /storage/emulated/0/
Не знаю, как ещё проще объяснить.
С чего начать
Termux это эмулятор терминала для Android OS, возможности которого могут быть расширены при помощи огромной коллекции пакетов програмного обеспечения портированного на Android OS. Главная цель проекта — предоставить опыт использования командной строки Linux пользователям мобильных устройств без необходимости получения прав суперпользователи или иных специальных модификаций устройства.
Contents
- 1 Как это работает?
- 2 Является ли Termux таким же как дистрибутив Linux?
- 3 Что я могу сделать при помощи Termux?
- 4 Нужны ли права root?
- 5 Есть ли какие-нибудь туториалы?
- 5.1 Команды
- 5.2 Shell скриптинг
Как это работает?
Фактически это приложение которое просто запускает бинарник утилиты командной строки при помощи системного вызова execve(2) и перенаправляет стандартные потоки ввода, вывода и ошибок на текстовый экран. Termux не является ни виртуальной машиной, ни иным видом эмулированной/симулированной системы. Программы выполняются прямо на устройстве, что обеспечивает максимально возможную производительность.
Так как набор стандартных утилит командной строки Android весьма ограничен, мы портировали более 1000 пакетов програмного обеспечения которые вы можете встретить в системах GNU/Linux. Все пакеты скомпилированы при помощи Android NDK и имеют лишь патчи совместимости для корректной работы на Android OS.
Так как операционная система не имеет директории определяемые стандартом FHS или же не предоставляет к ним доступ на запись, Termux не может использовать такие директории как /bin, /etc, /usr, /var. Вместо этого, все файлы находятся в приватной директории приложения, которая находится здесь:
/data/data/com.termux/files/usr
Мы называем эту директорию «префикс» и обычно ссылаемся на нее как «$PREFIX» что также является переменной окружения командной оболочки. Префикс всегда постоянен и не может быть перенесен на карту SD, как минимум при обычных условиях. И на это есть причины:
- Многие бинарники используют статические пути для обращения к файлам в /etc, /bin, /var и тд.
- Заголовки исполняемых файлов формата ELF используют DT_RUNPATH установленый как $PREFIX/lib. Используется для динамической компоновки зависимостей.
- Файловая система должна поддерживать параметры доступа (chmod) и специальные файлы, такие как сокеты и символьные ссылки. То есть ФС должна быть EXT4 или F2FS например, а не какой-нибудь там FAT32.
Также есть отдельная директория для пользовательских данных, то есть домашняя директория или $HOME. Она находится здесь:
/data/data/com.termux/files/home
Конечно, отличий среды Termux от GNU/Linux немного больше, чем перечислено здесь. Смотрите Differences from Linux для более подробной информации.
Является ли Termux таким же как дистрибутив Linux?
Termux предоставляет пакетную экосистему, как в дистрибутивах Linux. Однако Termux таковым не является и более того, он просто обычное приложение Android OS.
Это приводит к нескольким отличиям:
1. Как сказано выше, все устанавливается в $PREFIX, а не в стандартные директории вроде /bin или /etc.
2. Среда является однопользовательской. Будьте осторожны если работаете с правами root. Можно очень легко нарушить параметры доступа к файлам и контексты SELinux — это приведет к неприятным последствиям, разгребать которые придется вам самим.
3. Динамический компоновщик и libc предоставляются Android OS.
Все эти три отличия могут вызвать проблемы, если вы попытаетесь запустить в Termux программу скомпилированную под GNU/Linux систему.
Что я могу сделать при помощи Termux?
Типичные варианты использования:
- Обработка данных при помощи Python.
- Среда разработки.
- Загрузка и управление файлами.
- Изучение командной строки.
- SSH клиент.
- Синхронизация и резервное копирование данных.
Естественно, это далеко не все варианты использования приложения. У нас более 1000 пакетов в репозиториях. Если этого недостаточно, вы можете сами скомпилировать необходимое ПО прямо на устройстве. У нас есть пакеты различных компиляторов и интерпретаторов языков программирования, например C, C++, Go, Rust, Python, Ruby, Node.js.
Ну и для особо одаренных: Termux не является программой для рутования, хакинга и тд. Конечно, это все возможно при помощи Termux, если у вас есть необходимые навыки, для приобретения которых вам придется прилично потрудиться.
Нужны ли права root?
Для обычного использования права суперпользователя вам не понадобятся. Termux нацелен в первую очередь на пользователей устройств без root.
Права суперпользователя необходимы лишь в том случае, если вы собрались выполнять действия, перечисленные ниже:
- Модификация системных файлов.
- Изменение параметров ОС или ядра.
- Установка приложений при помощи «pm» или «cmd».
- Доступ на чтение/запись ко всем файловым системам устройства.
- Полный доступ к аппаратному обеспечению, портам и тд.
- Создание полноценного окружения chroot, а также контейнеризация.
- Полноценный контроль над устройством.
В подавляющем большинстве случаев, вам root не нужен!
Есть ли какие-нибудь туториалы?
This section or list is incomplete. Please help to improve it.
Мы не можем поддерживать в актуальном состоянии подробную информацию о таких общих вещах как команды, shell-скриптинг и тд, по этому данная информация не размещается на Termux Wiki. Здесь предоставлены ссылки на сторонние ресурсы.
Команды
Изучите основные команды используемые в консоли Linux:
Shell скриптинг
Shell скриптинг является ключевым навыком для работы с терминалом. Без этого вы не сможете делать что-либо серьезное в Termux, да и в GNU/Linux системах вообще.
- http://mywiki.wooledge.org/BashGuide
- https://www.tldp.org/LDP/Bash-Beginners-Guide/html/
Эти ресурсы могут быть полезны также и для продвинутых пользователей командной оболочки:
- https://wiki-dev.bash-hackers.org/ — справочник с примерами для встроеных команд интерпретатора Bash.
Могу ли я сотрудничать?
Вот вам предложения, если решите внести свой вклад в развитие проекта:
- Написание страниц Termux Wiki: исправляйте ошибки, дополняйте и поддерживайте в актуальном состоянии уже имеющуюся информацию.
- Информируйте об ошибках. Пожалуйста, шлите отчеты об ошибках которые относятся только к приложению или пакетам. Нас не волнуют баги в скриптах, которые вы нашли где-то в Интернете.
- Шлите предложения о пакетах, которые вы бы хотели видеть в официальном репозитории.
- Шлите патчи с исправлениями и улучшениями.
Весь исходный код и скрипты сборки вы можете найти здесь: https://github.com/termux.
Смотреть также
- FAQ
- Development Environments
- Editors
- Differences from Linux
- Package Management
- Recover a broken environment
- Software