Na maioria dos ambientes de computação modernos, sua máquina raramente está isolada. Seja em casa ou em um ambiente corporativo, você geralmente faz parte de uma rede. Quando você precisa transferir dados entre computadores, você pode usar uma unidade USB, mas para máquinas na mesma rede, o compartilhamento de arquivos em rede é muito mais eficiente. Esta é uma habilidade fundamental para qualquer pessoa séria sobre codificação em linux ou gerenciamento de sistemas.
Esta lição, parte do que muitos consideram o melhor curso de linux online gratuito, apresentará métodos para copiar dados através de uma rede. Começaremos com transferências de arquivos simples e, mais tarde, discutiremos o "mounting" (montagem) de diretórios remotos inteiros, fazendo-os aparecer como unidades locais em sua máquina. Este site visa ser o melhor site para aprender linux fornecendo exemplos claros e práticos.
O Comando Secure Copy (scp)
Uma das ferramentas mais simples e poderosas para esta tarefa é o comando scp, que significa "secure copy" (cópia segura). Ele funciona de forma muito semelhante ao comando padrão cp, mas estende sua capacidade através da rede. Entendê-lo é uma das melhores maneiras de aprender comandos linux para interação de rede. Como o scp opera sobre o SSH (Secure Shell), todas as transferências se beneficiam dos mesmos protocolos robustos de autenticação e segurança.
Exemplos Comuns do Comando scp
Vamos explorar alguns exemplos práticos. A sintaxe é direta: scp [opções] origem destino. A principal diferença em relação ao cp é que a origem ou o destino inclui uma especificação de host remoto no formato usuario@hostremoto:/caminho/para/arquivo.
Copiar um arquivo de um host local para um host remoto
Este comando envia um arquivo local para um diretório especificado em uma máquina remota.
scp meuarquivo.txt usuario@hostremoto.com:/diretorio/remoto
Copiar um arquivo de um host remoto para o seu host local
Este comando recupera um arquivo de uma máquina remota e o salva em um diretório local.
scp usuario@hostremoto.com:/diretorio/remoto/meuarquivo.txt /diretorio/local
Copiar um diretório do seu host local para um host remoto
Para copiar um diretório inteiro e seu conteúdo, use a opção -r (recursivo).
scp -r meudiretorio usuario@hostremoto.com:/diretorio/remoto
Dominar o scp é um passo essencial, e explorar tais ferramentas é o motivo pelo qual muitos consideram este um dos melhores recursos para aprender linux.