Есть ли открытый монитор имен файлов?

Имя скрипта не считается частью позиционных параметров. Это означает, что

somescript arg1 arg2

установит $1на arg1и $2на arg2, а $#будет 2.

Имя скрипта будет доступно в $0, но $0отличается тем, что он не включен в массив $@, а $#является длиной (количество элементов )из $@.

1
04.02.2021, 22:09
1 ответ

Программа inotifywaitпредназначена для эффективного мониторинга файлов, таких как то, что вы ищете. Вот доказательство концепции:

$ inotifywait -qrm -e open -e access --format "%e %f" tmp/
OPEN hello
OPEN,ISDIR
ACCESS,ISDIR
OPEN hello

Вывод происходит при запуске touch tmp/hello, затем less tmp/h<TAB>(, вкладка -завершается до less tmp/hello), а затем Enter, чтобы открыть файл с помощью Less.

При общесистемном запуске вы, вероятно, захотите исключить такие места, как /procи /sys. Вы также можете передать его через grep -vE '^(OPEN|ACCESS),ISDIR$, чтобы исключить каталоги. Наконец, вам также следует обратить внимание на предостережение относительно рекурсивного мониторинга :

.

Warning: If you use this option while watching the root directory of a large tree, it may take quite a while until all inotify watches are established, and events will not be received in this time. Also, since one inotify watch will be established per subdirectory, it is possible that the maximum amount of inotify watches per user will be reached. The default maximum is 8192; it can be increased by writing to /proc/sys/fs/inotify/max_user_watches.

1
18.03.2021, 22:32

Теги

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