No início do aprendizado de comandos no Terminal, até mesmo realizar uma simples ação pode parecer uma tarefa difícil. São muitos comandos com dezenas de opções e isso pode nos deixar frustrados. Aqui vamos mostrar como funcionam algumas opções de comandos básicos de Terminal e, a partir daí, você poderá fazer seus próprios testes e pesquisar outras fontes com mais segurança.
Vamos começar com uma ação básica: remover um diretório com todos os seus conteúdos. Para fazer isso podemos usar:
$ rm -r -f nome_do_diretorio
Você já deve conhecer o comando rm
(remove). Mas se o diretório a ser removido contiver outras pastas ou arquivos dentro dele, a ação não é executada. Por isso usamos as opções -r
(recursive) e -f
(force) deste comando. A primeira opção faz o comando ser executado recursivamente em todas as pastas e arquivos dentro do diretório, removendo tudo que há dentro dele. A segunda opção "força" a execução, sem que apareçam mensagens de confirmação para cada ação realizada. Ou seja, todo o diretório e seu conteúdo será removido sem fazer perguntas! Por isso cuidado ao usar esse comando.
A mesma opção de recursividade pode ser usada para outros comandos. Por exemplo, copiar um diretório e todo conteúdo dentro dele com cp -r diretorio_origem diretorio_destino
. Mas caso não desejemos copiar o diretório, apenas o seu conteúdo, a sintaxe do comando fica um pouco diferente:
$ cp -r diretorio_origem/* diretorio_destino
O *
indica que os arquivos serão copiados, mas não o diretório em si. No lugar do *
, também funciona usar o .
. Nesse caso, se não quisermos sobrescrever arquivos já existentes no diretório de destino, temos duas opções interessantes. A primeira é usar -i
(interactive). Ficaria assim:
$ cp -r -i diretorio_origem/* diretorio_destino
Dessa maneira para cada arquivo já existente no diretório de destino, o Terminal vai apresentar uma mensagem de confirmação da ação e você deve responder sim ou não. Note que talvez essa resposta esperada pelo Terminal pode variar entre y
, Y
, yes
, n
, N
, etc.
Outra forma de evitar que arquivos sejam sobrescritos é usar a opção -n
. Com ela, ao encontrar um arquivo já existente a ação é automaticamente pulada, assim, somente arquivos não existentes serão copiados.
$ cp -r -n diretorio_origem/* diretorio_destino
Agora que você conhece melhor como funcionam as opções de comandos, pode usar --help
após um comando qualquer para ver todas as opções disponíveis para ele.
Abaixo estão algumas referências para saber mais sobre comandos de Terminal: