Как получить все правила IPtables

Самое легкое решение состоит в том, чтобы использовать zsh и использовать в своих интересах спецификаторы шарика om к виду ко времени изменения (новый первый) и [1] сохранить только первое соответствие.

tail -f /path/to/log/directory/*(om[1])

Если у Вас нет zsh, установите его. Если Вы действительно не хотите устанавливать zsh, это не слишком плохо с ls, при условии, что Ваши имена файлов не содержат специальных символов (что-либо непечатаемое призывает к проблеме здесь), который должен быть хорошо для файлов журнала. Обратите внимание, что, поскольку Paylo Almeida уже отметил, что Вы не можете только использовать вывод ls /path/to/log/directory так как это отображает пути, которые являются относительно /path/to/log/directory. Можно измениться на тот каталог сначала:

cd /path/to/log/directory
tail -f "$(ls -t | head -n 1)"

Или можно добавить путь:

tail -f "/path/to/log/directory/$(ls -t /path/to/log/directory | head -n 1)"

Или можно добраться ls распечатать полные пути:

tail -f "$(ls -t /path/to/log/directory/* | head -n 1)"

tail команда сохранит после того же файла навсегда, даже если более свежий файл журнала будет создан впоследствии. Если Вы хотите автоматически переключиться на другой файл, Вам нужен более сложный подход, где Вы обнаруживаете новые файлы и запускаете новый экземпляр tail на новом файле. В соответствии с Linux, можно использовать интерфейс inotify.

while true; do
  tail -n +1 -f /path/to/log/directory/*(om[1])
  inotifywait -qq -e create /path/to/log/directory
  kill $!
done

3
23.10.2014, 16:00
3 ответа

NetFilter поощряет использовать Команда iptables-Save , поскольку она предоставит вам подробный вид ваших встроенных цепей и тех, которые вы определили себя. Если вы хотите получить человеческий читаемый вид, вы можете использовать iptables -l -v -n --line-n

5
27.01.2020, 21:09

Это псевдоним, которую я положил в мой ~ / .bashrc ( fw означает «брандмауэр», который достаточно описательно для меня, измените его, если вы хотите):

настроить / и т.д. / sudoers, чтобы позволить вам запустить команду iptables без пароля или запустить его как root.

alias fw='clear ; sudo iptables --line-numbers -nvL ; echo ; echo '\''nat:'\'' ; echo ; sudo iptables -t nat --line-numbers -nvL ; echo ; echo '\''mangle:'\'' ; echo ; sudo iptables --line-numbers -t mangle -nvL'
1
27.01.2020, 21:09

Ваша команда перечисляет только таблицу фильтра по умолчанию . Всего таблиц пять: filter, nat, mangle, raw и security. Их можно выбрать с помощью опции -t:

iptables -t nat -L -n
5
27.01.2020, 21:09

Теги

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