Como usar o comando de CD no Linux
Uma maneira fácil de alterar diretórios no Linux a partir do terminal
Um tutorial fácil para ajudá-lo a transferir arquivos para um sistema remoto de seu sistema Linux usando o comando scp.
SCP significa 'Cópia Segura'. scp
é um utilitário de linha de comando oferecido pelo Linux que permite a transferência de arquivos e diretórios de uma máquina para outra em uma rede insegura.
Se você deseja copiar arquivos de um sistema para outro, essa scp
pode ser uma boa opção para fazer uma transferência segura dos arquivos e diretórios. Quando as duas máquinas em comunicação estão conectadas na mesma rede, o uso scp
se torna possível.
Você pode confiar fortemente no scp
comando para confidencialidade e integridade, pois o arquivo que está sendo transferido e a senha usada para a transferência são criptografados. Nenhuma informação sensível será revelada, mesmo se alguém tentar espionar o tráfego enquanto a transferência estiver em andamento.
Neste tutorial, veremos diferentes exemplos do scp
comando. Também veremos algumas das opções mais usadas com o scp
comando.
Introdução ao comando scp
Usando o scp
comando, você pode transferir arquivos / diretórios:
Sintaxe geral:
scp [Option] [source_file_name] [[email protected]_Host]:destination_folder
Vamos entender os atributos básicos deste comando, um por um.
@
símbolo ' '.Nota: O :
símbolo de dois pontos ( ) é usado na sintaxe, pois diferencia entre os locais locais e remotos. Usamos dois pontos ( :
) com o sistema remoto para especificar o diretório para o qual os arquivos devem ser copiados. Caso não especifiquemos o diretório de destino, os arquivos serão copiados para o diretório inicial do usuário do sistema remoto.
Opções usadas com scp
Algumas das opções mais populares usadas com o scp
comando estão listadas abaixo.
Opção | Descrição |
-C |
permitir a compressão do arquivo a ser transferido |
-v |
dê a saída detalhada |
-r |
copiar arquivos e diretórios recursivamente |
-p |
preservar permissões, modos e tempos de acesso de arquivos |
-P |
mudar a porta padrão usada pelo scp comando |
Opções frequentemente usadas com o comando scp
Veremos exemplos dessas opções mais adiante no tutorial.
Copiando o arquivo de um sistema local para um remoto
scp
permite que você transfira arquivos de seu sistema local para um sistema remoto usando a seguinte sintaxe. Isso permite que você transfira ou carregue seus arquivos para um servidor localizado remotamente.
Sintaxe geral:
scp [file_name] [email protected]:[destination_folder]
Exemplo:
scp apache-tomcat-9.0.8.tar.gz [email protected]:gaurav
Neste exemplo, estamos copiando um arquivo 'apache-tomcat-9.0.8.tar.gz' do sistema local para o sistema remoto cujo endereço IP é '143.110.178.221'.
No sistema remoto, o arquivo agora será copiado no diretório chamado 'gaurav'.
Saída:
[email protected]:~$ scp apache-tomcat-9.0.8.tar.gz [email protected]:gaurav
[email protected]'s password:
apache-tomcat-9.0.8.tar.gz 100% 9589KB 79.8KB/s 02:00
[email protected]:~$
Vamos verificar a saída do sistema remoto para o arquivo.
[email protected]:~/gaurav# ls
apache-tomcat-9.0.8.tar.gz
[email protected]:~/gaurav#
Assim, o arquivo é copiado com sucesso para o sistema remoto usando o scp
comando.
Copiar vários arquivos para um sistema remoto
No exemplo anterior, aprendemos a transferir um arquivo para o sistema remoto usando o scp
comando. Veremos agora o método para transferir vários arquivos de seu sistema local para um sistema remoto usando este comando.
Sintaxe geral:
scp [file 1] [file 2] [file n] [email protected]_host:[specific directory]
Vamos entender este processo simples com um exemplo.
Exemplo:
scp ath.html abc.txt ppa-purge_0.2.8+bzr56_all.deb [email protected]:gaurav
Aqui, vários arquivos são mencionados no comando a serem copiados no sistema remoto.
Saída:
[email protected]:~$ scp ath.html abc.txt ppa-purge_0.2.8+bzr56_all.deb [email protected]:gaurav
[email protected]'s password:
ath.html 100% 199KB 94.7KB/s 00:02
abc.txt 100% 0 0.0KB/s 00:00
ppa-purge_0.2.8+bzr56_all.deb 100% 4360 42.2KB/s 00:00
[email protected]:~$
No sistema remoto:
[email protected]:~/gaurav# ls -l
total 9800
-rw-r--r-- 1 root root 0 Oct 5 08:58 abc.txt
-rw-r--r-- 1 root root 9818695 Oct 5 08:35 apache-tomcat-9.0.8.tar.gz
-rw-r--r-- 1 root root 204057 Oct 5 08:58 ath.html
-rw-r--r-- 1 root root 4360 Oct 5 08:58 ppa-purge_0.2.8+bzr56_all.deb
[email protected]:~/gaurav#
Todos os três arquivos agora são copiados no sistema remoto.
Copiando um diretório para o sistema remoto
Você pode usar o scp
comando para copiar um diretório de seu sistema local para o sistema remoto. O processo é semelhante ao de copiar um arquivo. Para copiar também o conteúdo do diretório, você pode usar a -r
opção com o scp
comando.
A -r
opção é usada para copiar um diretório recursivamente. Isso significa que todas as subpastas e arquivos dentro do diretório também serão copiados.
Sintaxe geral:
scp -r [directory path] [email protected]_host:[target_directory]
Exemplo:
scp -r PycharmProjects [email protected]:gaurav
Saída:
[email protected]:~$ scp -r PycharmProjects [email protected]:gaurav
[email protected]'s password:
__main__.py 100% 623 7.8KB/s 00:00
__init__.py 100% 23 0.4KB/s 00:00
completion.py 100% 2929 28.1KB/s 00:00
search.py 100% 4728 38.7KB/s 00:00
uninstall.py 100% 2963 32.5KB/s 00:00
hash.py 100% 1681 21.3KB/s 00:00
check.py 100% 1430 16.8KB/s 00:00
configuration.py 100% 7125 50.4KB/s 00:00
show.py 100% 6289 49.8KB/s 00:00
download.py 100% 6623 48.2KB/s 00:00
[email protected]:~$
Usar a -r
opção com o scp
comando copia todas as subpastas e arquivos do diretório da máquina local para o sistema remoto.
Exibindo informações detalhadas sobre o processo scp
Você pode usar a opção -v
(minúsculas v
) para exibir as informações sobre os arquivos que estão sendo copiados em um sistema remoto ou local. Esse tipo de saída também é chamado de saída detalhada.
Quando essa opção é usada, as informações de depuração completas sobre o arquivo são exibidas na tela.
Sintaxe geral:
scp -v [file_name] [email protected]_host:
Exemplo:
scp -v apache-tomcat-9.0.8.tar.gz [email protected]:team
Saída:
[email protected]:~$ scp -v apache-tomcat-9.0.8.tar.gz [email protected]:team
Executing: program /usr/bin/ssh host 159.89.170.11, user root, command scp -v -t team
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/gaurav/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 159.89.170.11 [159.89.170.11] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /home/gaurav/.ssh/id_rsa type -1
apache-tomcat-9.0.8.tar.gz 100% 9589KB 99.8KB/s 01:36
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 9826736, received 4016 bytes, in 97.2 seconds
Bytes per second: sent 101133.9, received 41.3
debug1: Exit status 0
[email protected]:~$
Aqui, na saída, você pode ver que as informações de depuração do arquivo estão sendo exibidas em seu terminal quando o scp
comando é usado com a -v
opção.
Transferência de arquivos entre dois hosts remotos
O Linux permite que você se conecte a vários hosts remotos. Você pode transferir arquivos e diretórios entre dois hosts remotos usando o scp
comando.
Sintaxe geral:
scp [email protected]_1:/[file_name] [email protected]_2:[folder_to_save]
A sintaxe pode parecer um pouco mais ampla, mas é bem simples. Aqui, a primeira parte do comando fornece a entrada sobre o usuário remoto de onde o arquivo deve ser copiado. dois pontos (:) e /
é usado para especificar o nome do arquivo ou o nome do diretório que deve ser transferido entre as duas máquinas remotas.
A segunda parte fornece informações sobre o sistema remoto de destino onde o arquivo deve ser copiado.
Exemplo:
scp -r [email protected]:gaurav [email protected]:/team
Aqui, estaremos copiando um diretório chamado 'gaurav' recursivamente do sistema local para um sistema remoto. O arquivo será copiado para uma pasta 'equipe' no sistema remoto.
Saída:
[email protected]:~$ scp -r [email protected]:/gaurav [email protected]:/team
[email protected]'s password:
1.py 100% 134 261.3KB/s 00:00
variables.py 100% 377 949.2KB/s 00:00
abc.txt 100% 0 0.0KB/s 00:00
ath.html 100% 199KB 41.8MB/s 00:00
[email protected]:~$
Aqui, usamos o scp
comando no sistema local para transferir um diretório chamado 'gaurav' de um servidor remoto para outro.
Transfira arquivos do sistema remoto para o seu sistema local
Você pode transferir facilmente os arquivos ou diretórios do sistema remoto para o seu sistema local usando o scp
comando. Em palavras mais simples, você pode baixar vários arquivos ou diretórios do servidor remoto para o seu sistema local usando o scp
comando.
Sintaxe geral:
scp [email protected]_host:/files/file.txt /[folder_of_local_system]
Saída:
[email protected]:~$ scp [email protected]:how.txt .
[email protected]'s password:
how.txt 100% 11 0.1KB/s 00:00
[email protected]:~$
Aqui, baixei (copiei) o arquivo do servidor remoto para meu diretório inicial. Portanto, usei dot ( .
) para especificar no comando a cópia do arquivo para meu diretório inicial.
Saída de amostra:
[email protected]:~$ ls -l how.txt
-rw-r--r-- 1 gaurav gaurav 11 Oct 6 09:49 how.txt
[email protected]:~$
Aqui, o arquivo agora é copiado para meu diretório inicial do servidor remoto.
Da mesma forma, você pode baixar vários arquivos ou diretórios do servidor remoto usando o scp
comando com as opções apropriadas.
Compactar arquivos para fazer transferências mais rápidas
Às vezes, a transferência de arquivos grandes pode ser demorada. Esse problema pode ser resolvido ao usar o scp
comando com a opção -C
(maiúsculas C
).
Usando a -C
opção, compacta os arquivos de tamanho maior, o que facilita uma transferência mais rápida e, portanto, economiza tempo.
Um fato interessante sobre esta opção é que o arquivo é copiado com seu tamanho original no sistema de destino, mas durante o processo de transferência, o tamanho é compactado para permitir uma transferência mais rápida. Assim, a compressão só é feita na rede.
Sintaxe geral:
scp -C [file_name] [email protected]_host:[target_folder]
Vejamos um exemplo comparativo para entender a diferença.
Transferência sem opção -C:
[email protected]:~$ scp -rv dlink [email protected]:team
Executing: program /usr/bin/ssh host 68.183.82.183, user root, command scp -v -r -t team
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/trinity/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 68.183.82.183 [68.183.82.183] port 22.
debug1: Connection established.
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 7516504, received 4008 bytes, in 74.6 seconds
Bytes per second: sent 100693.7, received 53.7
debug1: Exit status 0
[email protected]:~$
Do exposto acima, podemos ver que o tempo necessário para a transferência é de 74,6 segundos. Tentaremos transferir o mesmo arquivo usando a opção -C e observar a diferença.
Transferir com a opção -C:
[email protected]:~$ scp -Crv dlink [email protected]:team
Executing: program /usr/bin/ssh host 68.183.82.183, user root, command scp -v -r -t team
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /home/trinity/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 68.183.82.183 [68.183.82.183] port 22.
debug1: Connection established.
.
.
webupload.img 100% 1834KB 98.7KB/s 00:18
Sending file modes: C0664 1877552 router.img
Sink: C0664 1877552 router.img
router.img 100% 1834KB 100.3KB/s 00:18
Sink: E
Sending file modes: C0664 3754103 DSL-2750U-Release-IN-T-01.00.07.zip
Sink: C0664 3754103 DSL-2750U-Release-IN-T-01.00.07.zip
DSL-2750U-Release-IN-T-01.00.07.zip 100% 3666KB 218.5KB/s 00:16
Sink: E
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
debug1: fd 1 clearing O_NONBLOCK
Transferred: sent 7518864, received 3828 bytes, in 51.0 seconds
Bytes per second: sent 100245.4, received 51.0
debug1: Exit status 0
debug1: compress outgoing: raw data 7511925, compressed 7513136, factor 1.00
debug1: compress incoming: raw data 1467, compressed 999, factor 0.68
[email protected]:~$
Aqui, podemos facilmente observar que o uso da -C
opção com o scp
comando nos permitiu compactar o arquivo pela rede, provando ser uma opção que economiza tempo.
Usando uma porta ssh diferente para transferência de arquivos
Ao usar o scp
comando, a porta padrão implantada é a port 22
. O usuário tem a liberdade de personalizar sua escolha de porta. Você pode usar a -P
(opção P maiúscula) com o scp
comando para usar a porta de sua escolha.
Sintaxe geral:
cp -P [new_port_number] [file_name/directory_name] [email protected]:[destination_folder]
Exemplo:
scp -P 4248 dlink [email protected]:team
Usando o comando acima, o arquivo será transferido para o servidor remoto. Mas desta vez, a porta usada será em port 4248
vez da padrão port 22
.
Conclusão
Depois de passar por este tutorial, aprendemos sobre a natureza dinâmica do scp
comando usado para transferir ou copiar arquivos de um sistema para outro. Esta opção também pode ser usada para baixar arquivos ou diretórios do servidor remoto. Assim, podemos concluir que o scp
comando se mostra muito útil para transferências de arquivos quando você precisa lidar com mais de um sistema e também com servidores remotos simultaneamente.
Uma maneira fácil de alterar diretórios no Linux a partir do terminal
O comando make é provavelmente um dos comandos mais amplamente usados no ecossistema Linux. Este comando é usado para construir e compilar programas diretamente do código-fonte.
A primeira coisa que você pode se perguntar ao mudar para um Chromebook é como fazer as coisas básicas - o tipo de coisa que você tinha nas costas da mão em seu sistema operacional anterior. Copiar e colar é uma função fundamental que você deve usar em um ponto ou outro.
Na era moderna da tecnologia, a digitação se tornou uma das atividades mais comuns para muitas profissões. Aprender a digitar mais rápido com precisão pode ajudá-lo a realizar mais tarefas no mesmo período.
O Ubuntu é popular por sua robustez e relativamente menos erros. Mas não sem seu saco de problemas, com certeza. Um desses problemas é com o driver Wi-Fi. Você pode ligar o sistema apenas para descobrir que o Wi-Fi não está funcionando.
Códigos de resposta rápida, ou códigos QR para abreviar, são códigos de barras avançados que contêm mais informações do que um código de barras tradicional. Esses códigos são bidimensionais, permitindo que você os escaneie vertical ou horizontalmente.
Quer instalar pacotes no Arch Linux, mas não sabe como? Muitas pessoas enfrentam esse problema quando migram pela primeira vez de distribuições baseadas em Debian para o Arch. No entanto, você pode gerenciar facilmente pacotes em seu sistema baseado em Arch usando gerenciadores de pacotes.
O Spotify é um dos maiores serviços de streaming de música que existe. Possui clientes nativos para dispositivos móveis (Android e iOS) e desktop (Mac e Windows).
Os guias de instruções do Linux geralmente esperam que você execute certas operações no terminal, que podem parecer intimidantes no início. Mas não se preocupe; esta folha de dicas de comandos do Linux cobrirá o processo de abertura de um terminal e emissão de alguns comandos úteis.
Embora você provavelmente já saiba como mover um arquivo no Linux usando o navegador de arquivos GUI, você pode estar se perguntando se existe um comando mover no terminal que permite mover arquivos rapidamente para diretórios diferentes. O comando mv é o que você deseja e é fácil de usar com sua sintaxe simples e alguns sinalizadores de segurança opcionais.
Quer saber qual é a diferença entre Root Superuser no Ubuntu? Bem, nós temos você coberto aqui.
O Debian padrão e seu derivado popular Ubuntu são ótimas opções versáteis para um sistema Linux, mas se você tiver necessidades mais especializadas, pode querer uma alternativa Debian.