cp без опций

Если вы хотите удалить TCP-записи conntrack с IP-адресом источника $1(, первым параметром вашего скрипта ), исходным портом назначения 80 и состоянием ESTABLISHED, это должно быть просто :

. ]
conntrack -D -s "$1" -p tcp --dport 80 --state ESTABLISHED

Помимо уже упомянутых проблем, ваш подход будет соответствовать строкам, которые также имеют dport=8080, или строкам, которые имеют dport=80в ответе -на dst. И $1в "--orig-src " $1будет первым полем в строке, расширенной с помощью awk, а не первым аргументом скрипта. Кроме того, grep 10.1.1.4будет соответствовать 10.1.1.40и 10.101.4.5даже с grep -w(., поскольку оператор регулярного выражения соответствует любому символу и не является символом слова ).

Если бы conntrackне имел возможности фильтровать записи сам по себе, вы бы предпочли сделать что-то вроде:

conntrack -L | SRC=$1 awk '
  $1 == "tcp" && \
  $4 == "ESTABLISHED" && \
  $5 == "src=" ENVIRON["SRC"] && \
  $8 == "dport=80" {
    dst = substr($6, 5)
    sport = substr($7, 7)
    system("conntrack -D -s \"$SRC\" -d "dst" --dport 80 --sport "sport)
  }'

Или чтобы избежать выполнения одной команды shдля каждой записи для удаления (в дополнение к одной команде conntrack):

conntrack -L | SRC=$1 awk '
  $1 == "tcp" && \
  $4 == "ESTABLISHED" && \
  $5 == "src=" ENVIRON["SRC"] && \
  $8 == "dport=80" {
    dst = substr($6, 5)
    sport = substr($7, 7)
    print "conntrack -D -s \"$SRC\" -d "dst" --dport 80 --sport "sport
  }' | sh
0
16.01.2020, 13:02
1 ответ

Для утилиты cpнет обязательных опций. Если в руководстве перечислены параметры в квадратных скобках в синопсисе (, например [OPTIONS]в руководстве GNU cpили [-afipv]в руководстве OpenBSD cp), то они являются необязательными . ].

Опция-u(--update)является нестандартной опцией -, которую реализует GNU cp. Если вы решите использовать эту опцию с GNU cp, копия будет сделана только в том случае, если исходный файл новее целевого файла или если целевой файл отсутствует. Без опции -uкопирование исходного файла будет всегда .

1
05.04.2020, 15:51

Теги

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