Список содержимого каталога и всех подкаталогов, включая сведения о файле, т. е. размер, дату создания, дату изменения и дату последнего открытия

Нет, POSIX не заботится о выключении или перезагрузке системы Unix,ни о том, как службы запускаются при загрузке.

The following areas are outside of the scope of POSIX.1-2017:

  • Graphics interfaces

  • Database management system interfaces

  • Record I/O considerations

  • Object or binary code portability

  • System configuration and resource availability

POSIX.1-2017 describes the external characteristics and facilities that are of importance to application developers, rather than the internal construction techniques employed to achieve these capabilities. Special emphasis is placed on those functions and facilities that are needed in a wide variety of commercial applications.

(из раздела Introduction базовых определений POSIX)

Команда shutdownотносится к категории «Конфигурация системы и доступность ресурсов» и не является важным инструментом для разработчиков приложений.


Полный стандарт POSIX доступен в Интернете .

0
03.07.2020, 18:45
1 ответ

Не уверен, какая у вас оболочка по умолчанию в macOS или OSX, но если утилита statлибо доступна (, она должна )или может быть установлена, вы можете сделать это:

$ find. -exec stat -c "%n,%w,%y,%s" {} \;  # on Arch linux
$ find. -exec stat -t "%F %T" -f "%N,%B,%m,%z" {} \;  # on macOS, OSX

Пример вывода CSV:

./.bash_history,2020-07-05 19:27:36.691875334 +0200,2020-07-05 19:27:36.691875334 +0200,54669
./.gitignore_global,2018-03-03 14:22:52.298262296 +0100,2018-03-03 14:22:52.298262296 +0100,423
...

Если вы не знакомы с этим, я рекомендую вам ввести man find, а затем man stat[ 1 ] в вашем терминале, чтобы сориентироваться. Вот краткий обзор того, что вы увидите:

  • .указывает на ваш текущий рабочий каталог, т. е. на каталог, в котором вы находитесь, когда вводите приведенную выше команду. Вы можете изменить его на любой полный путь к каталогу, если вы вводите команду из каталога, отличного от того, чье дерево вы хотите исследовать
  • .
  • для каждого найденного файла выполните(-execфлаг )команду cmd statсо следующим форматом вывода:

В Arch Linux:

  • %nполное имя файла (путь к файлу + базовое имя файла ),
  • %wудобочитаемый файл времени рождения в форме YYYY-MM-DD HH:MM:SS +/-hhmmс числовым часовым поясом вашей системы, обозначенным +hhmmили -hhmm. Включены десятичные доли секунд,
  • %yчеловек -удобочитаемое время последней модификации данных файла, формат прежний
  • %sобщий размер файла в байтах.

В macOS или OSX реализация statотличается от реализации на платформах, ориентированных на GNU -. Я не смог проверить формат под macOS для этого ответа, но в принципе правильные параметры должны быть:

  • %Nимя файла,
  • %Bфайл времени рождения, формат даты и времени, как указано выше, без числового часового пояса,
  • %mвремя последней модификации файла, формат как у %B,
  • %zобщий размер файла.

Если вы хотите сохранить этот вывод для обработки пост-результатов -, включите перенаправление вывода на ваш cmd, например:

$ find. -exec stat -t "%F %T" -f "%N,%B,%m,%z" {} \; > stat.out # on macOS or OSX

Вы можете открыть выходной файл CSV непосредственно из LibreOffice Calc. Если, однако,если вы хотите создать исходный формат Excel, лучше всего использовать perlили python.

Выходной файл stat.outбудет перезаписываться каждый раз, когда вы -вводите команду cmd. Меняйте его имя каждый раз, чтобы избежать этого.

2
18.03.2021, 23:22

Теги

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