Muitos de nós, senão a maior partee estamos acostumados a usar uma interface gráfica ou ambiente de trabalho, por assim dizer. As tarefas de mover, editar, renomear, entre outras coisas, arquivos ou pastas geralmente são feitos de maneira simples, com apenas alguns cliques.
Mas o que acontece quando você tem que usar esses movimentos em um servidor uma vez que a maioria deles geralmente são gerenciados apenas a partir de um console de comando, isso geralmente é ocupado em servidores dedicados, embora nunca é demais saber como isso é feito porque você nunca sabe quando pode estar ocupado.
Já aconteceu comigo que em algumas ocasiões perdi meu ambiente gráfico e tenho que usar o console para poder recuperá-lo, mas isso é outro ponto.
Dia hoje venho compartilhar com vocês alguns comandos simples que vão nos ajudar para realizar as tarefas de copiar ou mover arquivos.
Como mover arquivos ou pastas no Linux?
A primeira coisa será ter um terminal qual será a nossa ferramenta que nos ajudará em tudo isso, a segunda coisa é criar algumas pastas com documentos de texto dentro isso para não danificar ou perder informações.
A coisa mais comum é mover um arquivo de diretório para isso vamos usar o comando mv:
mv archivo.txt /home/usuario/Documentos/prueba
Aqui, o que estamos fazendo é mover o arquivo.txt para a pasta de teste que está em nossa pasta de documentos. Para isso, levamos em consideração que estamos atualmente posicionados no diretório onde o arquivo.txt está localizado
Quando queremos mover mais de um arquivo por vez, o tipo de sintaxe seria o seguinte:
mv archivo.1 archivo.2 archivo.3 /ruta/de/destino
Agora algo muito útil é usar um * quando os arquivos têm a mesma base de nome, por exemplo:
Amd-gpu…
Amd-gpu-pro ..
Amd-driver ...
Então, como podemos ver, eles têm a mesma base "AMD" para mover todos aqueles arquivos com a mesma nomenclatura de base, fazemos o seguinte:
mv AMD* /ruta/de/destino
O mesmo se aplica a todos os arquivos do mesmo tipo, por exemplo, .doc, .xls, .deb, .rpm etc. Para movê-los, só aplicamos
mv *.deb /ruta/de/destino
Até este ponto está um pouco claro como funciona e como podemos facilitar a tarefa de várias maneiras, mas o que acontece quando queremos mover tudo que tem um diretório, tanto arquivos como subpastas.
Para isso, vamos usar o *, por exemplo, quero mover tudo que descompactei do wordpress para dois diretórios anteriores:
mv wordpress/* …/
Para saber um pouco mais sobre o comando podemos usar o seu man ou com o parâmetro -help, aqui veremos todos os seus parâmetros.
Como copiar arquivos no Linux?
Para este caso é quase semelhante ao contrário disso, para mover arquivos ou pastas de um para outro, aqui manter arquivos e pastas em seus locais de origem e crie uma cópia em um diretório escolhido.
Un comando simples para copiar um arquivo ou pasta de um diretório para outro:
cp objetoacopiar rutadedestino
Uma maneira mais explícita de ver isso:
cp archivo.txt /ruta/de/destino
Este comando costuma ser muito utilizado para fazer backups de um arquivo ou pasta que se vai editar, pois cria uma cópia total, mas com um nome diferente, um exemplo prático:
cp log.txt log.bak
Pára copie vários arquivos ou pastas:
cp archivo1 /carpeta1 /carpeta/carpeta /ruta/de/destino
Agora se quisermos copiar tudo o que contém a pasta onde estamos posicionados para outro diretório:
cp /* /ruta/de/destino
Agora, se quisermos copiar um diretório de um lugar para outro
cp /directorio /ruta/de/destino
É importante estar um nível abaixo do diretório que vamos copiar, pois se estivermos dentro dele é necessário especificar o caminho completo, pois se apenas colocarmos o comando da forma que coloquei, ele só criará um diretório vazio.
Por fim, se quisermos conhecer todos os seus parâmetros, contamos com seu man ou com –help
Sem mais delongas, são comandos extremamente básicos, seu uso pode te ajudar muito e você deve até mesmo ter cuidado com eles, já que é sempre recomendável usar a forma recursiva, que é usada com o parâmetro -r.
Se eu quiser copiar todos os arquivos de uma pasta para outra, seria então
cp / * / nome / pasta / destino ??
está na pasta onde tenho os arquivos para copiar?
Eu quero copiar um número específico de registros do arquivo de origem para o arquivo de destino, às vezes é um registro do registro para o intervalo, como posso fazer isso?