Quando você executar grep , se você incluir um nome de arquivo ( grep pattern file ), ele procurará esse arquivo. Quando você não faz isso, ele procura a entrada padrão (stdin). Se você incluí-lo em um pipe ( foo | grep ), ele lê o pipe. Quando você executa apenas grep pattern , ele lê a entrada do console. Este é um padrão muito comum entre os utilitários Unix e Linux. Quando você digita exit , end , quit ou qualquer outra coisa, ele compara com o padrão e imprime se corresponder, como se você tivesse fornecido um arquivo. Tente inserir uma linha que corresponda ao padrão - você verá que ela ecoou de volta para você.
Para sair disso, pressione Ctrl + D para sinalizar o final do arquivo. Ctrl + C mata a maioria dos programas, mas é menos limpo que Ctrl + D .