Как можно найти именно, какие файлы были доступны после команды в TCSH?

Вы пробовали использовать команду cron для планирования заданий?

См. Эту ссылку: Автоматические задачи | Документация по проекту CentOS

0
13.09.2018, 04:15
1 ответ

Я бы использовалstraceдля захвата всего сеанса и поднял клавиатуру -, прочитав вывод сценария, а затем нашел все открытые -вызовы после этого. Это работает с Linux и некоторыми другими системами. Аналогичная трассировка для BSD (MacOS — это совсем другая история ).

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

openat(AT_FDCWD, ".", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3

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

lstat("xterm.desktop", {st_mode=S_IFREG|0444, st_size=1921,...}) = 0

"."— текущий каталог. Программа считывает список записей каталогов, которые могут быть файлами, каталогами, символическими ссылками и т. д., но они не отсортированы (и их типы неизвестны, пока она не используетstat/lstatдля запроса ).

locateиwhereisне будут отображать полезные данные, так как они не используют те же правила для поиска файлов, что и tcsh.

1
28.01.2020, 02:42

Теги

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