Выборка ниже взята с начала главы 5, Управляя Что К NAT в этом руководстве по NAT с 2002.
_____ _____
/ \ / \
PREROUTING -->[Routing ]----------------->POSTROUTING----->
\D-NAT/ [Decision] \S-NAT/
| ^
| |
--------> Local Process ------
"В каждой из точек выше, когда пакет передает, мы ищем, с каким соединением он связан. Если это - новое соединение, мы ищем соответствующую цепочку в таблице NAT для наблюдения, что сделать с ним. Ответ, который это дает, будет относиться ко всем будущим пакетам на том соединении".
По умолчанию Ack ищет шаблон во всех недвоичных файлах ниже текущего каталога.
Я полагаю, что более старые версии Ack перерыли бы двоичные файлы при передаче их --binary
флаг. Этот флаг был удален все же. Вы можете использовать grep вместо этого.
grep -ar 'foo' .
Когда Вы не передаете имени файла ack, он воздействует на встроенный набор по умолчанию файлов, который исключает нераспознанные двоичные файлы. При передаче имен файлов это ищет во всех файлах, которые Вы передаете. Это объясняет различие между ack foo
и ack foo **
.
В ack 1.x, используйте флаг -a
сказать ack не пропускать файлы, тип которых это не распознает.
Можно сделать псевдоним, если Вы хотите тот флаг, как правило: добавьте строку alias ack='ack -a'
в Вашем ~/.bashrc
или ~/.zshrc
. Если Вы настраиваете этот псевдоним и хотите звонить ack
без опции звонить \ack
(обратная косая черта отключает расширение псевдонима). Сценарии не затронуты псевдонимом, только интерактивные оболочки.
С другой стороны, можно добавить -a
опция к Вашему ~/.ackrc
.
Соответствия в двоичных файлах будут перечислены как “Соответствия двоичного файла test1”. Нет никакого способа отключить это поведение, не изменяя сам Ack (по крайней мере, добавляющий плагин).
В ack 2.0, -a
опция была удалена. Что можно сделать, вместо этого должен определить тип, который соответствует всем файлам, и используйте -k
опция заставить ack включать все файлы того типа. Обратите внимание, что типы файлов обрабатываются в непредсказуемом порядке, к этому заставит случайный набор двоичных типов быть обработанным столь же обычный вместо как обычный тип.
ack --type-set='all:match:.*' -k foo
Таким образом, соответствия печатаются даже для файлов, которые иначе выглядели бы двоичными. Как выше, можно добавить эти опции к псевдониму или к Вашему .ackrc
.