Завдяки прийнятій відповіді було цікаво дізнатись про існування утиліти 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повідомлення про помилку з повідомлення "див. Людину 7 без документації для допомоги" і зберігає лише перший рядок = 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оскільки в комплекті є багато приємних утиліт / сценаріїв. Мені просто подобається знати, що працює під капотом :-)