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:
- 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.
- 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 .
- 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:
- -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.
- -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.
- -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.