Android adb - comment lister les fichiers uniquement

Bonjour à tous,

Je continue ma découverte du monde Androïd et je bute sur un problème, je n’arrive pas à lister les fichier uniquement du répertoire racine. Je travaille avec une vieille tablette sous androïd 4.

ls -d * : donne tout !?
ls -d */ : donne les répertoires uniquement
ls -F | grep ^- : donne bien les fichiers mais je n'arrive pas à supprimer les 2 premiers caractères.

awk, cut, sed, tar ne sont pas présents.

ls -A

Merci pour ta réponse.

Je n’ai pas d’help,et encore moins de man, seules certaines options sont disponibles et manifestement pas -A

ls: Unknown option '-A'

Effectivement, du support pour une tablette androïd 4 chez Debian, ça ne va pas être simple.

1 J'aime

Je l’ai mis en pause café*, c’est absolument pas critique seulement que j’aime pas buter sur un pb qui devrait être simple … il doit y avoir une solution …

Ceci dit tu n’as pas tord, je vais aussi poster un forum android.

Edit : déplacé en « Programmation » car je viens de m’apercevoir que je ne pouvais pas marqué le sujet ‹ résolu › en "Pause Café.

Bonjour

Avec une ligne de commande adb
je fais comme ça :

adb shell ls -l  2>/dev/null | sed '1d;/^d/d;s/^..//'

ce qui donne :

mic@deb12:~$ adb shell ls -l  2>/dev/null | sed '1d;/^d/d;s/^..//'
wxrwxrwx   1 root   root     11 1970-01-01 01:00 bin -> /system/bin
wxrwxrwx   1 root   root     19 1970-01-01 01:00 bt_firmware -> /vendor/bt_firmware
wxrwxrwx   1 root   root     50 1970-01-01 01:00 bugreports -> /data/user_de/0/com.android.shell/files/bugreports
wxrwxrwx   1 root   root     13 1970-01-01 01:00 charger -> /sbin/charger
wxrwxrwx   1 root   root     17 1970-01-01 01:00 d -> /sys/kernel/debug
wxrwxrwx   1 root   root     23 1970-01-01 01:00 default.prop -> system/etc/prop.default
wxrwxrwx   1 root   root     11 1970-01-01 01:00 dsp -> /vendor/dsp
wxrwxrwx   1 root   root     11 1970-01-01 01:00 etc -> /system/etc
wxrwxrwx   1 root   root     20 1970-01-01 01:00 firmware -> /vendor/firmware_mnt
wxrwxrwx   1 root   root     19 1970-01-01 01:00 persist -> /mnt/vendor/persist
wxrwxrwx   1 root   root     15 1970-01-01 01:00 product -> /system/product
wxrwxrwx   1 root   root     21 1970-01-01 01:00 sdcard -> /storage/self/primary
mic@deb12:~$ 
1 J'aime

Merci ça fonctionne (il me reste simplement à enlver les liens et filtrer les noms uniquement) mais je ne comprends pas pourquoi sed fonctionne ici et pas si on fait la cde en 2 temps

adb shell
ls -l | sed '/^d/d; s/^..//'
/system/bin/sh: sed: not found

La commande sed est exécutée dans le shell bash de ma fenêtre de terminal debian

adb ouvre un shell bash sur le système qui tourne dans mon smartphone
et lance l’exécution de la ligne de commande suivante :

ls -l  2>/dev/null

adb retournerait le résultat de cette commande dans ma fenêtre de terminal debian,
mais le pipe (ou tube) redirige la sortie de cette commande
vers l’entrée de la commande sed qui sera exécutée dans le shell bash de mon système debian

1 J'aime

cqfd, merci.

D’un autre côté, j’ai accès sur mon smartphone à la commande find

Alors pour lister les noms des fichiers présents à la racine du système de fichiers de mon smartphone, je lance la ligne de commandes suivante :

adb shell find / -maxdepth 1 -type f

J’avais oublié de mentionner dans mon post initial que je ne dispose pas non plus de find sur ma tablette en android 4.

Pour obtenir des commandes shell plus avancées que celles de base d’android 4, il faut installer BusyBox.
Les commandes seront plus proches de Bash.

1 J'aime

Merci pour l’info, d’après github (https://github.com/meefik/busybox) BusyBox n’est disponible que pour Andorid5+

Or je viens de vérifier, je suis bien en 4.0.3 et j’ai busybox :slight_smile: ce qui permet de récupérer les utilitaires « standards » et , super, l’aide associée

busybox sed --help                                         
BusyBox v1.14.3 (2011-07-15 10:22:15 CST) multi-call binary

Usage: sed [-efinr] pattern [files...]
...

D’après le lien F-droid que j’ai donné, selon la version, 1.30 de 2019 est encore compatible 4.

Version 1.30.1 (40) - 2019-03-03 
This version requires Android 4.0 or newer.
1 J'aime