Copiando arquivos e diretórios

Neste post, vou falar sobre um comando, que é a forma mais simples de backup que existe! É o comando cp, que significa copy, ou cópia!

E ele é a forma mais simples de backup que existe, porque você está fazendo cópia de um arquivo ou diretório de um lugar para outro!

Esse comando tem a função de copiar arquivos e diretórios!!!

A sintaxe dele é:

# cp origem destino

Essa é a sintaxe tradicional! Mas para ficar mais simples, é preferível bater um papo com o comando e responder as perguntas que o comando costuma fazer para executar a ação que desejamos:

cp (copie) o que? (que é a origem) para onde? (é o destino, o local para onde quero copiar)

Essa regra de perguntas, é bem legal para ser usada com comandos… afinal de contas, o comando sempre vai esperar as nossas coordenadas para executar uma ação!

No caso do cp, a ação é copiar o que para onde!

Prática!

Criar um diretório chamado backup dentro de /mnt, e copiar um arquivo prá lá! Esse exemplo é legal porque vamos usar comandos que já foram comentados em posts anteriores:

# mkdir /mnt/backup

# cp /etc/passwd /mnt/backup

Nesse exemplo, o cp vai copiar o arquivo /etc/passwd para o /mnt/backup!

Uma coisa legal do comando cp que podemos usar… é a opção -v de verbose… ou seja.. modo detalhado! Ele vai te mostrar na tela a ação que ele fez!

Por exemplo!!

# cd /mnt/backup

# cp -v passwd
`passwd’ -> `/mnt/backup’

O que fizemos com o cp, foi simplesmente copiar o arquivo, mas mostrando na tela o que ele está copiando e para onde!

Ah, e o cp tem o poder de copiar o arquivo ou diretório para um nome diferente do original!

Isso é útil quando se vai mexer em arquivos de configuração, e aí é sempre bom ter um backup! Assim, se acontecer alguma coisa com o arquivo que está sendo trabalhado, temos o original!

Enfim… abençoados sejam os pessimistas pois eles fizeram backup😛 !

Exemplo:

# cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup

Acima, um exemplo simples, onde eu joguei o conteúdo de /etc/ssh/sshd_config para /etc/ssh/sshd_config_backup! E o último arquivo não existia, então ele criou na hora!

Em tempo: o arquivo sshd_config, é para a configuração do serviço de acesso remoto ssh. Mais pra frente, comento sobre esse serviço em post só pra ele!

No caso do exemplo, forneci o caminho completo. Poderia ter feito assim:

# cd /etc

# cd ssh

# cp sshd_config sshd_config_backup

É a mesma coisa que fizemos anteriormente… mas é só para mostrar que não preciso estar exatamente dentro do diretório que tem o que eu quero copiar… posso copiar de qualquer lugar desde que eu forneça o caminho completo!

Uma outra opção do comando cp que é muuuuuuito importante, é a -r! Ela é usada quando eu quero copiar diretórios que tenham subdiretórios!

Exemplo:

#cp -r /etc /mnt/backup

Esse comando vai copiar o diretório /etc para dentro de /mnt/backup, incluindo os subdiretórios que existem nele!

Caso eu não coloque a opção (-r), ele não vai copiar nada, pois não foi especificado que queromo todo o diretório /etc dentro do diretóri /mnt/backup!

Exemplo:

# cp /etc /mnt/backup

Não vai copiar nada, pois o /etc é um diretório. Pode até executar um ls dentro de /mnt/backup e ver que não foi nada do /etc prá la!

Agora, se executarmos:

# cp -r /etc /mnt/backup

Ele vai copiar todo o diretório /etc para dentro de /mnt/backup, inclusive os diretórios que estão dentro de /etc!

E se realmente quisermos o conteúdo do /etc, sem o -r, temos que fazer:

# cp /etc/* /mnt/backup

E ele irá copiar tudo! O * (asterisco) indica tudo, porém esse tudo, é referente a arquivos, e não diretórios; isto é, vai omitir os diretórios… e copiar somente os arquivos!

Outra opção do cp, para ser utilizado no dia-a-dia, é a -i. Essa opção é de interative; ou seja, vai pedir a confirmação do usuário para sobrescrever um arquivo já existente!

Já ajuda a evitar desastres, pois você pode confirmar se quer sobrescrever ou não!

Exemplo:

# touch /mnt/backup/teste.txt

# touch /tmp/teste.txt

Acima, criamos 2 arquivos com o mesmo nome! Reparem que um arquivo está no /mnt/backup e outro está no /tmp!

Vamos copiar o arquivo teste.txt que está em /mnt/backup/ para /tmp, usando a opção de confirmação!

# cp -i /mnt/backup/teste.txt /tmp/
cp: sobrescrever `/tmp/teste.txt’? y

Acima, como o arquivo teste.txt já existe no /tmp, a opção -i solicita a confirmação para sobrescrever o arquivo existente.

Quer conhecer mais opções do comando cp?

# man cp

# cp –help

Até o próximo post!😉

0 Responses to “Copiando arquivos e diretórios”



  1. Deixe um comentário

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




Follow Nix on WordPress.com
agosto 2008
S T Q Q S S D
« jul   set »
 123
45678910
11121314151617
18192021222324
25262728293031

Flickr Photos

Red and Gold

Mais fotos

%d blogueiros gostam disto: