Opções de comandos de Terminal

Dicas - 30/Mar/2020 - por André Kanamura

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:

Foto de perfil do autor
André Kanamura

Dev na Campus Code