Tem dificuldades com o comando de cópia segura do Linux? Use este exemplo scp

O comando scp permite que você copie um arquivo de forma eficiente entre dois hosts diferentes. A sintaxe de scp reutiliza a sintaxe de cp, por isso deve ser familiar para a maioria dos usuários do Linux.

O problema com o comando scp é que a origem ou o destino podem ser remotos, ou seja, um computador conectado a outra rede, diferente da sua local. Ao especificar um arquivo para cópia, você também precisará incluir detalhes sobre o host remoto. Isso inclui seu endereço IP e nome de usuário.

Carregando um arquivo usando o comando scp

A sintaxe scp geral é:

 scp source destination

Observe como esta é essencialmente a mesma sintaxe do comando cp .

O exemplo de scp mais simples é aquele que você provavelmente usará mais: enviar um arquivo de sua máquina local para um servidor remoto. Nesse caso, a parte de origem do comando é direta e o destino mais complicado:

 scp index.html [email protected]:/var/www/html/

Isso copiará um arquivo local denominado index.html para o host remoto. Você pode especificar isso da mesma forma que especifica um arquivo para qualquer outro comando. Pode ser uma referência absoluta ou relativa ao arquivo. Portanto, index.html , ../index.html e /home/bobby/index.html são maneiras diferentes que você pode usar para especificar um arquivo local.

O destino no exemplo é [email protected]: / var / www / html / . Isso significa que:

  1. O usuário bobby será o proprietário do novo arquivo no servidor remoto. Esse usuário precisará existir e você deverá ser capaz de acessá-lo.
  2. O nome do host do servidor para o qual enviaremos o arquivo é example.org . Especificamos o domínio aqui, mas você também pode usar um endereço IP .
  3. Nesse servidor, o scp fará o upload do arquivo para o diretório / var / www / html / .

Depois de inserir esse comando, seu terminal normalmente solicitará a senha do usuário que você especificou na máquina remota.

Baixando um diretório inteiro

Aqui está uma variante um pouco mais complicada que baixa um diretório inteiro:

 scp -rpC [email protected]:/tmp/docs /home/bobby

Primeiro, você deve notar que a origem agora é uma máquina remota, enquanto o destino é local. Além da troca de pedido, esses detalhes de origem e destino devem ser familiares. Mas este exemplo também apresenta três sinalizadores úteis:

  1. -r: baixa recursivamente um diretório inteiro. Ele irá transferir todos os arquivos dentro de / tmp / docs . Isso é muito útil para fazer backups rápidos ou transferir um grande número de arquivos, especialmente se você não tiver acesso de login ao host remoto.
  2. -p: Preserva os carimbos de data / hora do arquivo e os modos dos arquivos originais. Suas cópias locais terão os mesmos tempos de criação ou permissões de gravação que seus originais.
  3. -C: Ativa a compressão. Se você estiver transferindo muitos arquivos, isso pode acelerar as coisas, especialmente se você estiver usando uma conexão lenta.

O comando scp é quase tão fácil quanto o cp

O uso básico do comando scp é fácil: é igual ao cp. A principal diferença é que o scp precisa de mais alguns detalhes para o servidor remoto. No entanto, como com cp, existem sinalizadores úteis para estender a funcionalidade básica. Isso inclui compactação e cópia recursiva para permitir downloads de vários arquivos.

Dominar o comando scp pode ser útil se você for solicitado a gerenciar um servidor Linux. Fazer backups e transferência remota de dados é uma tarefa diária para quem está na administração de servidores.