Здесь происходит то, что {a,c,r,t}{a,c,r,t}{a,c,r,t}{a,c,r,t}{a,c,r,t}
расширяется используемой вами оболочкой. Это означает, что первый из них (aaaa
) является шаблоном, который grep
будет искать по aaac
, aaar
и т.д., как если бы вы набрали:
grep aaaa aaac aaar aaat aaca ..... /usr/share/dict/words
Поместите шаблон поиска в одинарные кавычки, чтобы этого не произошло:
grep '{a,c,r,t}{a,c,r,t}{a,c,r,t}{a,c,r,t}' /usr/share/dict/words
С другой стороны, я не уверен, что вы используете правильный синтаксис для grep. Я бы использовал:
grep '[acrt][acrt][acrt][actr]' /usr/share/dict/words
который соответствует комбинациям из 4 символов, и, как прокомментировал @mueh:
grep -xE '[acrt]{1,4}' /usr/share/dict/words
для соответствия 1-4 комбинациям этих букв.
when we do telnet to localhost on port 8182, we get connection refuse
Это означает, что на порту 8182 на машине ничего не запущено. Убедитесь, что служба, которая должна работать на этом порту, установлена и работает.(TCP/UDP 8182 обычно используется для VMware Fault Domain Manager.)
Кстати, вам не нужно открывать порты в брандмауэре или отключать его для соединений с локального хоста на локальный.
Если вы получаете сообщение об отказе в подключении, значит либо служба не прослушивает порт 8182 на вашем IP-адресе loopback, либо на пути есть брандмауэр.
Вы можете проверить, какие процессы перечислены на каких IP/портах, используяnetstat
:
netstat -tunlp
Где t
— tcp
, u
— udp
, n
— показывать IP и номера портов, а не имена, l
— прослушивание, а p
— показывать процесс.
Вы можете проверить наличие брандмауэра с помощью iptables:
iptables -nvL