No Bash, você pode usar chaves para reduzir a quantidade de digitação necessária ao chamar comandos com vários argumentos.
$> mv path/to/{old_directory,new_directory}/file
Acho que isso também é útil ao criar um novo arquivo semelhante a outros no mesmo diretório:
$> vi path/to/{new_file.rb,*}
Isso abrirá o novo arquivo como o primeiro buffer e todos os outros arquivos no diretório como buffers adicionais para referência.
Você também pode usar mais de duas strings na expansão:
$> ls {.,lib,spec}/*.rb
Múltiplas expansões resultarão em cada combinação expressa:
$> rm images/{v1,v2}/*.{gif,jpg,png}
Se você quiser ver como uma expansão específica será tratada, basta substituir o comando por echo
:
$> echo images/{v1,v2}/*.{gif,jpg,png}
images/v1/*.gif images/v1/*.jpg images/v1/*.png images/v2/*.gif images/v2/*.jpg images/v2/*.png