Muitas maneiras:
-
Usando aspas simples ao redor do nome:
cat > 'Grocery list' -
Usando aspas duplas em torno do nome:
cat > "Grocery list" -
Escape o espaço em branco com
\:cat > Grocery\ list
Quando você faz:
cat > Grocery list
Grocery e list são considerados como duas palavras.
A direção de saída > Grocery é feita por shell, e isso acontece primeiro, então o arquivo Grocery é criado e, em seguida, cat list é executado, ou seja, list é usado como argumento para cat presumivelmente, não há arquivo como list presente no diretório atual, daí o erro sobre a falta de list file.
Então, nesse caso, basicamente você está fazendo:
cat list > Grocery