Благодаря принятому ответу было интересно узнать о существовании утилиты manpage-alert
, части devscripts
пакета, которая на самом деле является сценарием оболочки.
Я попытался установить, devscripts
но получил приглашение установить около 70 МБ зависимостей, поэтому я пропустил.
Скачивая devscripts
пакет deb ( apt download devscripts
), извлекая deb и более внимательно изучая manpage-alert
сценарий, вся история «под капотом» заключается в том, что этот сценарий оповещения запускает команду:
man -w -S 1:8:6 <file>
(w = показать местоположение -S 1: 8: 6 ограничивает поиск человека в разделах 1,8 и 6).
Эта операция выполняется во всех файлах рекурсивно под каталогами /bin
, /sbin
, /usr/bin
, /usr/sbin
, и /usr/games
.
Кроме того, перенаправляя man
к , 2>&1
а также перенаправление >/dev/null
, если файл имеет действительное местонахождение человека страницы ничего не печатается, но если man
жалуется на «нет ручного ввода» , то это сообщение будет напечатано.
Автор manpage-alert
также удаляет man
сообщение об ошибке из сообщения «см. Man 7 unsocumented for help» и сохраняет только первую строку = No manual entry for xxxx
.
В результате, следующие несколько строк приведут к похожему выводу двоичных файлов с отсутствующими справочными страницами без установки пакета 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##*/}
сохраняет только имя команды вскрышного пути /usr/bin/
или /bin/
или любые другие
Выше также можно запустить как однострочник:
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: Вы можете, конечно, установить, devscripts
так как в него включено много хороших утилит / скриптов. Мне просто нравится знать, что работает под капотом :-)