Next revision | Previous revisionLast revisionBoth sides next revision |
tutoriais:utilizando_comando_screen [2016-06-02 15:59] – created schutzer | tutoriais:utilizando_comando_screen [2019-08-13 16:16] – removed gnann |
---|
======Utilizando comando Screen====== | |
| |
O comando Screen serve a duas funções, basicamente: | |
| |
* Usar múltiplas janelas em uma única seção SSH | |
* Desconectar e reconectar (de várias maquinas) a uma seção em uma //shell// sem terminá-la/parar seu(s) processo(s) | |
| |
=====Ativando Screen===== | |
| |
Para conectar a uma máquina usando SSH, veja [[tutoriais:como_acessar_a_rede_ime_de_fora|Acessando a rede IME para rodar comandos remotamente (SSH)]]. | |
| |
Após acessar a máquina remota, rode | |
| |
| |
Após se conectar, os arquivos locais estarão à esquerda e os arquivos do servidor, no painel da direita. Para transferir arquivos, basta arrastar de um lado para o outro, ou selecionar o que quiser e utilizar os botões no lado inferior (//copy// e //move//). Tome sempre muito cuidado com o que estiver fazendo. | |
| |
===== Transferindo arquivos no Linux ou Mac usando scp ====== | |
Abra um terminal e use o comando ''scp''. Sua sintaxe é: | |
| |
<code bash> | |
scp [opções] origem destino | |
</code> | |
| |
Uma opção importante é ''-r'', necessária para copiar diretórios inteiros. | |
| |
Origem e destino podem ser locais ou remotos. Localmente, digite o nome do arquivo ou diretório normalmente. Remotamente, o formato é: | |
| |
<code bash> | |
"nome-do-usuário"@shell.ime.usp.br:caminho | |
</code> | |
| |
O caminho pode ser dado a partir do diretório HOME (por exemplo: ''usuario@shell.ime.usp.br:www/index.html''). Para digitar o caminho completo, comece com o caractere ''/'' (por exemplo: ''usuario@shell.ime.usp.br:/home/posmac/usuario/www/index.html''). | |
| |
Também podem ser usados caracteres coringa, como ''*''. | |
| |
==== Exemplos de scp ==== | |
| |
<code bash> | |
scp aula1.html rita@shell.ime.usp.br:www/aulas/ | |
</code> | |
Transfere o arquivo ''aula1.html'', que está no diretório atual de seu computador, para o diretório ''$HOME/www/aulas'' da rede IME. | |
| |
<code bash> | |
scp aula1.html rita@shell.ime.usp.br: | |
</code> | |
Transfere o arquivo ''aula1.html'' para o diretório ''$HOME'' do usuário ''rita'' na rede IME. Note que **é preciso digitar os dois pontos**. | |
| |
<code bash> | |
scp -r mac1234/ beto@shell.ime.usp.br:www/mac1234/ | |
</code> | |
| |
Transfere o diretório local ''mac1234'', com todo o seu conteúdo, para o diretório ''www/mac1234/'' na rede IME, se esse diretório não existir ainda. (Ver também instrução sobre o comando ''rsync'', abaixo, para sincronizar diretórios). | |
| |
<code bash> | |
scp mac1234/* beto@shell.ime.usp.br:www/mac1234/ | |
</code> | |
| |
Transfere os arquivos imediatamente abaixo de ''mac1234'' para o diretório ''www/mac1234/'' na rede IME, caso este diretório já exista. (Ver também instrução sobre o comando ''rsync'', abaixo, para sincronizar diretórios). | |
| |
<code bash> | |
scp beto@shell.ime.usp.br:private/prova.tex provas/ | |
</code> | |
| |
Transfere o arquivo ''provas.tex'', que está dentro do diretório ''private/'' na rede IME, para o computador local. | |
| |
<code bash> | |
scp ~/transferencia/* manuel@shell.ime.usp.br:/tmp/transferencia/ | |
</code> | |
| |
Copia todos os arquivos que estão no diretório local ''~/transferencia'' para o diretório ''/tmp/transferencia/'' do servidor IME, com a conta de ''manuel''. Note que a pasta deve existir, e o usuário ''manuel'' precisa ter permissão de escrita. | |
| |
Para saber mais sobre o ''scp'', digite em uma linha de comando: ''man scp''. | |
| |
===== Sincronizando diretórios com o Rsync ===== | |
| |
O comando ''scp'' é melhor para transferir arquivos uma vez só. Caso você esteja sempre editando vários arquivos em um diretório e sincronizando-o com outro computador, o comando ''rsync'' atenderá melhor as suas necessidades. A sintaxe básica é parecida: | |
| |
<code bash> | |
rsync -r origem/ destino/ | |
| |
# exemplo do computador local para a rede IME | |
rsync -r webpage/ usuario@shell.ime.usp.br:www/ | |
| |
# exemplo da rede IME para o computador local: | |
rsync -r usuario@shell.ime.usp.br:/tmp/resultados/ pesquisa/resultados/ | |
</code> | |
| |
**É importante digitar as barras no final, depois dos nomes dos diretórios**. A opção ''-r'' transmite o conteúdo de diretórios recursivamente, assim como no ''scp''. Uma vez que o comando termine, o conteúdo de ''destino/'' espelhará tudo que está em ''origem/''. | |
| |
O comando ''rsync'' é muito mais poderoso que o ''scp'', mas também é mais complexo, e possui inúmeras opções. Destacamos algumas das mais interessantes: | |
| |
* ''-r'': Transmite o conteúdo de diretórios, recursivamente. | |
* ''-z'': Comprime os arquivos durante a transferência. Bom para Internet lenta. | |
* ''-P'': Mostra o progresso da transferência, e mantém transferências parciais para continuar depois. | |
* ''-u'' (''%%--%%update''): Só transmite arquivos que são mais novos na origem. | |
* ''-c'' (''%%--%%checksum''): Só transmite arquivos que são diferentes na origem. | |
* ''--delete'': Apaga arquivos no destino que foram apagados (ou não existem) na origem. **Cuidado!** | |
* ''-n'': Não transfere os arquivos nem altera nada; só mostra o que seria feito. | |
| |
Para saber mais sobre ''rsync'', consulte o ''man rsync'', ou procure guias na Internet. | |