Dans ce cas, oui, ça peut être compliqué...
Après, on ne sait pas trop dans quel but, il veut faire ça...
Est-ce juste du one-shot, pour identifier les fameux fichiers ?
Sinon, si c'est juste de l'analyse et comme pour le principe de lsof, s'il peut lancer la commande, alors la solution qui permettrait d'identifier la quasi totalité des fichiers, serait un truc du genre (améliorable) :
strace commande 2>&1 | awk -F\" '/^open/ {print $2}'
Exemple avec bash:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| $ strace bash -l -c ":" 2>&1 | awk -F\" '/^open/ {print $2}'
/etc/ld.so.cache
/lib64/libtinfo.so.5
/lib64/libdl.so.2
/lib64/libc.so.6
/dev/tty
/usr/lib/locale/locale-archive
/proc/meminfo
/usr/lib64/gconv/gconv-modules.cache
/etc/profile
/etc/profile.d/
/dev/null
/etc/profile.d/colorls.sh
/dev/null
/dev/null
/dev/null
/etc/profile.d/cvs.sh
/dev/null
/etc/profile.d/glib2.sh
/dev/null
/etc/profile.d/gnome-ssh-askpass.sh
/dev/null
/etc/profile.d/lang.sh
/dev/null
/etc/profile.d/less.sh
/dev/null
/etc/profile.d/qt.sh
/dev/null
/etc/profile.d/udisks-bash-completion.sh
/dev/null
/etc/profile.d/vim.sh
/dev/null
/usr/share/locale/locale.alias
/usr/share/locale/fr_FR.UTF-8/LC_MESSAGES/bash.mo
/usr/share/locale/fr_FR.utf8/LC_MESSAGES/bash.mo
/usr/share/locale/fr_FR/LC_MESSAGES/bash.mo
/usr/share/locale/fr.UTF-8/LC_MESSAGES/bash.mo
/usr/share/locale/fr.utf8/LC_MESSAGES/bash.mo
/usr/share/locale/fr/LC_MESSAGES/bash.mo
/dev/null
/etc/profile.d/which2.sh
/home/toto/.bash_profile
/home/toto/.bashrc
/etc/bashrc |
Partager