Comandos básicos do Linux
Resolvi criar este artigo no intuito de estar passando um pouco pelos principais comandos básicos do Linux. Muitos acham que sabê-los é bobagem, mas na minha opinião é essencial. Quero a partir de agora "divulgar" o poder dos comandos Linux.. então mãos a obra!
Parte 3: Comandos básicos do Linux - parte 3
3. Comando cp (Copia arquivos e diretórios)
Copia um diretório para outro:
$ cp -a pasta1 pasta2
OBS: Quando o diretório a ser copiado tem vários arquivos dentro dele, o comando "cp" precisa saber se você deseja copiar todo o conteúdo. Para isso é adicionada a opção "-a". Nesse caso será feita uma cópia recursiva, ou seja, será copiado todo o conteúdo de um diretório para o outro, preservando seus atributos e estrutura, assim como na opção "-dpr".
Copia vários arquivos para um diretório:
$ cp -i *.txt /pasta
OBS: Com a opção "-i" lhe será perguntado se deseja substituir algum arquivo, caso já tenha um com o mesmo nome no diretório. Com a opção "-f", será substituído sem pergunta alguma.
Copia o arquivo arquivo1.txt para o diretório citado com um novo nome:
$ cp arquivo1.txt /home/usuário/arquivonovo.txt
Copia os arquivos/diretórios/sub-diretórios do diretório teste para o diretório atual:
$ cp -R /arquivos/teste/* .
Copia o arquivo arquivo.txt e cria uma cópia de segurança:
$ cp -b arquivo.txt /pasta/
OBS: A cópia de segurança é o arquivo oculto com o mesmo nome, porém com "~" no final. Ex.: arquivo.txt~
Copia o arquivo arquivo.txt para o diretório /pasta/ e substitui o arquivo caso o arquivo de origem seja mais novo que o de destino:
$ cp -u arquivo.txt /pasta/
Copia o conteúdo dos 3 arquivos para o arquivo total.txt:
$ cp arquivo1.txt arquivo2.txt arquivo3.txt > total.txt
Acrescenta o conteúdo do arquivo arquivo4.txt no arquivo total.txt:
$ cp arquivo4.txt >> total.txt
Copia TODOS os arquivos (inclusive os ocultos), exibindo o resultado final através da opção "-v":
$ cp -av pasta/* /home/usuário
Um exemplo mais "complexo":
$ cp `ls TEST* | head -n 100` /pasta
O exemplo acima copiará a partir do diretório corrente, 100 arquivos que comecem por "TEST" e que são seguidos por zero ou mais caracteres. Podemos colocar como origem em um comando "cp", "mv" ou qualquer outro semelhante com uma expressão regular que me permita selecionar com precisão quais arquivos eu quero copiar ou mover para um diretório de destino. As aspas invertidas sinalizam exatamente isto, que o comando entre aspas invertidas serão executados e seu resultado será passado para o comando sendo executado.
Pessoal, espero ter contribuído um pouco nos comandos básicos do Linux...
Abraço!!!
Copia um diretório para outro:
$ cp -a pasta1 pasta2
OBS: Quando o diretório a ser copiado tem vários arquivos dentro dele, o comando "cp" precisa saber se você deseja copiar todo o conteúdo. Para isso é adicionada a opção "-a". Nesse caso será feita uma cópia recursiva, ou seja, será copiado todo o conteúdo de um diretório para o outro, preservando seus atributos e estrutura, assim como na opção "-dpr".
Copia vários arquivos para um diretório:
$ cp -i *.txt /pasta
OBS: Com a opção "-i" lhe será perguntado se deseja substituir algum arquivo, caso já tenha um com o mesmo nome no diretório. Com a opção "-f", será substituído sem pergunta alguma.
Copia o arquivo arquivo1.txt para o diretório citado com um novo nome:
$ cp arquivo1.txt /home/usuário/arquivonovo.txt
Copia os arquivos/diretórios/sub-diretórios do diretório teste para o diretório atual:
$ cp -R /arquivos/teste/* .
Copia o arquivo arquivo.txt e cria uma cópia de segurança:
$ cp -b arquivo.txt /pasta/
OBS: A cópia de segurança é o arquivo oculto com o mesmo nome, porém com "~" no final. Ex.: arquivo.txt~
Copia o arquivo arquivo.txt para o diretório /pasta/ e substitui o arquivo caso o arquivo de origem seja mais novo que o de destino:
$ cp -u arquivo.txt /pasta/
Copia o conteúdo dos 3 arquivos para o arquivo total.txt:
$ cp arquivo1.txt arquivo2.txt arquivo3.txt > total.txt
Acrescenta o conteúdo do arquivo arquivo4.txt no arquivo total.txt:
$ cp arquivo4.txt >> total.txt
Copia TODOS os arquivos (inclusive os ocultos), exibindo o resultado final através da opção "-v":
$ cp -av pasta/* /home/usuário
Um exemplo mais "complexo":
$ cp `ls TEST* | head -n 100` /pasta
O exemplo acima copiará a partir do diretório corrente, 100 arquivos que comecem por "TEST" e que são seguidos por zero ou mais caracteres. Podemos colocar como origem em um comando "cp", "mv" ou qualquer outro semelhante com uma expressão regular que me permita selecionar com precisão quais arquivos eu quero copiar ou mover para um diretório de destino. As aspas invertidas sinalizam exatamente isto, que o comando entre aspas invertidas serão executados e seu resultado será passado para o comando sendo executado.
Pessoal, espero ter contribuído um pouco nos comandos básicos do Linux...
Abraço!!!
Nada como comandos básicos comentados de uma maneira bem simples.. :)
10.