Как классифицируются программы как «утилиты корзины» или как «инструменты»?

Некоторые кандидаты включают следующее. Время файла отображается в метаданных, а mdls— это «м эта д ата л я с т». При использовании с опцией -rawвыходные данные mdlsсодержат поля, разделенные символом NUL. например. следующее.

# The creation date which should not change.
mdls -raw -name kMDItemFSCreationDate $filename

Команда statведет себя иначе. Ниже приведены результаты четырех версий двух оболочек с использованием команды stat -f $filename.

  1. /usr/local/bin/zsh(5.7.1 через Homebrew )производит stat: missing file descriptor.
  2. /usr/local/bin/bash(5.0.2 (1 )через Homebrew )производит testing.txt.
  3. /bin/zsh(5.3, входящая в состав macOS ), создает stat: missing file descriptor.
  4. /bin/bash(3.2.57 (1 )включение в macOS производит testing.txt.

Однако при использовании полного пути к statкоманда завершается ожидаемым образом в каждой версии обеих оболочек. Ниже приведен пример, который дает все времена, найденные с помощью stat.

/usr/bin/stat -f "Access (atime): %Sa%nModify (mtime): %Sm%nChange (ctime): %Sc%nBirth  (Btime): %SB" testing.txt

Команда выдает результат, подобный приведенному выше результату приведенной выше команды.

Access (atime): Feb 21 10:46:41 2019
Modify (mtime): Feb 21 10:46:21 2019
Change (ctime): Feb 21 10:46:21 2019
Birth  (Btime): Feb 21 10:22:17 2019

Это был интересный вопрос, и я надеюсь получить больше информации о причине несоответствия.

0
15.07.2020, 10:59
1 ответ

objdump, по крайней мере, в большинстве систем Linux, является частью GNU Binutils , что, вероятно, объясняет то, что вы слышали. Это инструменты, которые позволяют манипулировать объектными файлами, то есть результатом компиляции исходных модулей :, их создания (с помощью as), объединения их вместе (с помощью ld), их дампа (с использованием objdump), сборка библиотек из них (с использованиемar)и т. д. Они также включают инструменты, которые манипулируют исполняемыми файлами в более широком смысле. Я склонен рассматривать их как «все необходимое для поддержки библиотеки C и компилятора C».

Команды, включенные в этот проект, являются частью Binutils, а другие — нет.

Помимо этого, я не думаю, что существует какое-либо универсальное, согласованное -различие между инструментами и утилитами.

3
18.03.2021, 23:19

Теги

Похожие вопросы