Linux Commands · 5 min read · Sep 13, 2025
Linux mv Command Explained for Beginners (8 Examples)

Assim como cp para copiar e rm para deletar, o Linux também oferece um comando embutido para mover e renomear arquivos. Ele é chamado de mv. Neste artigo, discutiremos os fundamentos desta ferramenta de linha de comando usando exemplos fáceis de entender. Por favor, note que todos os exemplos usados neste tutorial foram testados no Ubuntu 22.04 LTS.
Comando mv do Linux
Como já mencionado, o comando mv no Linux é usado para mover ou renomear arquivos. A seguir está a sintaxe do comando:
mv [OPÇÃO]... [-T] ORIGEM DESTINO
mv [OPÇÃO]... ORIGEM... DIRETÓRIO
mv [OPÇÃO]... -t DIRETÓRIO ORIGEM...E aqui está o que a página do manual diz sobre isso:
Renomear ORIGEM para DESTINO, ou mover ORIGEM(s) para DIRETÓRIO.Os seguintes exemplos em estilo de perguntas e respostas darão uma ideia melhor de como esta ferramenta funciona.
P1. Como usar o comando mv no Linux?
Se você quiser apenas renomear um arquivo, pode usar o comando mv da seguinte maneira:
mv [nome_do_arquivo] [novo_nome_do_arquivo]Por exemplo:
mv names.txt fullnames.txtDa mesma forma, se a necessidade for mover um arquivo para um novo local, use o comando mv da seguinte maneira:
mv [nome_do_arquivo] [diretório_destino]
Por exemplo:
mv fullnames.txt /home/himanshu/DownloadsP2. Como garantir que o mv solicite antes de sobrescrever?
Por padrão, o comando mv não solicita quando a operação envolve sobrescrever um arquivo existente. Por exemplo, a captura de tela a seguir mostra que o arquivo existing full_names.txt foi sobrescrito pelo mv sem qualquer aviso ou notificação.
No entanto, se você quiser, pode forçar o mv a solicitar usando a opção de linha de comando -i.
mv -i [nome_do_arquivo] [novo_nome_do_arquivo]
Assim, as capturas de tela acima mostram claramente que -i faz com que o mv peça permissão ao usuário antes de sobrescrever um arquivo existente. Por favor, note que, caso você queira especificar explicitamente que não deseja que o mv solicite antes de sobrescrever, use a opção de linha de comando -f.
P3. Como fazer o mv não sobrescrever um arquivo existente?
Para isso, você precisa usar a opção de linha de comando -n.
mv -n [nome_do_arquivo] [novo_nome_do_arquivo]A captura de tela a seguir mostra que a operação mv não foi bem-sucedida, pois um arquivo com o nome ‘full_names.txt’ já existia e o comando tinha a opção -n.
Nota:
Se você especificar mais de uma das opções -i, -f, -n, apenas a última terá efeito.P4. Como fazer o mv remover barras finais (se houver) do argumento de origem?
Para remover quaisquer barras finais dos argumentos de origem, use a opção de linha de comando –strip-trailing-slashes conforme mostrado abaixo.
mv --strip-trailing-slashes [origem] [destino]Aqui está como a documentação oficial explica a utilidade desta opção:
Isso é útil quando um argumento de origem pode ter uma barra final e especificar um link simbólico para um diretório. Este cenário é, de fato, bastante comum, pois alguns shells podem automaticamente adicionar uma barra final ao realizar a conclusão de nome de arquivo em tais links simbólicos. Sem esta opção, `mv`, por exemplo, (via a função de renomeação do sistema) deve interpretar uma barra final como um pedido para desreferenciar o link simbólico e, portanto, deve renomear o *diretório* referenciado indiretamente e não o link simbólico. Embora possa parecer surpreendente que tal comportamento seja o padrão, é exigido pelo POSIX e é consistente com outras partes desse padrão.P5. Como fazer o mv tratar o destino como um arquivo normal?
Para ter certeza de que a entidade de destino é tratada como um arquivo normal (e não um diretório), use a opção de linha de comando -T.
mv -T [origem] [destino]Aqui está o porquê dessa opção de linha de comando existir:
Isso pode ajudar a evitar condições de corrida em programas que operam em uma área compartilhada. Por exemplo, quando o comando ‘mv /tmp/origem /tmp/destino’ é bem-sucedido, não há garantia de que /tmp/origem foi renomeado para /tmp/destino: ele poderia ter sido renomeado para /tmp/destino/origem em vez disso, se algum outro processo criou /tmp/destino como um diretório. No entanto, se mv -T /tmp/origem /tmp/destino for bem-sucedido, não há dúvida de que /tmp/origem foi renomeado para /tmp/destino.Na situação oposta, onde você deseja que o último operando seja tratado como um diretório e deseja um diagnóstico caso contrário, você pode usar a opção --target-directory (-t).P6. Como fazer o mv mover o arquivo apenas quando ele for mais novo que o arquivo de destino?
Suponha que exista um arquivo chamado fullnames.txt no diretório Downloads do seu sistema, e há um arquivo com o mesmo nome no seu diretório inicial. Agora, você deseja atualizar ~/Downloads/fullnames.txt com ~/fullnames.txt, mas apenas quando este último for mais novo. Então, neste caso, você terá que usar a opção de linha de comando -u.
mv -u ~/fullnames.txt ~/Downloads/fullnames.txtEsta opção é particularmente útil em casos quando você precisa tomar tais decisões de dentro de um script shell.
P7. Como fazer o mv emitir detalhes do que está fazendo?
Se você quiser que o mv exiba informações explicando o que exatamente está fazendo, use a opção de linha de comando -v.
mv -v [nome_do_arquivo] [novo_nome_do_arquivo]Por exemplo, as capturas de tela a seguir mostram o mv emitindo alguns detalhes úteis sobre o que exatamente fez.
P8. Como forçar o mv a criar um backup dos arquivos de destino existentes?
Você pode fazer isso usando a opção de linha de comando -b. O arquivo de backup criado dessa forma terá o mesmo nome que o arquivo de destino, mas com um til (~) anexado a ele. Aqui está um exemplo:
Conclusão
Como você deve ter adivinhado até agora, mv é tão importante quanto cp e rm pela funcionalidade que oferece - renomear/mover arquivos também é uma das operações básicas, afinal. Discutimos a maioria das opções de linha de comando que esta ferramenta oferece. Portanto, você pode apenas praticá-las e começar a usar o comando. Para saber mais sobre mv, acesse sua página de manual. Também há outros tutoriais de comandos do Linux disponíveis no HowtoForge, por exemplo, para o comando tee.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.