Grâce à la réponse acceptée, il était intéressant de découvrir l'existence d'un utilitaire manpage-alert
, une partie du devscripts
package, qui est en fait un script shell.
J'ai essayé d'installer devscripts
mais j'ai reçu une invite pour installer environ 70 Mo de dépendances, j'ai donc sauté.
En téléchargeant le devscripts
paquet deb ( apt download devscripts
), en extrayant le deb et en examinant de plus près le manpage-alert
script, toute l'histoire "sous le capot" est que ce script d'alerte exécute la commande:
man -w -S 1:8:6 <file>
(w = montrer l'emplacement -S 1: 8: 6 limite la recherche de l'homme dans les sections 1,8 et 6).
Cette opération est réalisée dans tous les fichiers sous répertoires récursive /bin
, /sbin
, /usr/bin
, /usr/sbin
et /usr/games
.
De plus, en redirigeant man
vers 2>&1
et également en redirigeant vers >/dev/null
, si un fichier a un emplacement de page de manuel valide, rien n'est imprimé, mais s'il se man
plaint d'une "absence d'entrée manuelle", ce message est imprimé.
L'auteur de manpage-alert
supprime en outre le man
message d'erreur du message "voir man 7 sans document pour obtenir de l'aide" et ne conserve que la première ligne = No manual entry for xxxx
.
Par conséquent, les quelques lignes suivantes donneront une impression similaire des pages de manuel manquantes des binaires sans installer le package devscripts:
F=( "/bin/*" "/sbin/*" "/usr/bin/*" "/usr/sbin/*" "/usr/games/*" )
for f in ${F[@]};do
for ff in $f;do
if ! mp=$(man -w -S 1:8:6 "${ff##*/}" 2>&1 >/dev/null);then
echo "$mp" |grep -v "man 7 undocumented" #man 7 undocumented is printed in a separate line.
fi
done
done
PS: ${ff##*/}
ne conserve que le nom de la commande dépouillant le chemin /usr/bin/
ou /bin/
ou quoi que
Ci-dessus peut également fonctionner en une ligne:
gv@debi64:$ F=( "/bin/*" "/sbin/*" "/usr/bin/*" "/usr/sbin/*" "/usr/games/*" );for f in ${F[@]};do for ff in $f;do if ! mp=$(man -w -S 1:6:8 "${ff##*/}" 2>&1 >/dev/null);then echo "$mp" |grep -v "man 7 undocumented";fi;done;done
No manual entry for ntfsmove
No manual entry for ipmaddr
No manual entry for iptunnel
^C
PS: Vous pouvez bien sûr installer devscripts
car de nombreux utilitaires / scripts sont inclus. J'aime juste savoir ce qui se passe sous le capot :-)