11.11.2024

Como mover arquivos e diretórios no Linux?

Existem muitas utilidades diferentes no Linux, mas algumas são usadas com mais frequência do que outras. Por exemplo, mv é uma utilidade que permite alterar o nome e a localização de um/uns arquivo/s e até mover diretórios. Tudo funciona como em um ambiente gráfico, mas apenas por meio da linha de comando.

Como mover arquivos?

Para trabalhar com a utilidade, considere sua sintaxe abaixo; parênteses e sinais de não são usados, mas apenas mostram os limites dos argumentos:

mv (-opções) <origem> <destino>

Screenshot №1 — Ajuda

Vamos imaginar que logs se acumularam no dispositivo e é necessário movê-los para a pasta /tmp/backup. Para um arquivo, usaremos o comando:

mv ./log.txt /tmp/backup

Screenshot №2 — Mover arquivo

Como alternativa a este comando, você pode usar o comando de descritor de arquivo:

cat log.txt > /tmp/backup/log.txt && rm log.txt

Screenshot №3 — Maneira alternativa de mover arquivo

A maneira alternativa reflete mais claramente a lógica do processo: a utilidade cat exibe o conteúdo de um arquivo, o sinal > é um descritor de arquivo que redireciona a saída para o arquivo especificado como destino. E o comando rm log.txt remove o arquivo do diretório atual. O que implementa o processo de movimentação. No entanto, este método não funcionará para a movimentação recursiva de arquivos, ou seja, todos os arquivos de uma pasta. Para este propósito, no comando mv, em vez do nome de um arquivo específico, especificaremos o caractere curinga *:

mv /tmp/backup/* /tmp/backup2

Screenshot №4 — Mover vários arquivos

Resultado esperado: todos os arquivos de um diretório serão movidos para o diretório de destino.

Como mover diretórios?

O processo é muito semelhante ao de mover arquivos, exceto que agora você precisa especificar uma pasta. Este processo é realizado pelo seguinte comando:

mv /tmp/backup_antivirus /tmp/backup_all

Como resultado, a pasta backup_antivirus será movida para /tmp/backup_all e o caminho absoluto ou completo ficará assim: /tmp/backup_all/backup_antivirus!