Alguns truques para facilitar o seu dia-a-dia na linha de comando:
!$
Representa a última parte do último comando executado. Exemplo:
$ grep macarrao comidas.txt macarrao
$ cat !$ cat comidas.txt arroz feijao batata frita macarrao
Expansão automática
Expande automaticamente os valores entre chaves. Uma mão na roda para loops:
$ for i in {1..4}; do echo "i vale $i"; done
i vale 1
i vale 2
i vale 3
i vale 4
Também funciona com letras:
$ for i in {a..d}; do echo "i vale $i"; done
i vale a
i vale b
i vale c
i vale d
E pode ser útil em situações assim:
$ mkdir -p diretorio{a..c}/sub-diretorio{w..z}
$ find . . ./diretorioc ./diretorioc/sub-diretoriow ./diretorioc/sub-diretoriox ./diretorioc/sub-diretorioz ./diretorioc/sub-diretorioy ./diretoriob ./diretoriob/sub-diretoriow ./diretoriob/sub-diretoriox ./diretoriob/sub-diretorioz ./diretoriob/sub-diretorioy ./diretorioa ./diretorioa/sub-diretoriow ./diretorioa/sub-diretoriox ./diretorioa/sub-diretorioz ./diretorioa/sub-diretorioy
^antigo^novo
Executa o último comando substituindo o valor antigo pelo novo. Exemplo:
$ cat /etb/lsb-release cat: /etb/lsb-release: No such file or directory
$ ^b^c cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=8.10 DISTRIB_CODENAME=intrepid DISTRIB_DESCRIPTION="Ubuntu 8.10"
!!
Reexecuta o último comando. Útil quando você esqueceu algo, como o sudo na frente do comando. Exemplo:
$ whoami user
$ sudo !! sudo whoami root
Mais truques e dicas aqui.