В терминале Linux это знак тире можно использовать как временное имя файла? - PullRequest
0 голосов
/ 19 ноября 2018

Я новичок в Linux, и я изучал nmap, у меня вопрос о знаке тире, я видел в руководстве строку команды, которая

nmap -oG - 1.2.3.4 -p 22 -vv > /home/TEST

Мой вопрос: после -oG для опции требуется имя файла, но почему его можно пропустить, если в качестве имени файла для опции используется знак тире? это из-за того, что знак тире означает временный файл или что-то еще? Также он не создаст файл с именем «-» в каталоге / home /.

1 Ответ

0 голосов
/ 19 ноября 2018

Это означает stdout, что в вашем примере будет /home/TEST.Вы также можете просто использовать:

nmap -oG /home/TEST 1.2.3.4 -p 22 -vv

С man nmap (раздел «Вывод» ):

...Хотя эти параметры сохраняют результаты в файлы, Nmap по-прежнему печатает интерактивный вывод на стандартный вывод.Например, команда nmap -oX myscan.xml target печатает XML в myscan.xml и заполняет стандартный вывод теми же интерактивными результатами, которые выдали бы, если бы -oX не был указан вообще. Вы можете изменить это, передав символ дефиса в качестве аргумента одному из типов формата.Это приводит к тому, что Nmap отключает интерактивный вывод и вместо этого печатает результаты в формате, который вы указали для стандартного потока вывода.Поэтому команда nmap -oX - target будет отправлять только вывод XML на стандартный вывод. Серьезные ошибки могут по-прежнему выводиться в обычный поток ошибок, stderr. ...

...