Вы можете использовать для цикла
для петли по отдельные файлы, а затем использовать TEE
в сочетании с заменой процессов (работает в Bash и ZSH среди других)
Труба к разным контрольным оттенкам.
Пример:
for file in *.mkv; do
tee < "$file" >(sha256sum) | md5sum
done
Вы также можете использовать более двух контрольных камер:
for file in *.mkv; do
tee < "$file" >(sha256sum) >(sha384sum) | md5sum
done
Это имеет недостаток, что Checksummers не знают имя файла, Потому что он передан как стандартный вход. Если это не приемлемо, вы должны излучает имена файлов вручную. Полный пример:
for file in *.mkv; do
echo "$file"
tee < "$file" >(sha256sum) >(sha384sum) | md5sum
echo
done > hashfilelist
man iptables
расскажет вам большую часть этого и содержит обширный список примеров.
-t
Укажите таблицу, в которую нужно добавить правило (по умолчанию, таблица filter
)
-A
Добавить правило к указанной цепочке правил (в отличие от в -I
для вставки в начале).
-i
Установить интерфейс для этого правила для соответствия (по умолчанию *
или все)
-p
соответствие протоколу пакета
-m
Используйте расширенный модуль сопоставления пакетов, как указано, в вашем случае состояния пакетов.
- состояние
Для расширенного модуля состояние
сопоставьте любой НОВЫЙ
или УСТАНОВЛЕННЫЙ
пакет (через ip_conntrack
- ip информация отслеживания соединения, хранящаяся в памяти)
-j
«Перейти» пакет к указанной цели, встроенная функция ACCEPT позволяет пакету пройти через
Для некоторых из этих концепций это помогает узнать, как пакеты проходят iptables
:
Каждый квадрат представляет собой таблицу
( -t
)
Столбцы представляют собой цепочки
(что вы добавляете / вставляете / удаляете правила)
Изображение из http://en.wikibooks.org/wiki/Communication_Networks/IP_Tables
i - указывает интерфейсы, на которых был получен пакет
p - указывает протокол как tcp, udp или icmp
Параметр -A a не означает ACCEPT, а добавляет правило в конец цепочки iptables INPUT
-m state - указывает соответствие, чтобы использовать здесь он загружает модуль состояния и разрешает только НОВЫЕ и УСТАНОВЛЕННЫЕ соединения
-j - указывает цель перехода (что делать, если пакет соответствует ей) здесь для ПРИНЯТИЯ соединения
другие цели - DROP, DENY, LOG-A = ACCEPT
-i = Interface
-p= Protocol
Я прочитал это, когда пытался учиться