lsof -p $(netstat -ltpn|awk '$4 ~ /:80$/ {print substr($7,1,index($7,"/")-1)}')| awk '$9 ~ /access.log$/ {print $9| "sort -u"}'
Команда lsof используется для получения списка открытых файлов и сетевых соединений в операционной системе. В данном случае, мы ищем активные access_logs для процесса Apache или Lighttpd.
Первая часть команды netstat -ltpn|awk '$4 ~ /:80$/ {print substr($7,1,index($7,"/")-1)}'
используется для фильтрации процессов, прослушивающих порт 80, затем мы извлекаем идентификаторы этих процессов и передаем их в качестве параметров в lsof.
Вторая часть команды awk '$9 ~ /access.log$/ {print $9| "sort -u"}'
используется для фильтрации открытых файлов, чтобы получить только те, которые содержат «access.log» в своем имени. Затем мы используем команду «sort -u» для сортировки и удаления дубликатов.
Таким образом, данная команда позволяет получить список всех активных access_logs для текущего запущенного процесса Apache или Lighttpd. Альтернативными способами могут быть использование инструментов для мониторинга процессов и файловых систем, таких как ps, top, htop, или grep, find.