Я обычно использую следующие два:
Кронциркуль HP: его очень хороший инструмент для процессов контроля это можно проверить граф вызовов и другую информацию о низком уровне также. Но отметьте его свободное только персональным использованием.
daemontools: набор инструментов для руководящих сервисов UNIX
Это датируется полностью назад к самому первому выпуску Unix, где все стандартные имена файлов были только самое большее 6 символами долго (думать passwd
), даже при том, что эта версия поддерживала кричащий 8 символов в имени файла. Большинство команд имело связанный исходный файл, заканчивающийся в .c
(например. umount.c
), который оставил только 6 символов для базового имени.
Ограничение с 6 символами, возможно, также было пережитком от более ранней версии разработки или наследовалось тогдашней текущей системе IBM, которая действительно имела ограничение с 6 символами. (Ранние реализации C имели предел с 6 символами на идентификаторы — более длительные идентификаторы были приняты, но компилятор только посмотрел на первые 6 символов, таким образом, foobar1
и foobar2
была та же переменная.)
(Я думал, что помнил a umount
страница справочника, которая перечислила написание как ошибку неизвестного источника, но я не могу найти его теперь.)
Похоже, здесь уже давно сидит некоторая неверная информация.
Наиболее вероятная причина того, что команда umount
имеет сокращенное имя, заключается в том, что оно следует из имени используемого системного вызова: umount ()
.
Вероятная причина того, что системный вызов unmount, имеющий имя umount ()
, заключается в том, что ранние компоновщики ограничивали длину внешних идентификаторов до 6 символов (только для одного случая) на некоторых типах систем (и в то время имело смысл поддерживать совместимость с такими инструментами), а «umount» - это логическая форма сокращения от «unmount». См. Страницу 179 первого издания The C Programming Language для получения списка характеристик внешнего идентификатора различных систем, представляющих интерес на момент публикации.
Отметим также, что ранние компиляторы C считали первые 8 символов идентификатора значимыми, но позволяли идентификаторам быть длиннее. (K&R стр. 33)
Обратите внимание, что длина идентификаторов в таблицах символов ничего не имеет прямого отношения к длине имени файла, по крайней мере, не в пределах Unix (таблицы символов Unix, начиная с версии V1, имеют 8 символов для идентификаторы, хотя в руководстве V1 отмечается, что ассемблер " генерирует символы размером не более 7 байтов " ).
.c
(или.s
) расширение = 8 символьных пределов имени файла. – geekosaur 21.03.2011, 23:25directory
, который еще не имел бы соответствия). Так интересно почемуpasswd
было усеченным к 6 символам (не было apasswd
управляйте все же также, просто/etc/passwd
). – Gilles 'SO- stop being evil' 22.03.2011, 00:52urandom
– Anthony Garcia 02.06.2016, 17:04