Resumo: Neste guia para iniciantes, discutiremos alguns exemplos práticos do comando mv. Após seguir este guia, iniciantes em Linux poderão renomear e mover arquivos e diretórios facilmente a partir da interface de linha de comando.
- Sintaxe do comando mv
- 1. Como renomear um arquivo no Linux
- 2. Habilite o modo detalhado no comando Mv
- 3. Como renomear um diretório no Linux
- 4. Como mover vários arquivos para o diretório
- 5. Como mover vários diretórios no Linux
- 6. Como evitar sobrescrever arquivos no Linux
- 7. Como sobrescrever arquivos interativamente no Linux
- 8. Sobrescrever o arquivo somente quando a fonte for mais recente
- 9. Como criar um backup antes de sobrescrever arquivos
Arquivos e diretórios são os blocos de construção do sistema operacional. Como usuários comuns, interagimos com arquivos e diretórios diariamente. Muitas vezes, renomeamos ou movemos arquivos de um local para outro para melhor organização. Certamente, podemos realizar essa operação usando a Interface Gráfica do Usuário (GUI). No entanto, a maioria dos usuários de Linux prefere usar o comando mv devido à sua ampla funcionalidade.
Neste guia fácil de entender, aprenderemos os fundamentos do comando mv. Como o nome sugere, o comando mv é usado para renomear ou mover arquivos e diretórios.
Neste guia, aprenderemos sobre o comando mv usando exemplos práticos. Iniciantes podem usar esses exemplos no dia a dia ao trabalhar com sistemas Linux.
Então vamos começar.
Sintaxe do comando mv
A sintaxe do comando mv é semelhante à de outros comandos do Linux. Em um nível mais amplo, ele é dividido em duas partes: opções e argumentos :
$ mv [OPÇÕES] <ORIGEM> <DESTINO>
$ mv [OPÇÕES] <FONTE-1> <FONTE-2> ... <DIRETÓRIO>
Na sintaxe acima, os colchetes ([])representam os argumentos opcionais, enquanto os colchetes angulares (<>)representam os argumentos obrigatórios.
1. Como renomear um arquivo no Linux
O uso básico do comando mv é renomear um arquivo. Então, vamos ver como renomear um arquivo a partir do diretório atual.
Primeiro, crie um arquivo de exemplo usando o comando touch:
$ touch arquivo-1.txt
Agora, vamos renomear o arquivo usando o comando mv da seguinte maneira:
$ mv arquivo-1.txt arquivo-2.txt
Por fim, verifique se o arquivo foi renomeado com sucesso usando o comando ls:
$ ls -1
2. Habilite o modo detalhado no comando Mv
Às vezes, queremos saber quais arquivos ou diretórios estão sendo renomeados. Nesses casos, podemos usar -va opção para habilitar o modo verbose.
Para entender isso, vamos renomear o arquivo usando o modo verbose:
$ mv -v arquivo-2.txt arquivo-1.txt
renomeado 'arquivo-2.txt' -> 'arquivo-1.txt'
Na saída acima, podemos ver que agora o comando mv mostra a mensagem de renomeação.
3. Como renomear um diretório no Linux
Semelhante aos arquivos, podemos usar o comando mv para renomear o diretório. Para entender melhor, primeiro você precisa criar um novo diretório com o nome src:
$ mkdir src
Agora, vamos renomear o diretório usando o seguinte comando:
$ mv -v src dst
renomeado 'src' -> 'dst'
4. Como mover vários arquivos para o diretório
Muitas vezes, movemos arquivos para um único diretório para melhor organização. Por exemplo, é prática muito comum manter todos os arquivos de áudio em um único diretório.
Certamente, podemos usar o comando mv várias vezes para isso. No entanto, o processo rapidamente se torna demorado à medida que o número de arquivos aumenta. Para otimizar o tempo, podemos usar a sintaxe alternativa do comando mv .
Vamos entender criando alguns arquivos e um novo diretório:
$ touch 1.mp3 2.txt 3.dat
$ mkdir misc
Agora, vamos mover todos esses arquivos para o diretório misc usando o seguinte comando:
$ mv -v 1.mp3 2.txt 3.dat diversos
renomeado '1.mp3' -> 'misc/1.mp3'
renomeado '2.txt' -> 'misc/2.txt'
renomeado como '3.dat' -> 'misc/3.dat'
É importante observar que, para usar essa sintaxe alternativa, o diretório já deve estar presente e deve ser o último argumento do comando.
5. Como mover vários diretórios no Linux
Assim como os arquivos, podemos usar o comando mv para mover vários diretórios de uma só vez. Vamos entender isso com um exemplo simples.
Primeiro, crie alguns diretórios usando o comando mkdir:
$ mkdir diretório-1 diretório-2 diretório-3 diretório-4
Agora, vamos mover todos esses diretórios para o diretório dir-4 :
$ mv -v diretório-1 diretório-2 diretório-3 diretório-4
Na saída acima, podemos ver que conseguimos mover todos os diretórios.
6. Como evitar sobrescrever arquivos no Linux
Por padrão, o comando mv sobrescreve o arquivo de destino. Às vezes, queremos desabilitar esse comportamento padrão para evitar perda de dados. Nesses casos, podemos usar a -nopção .
Para entender isso, primeiro crie um arquivo de exemplo:
$ touch arquivo-2.txt
Agora, vamos tentar sobrescrevê-lo usando o seguinte comando:
$ mv -v -n arquivo-1.txt arquivo-2.txt
Aqui, podemos ver que o modo verbose não exibiu nenhuma mensagem. Isso indica que o arquivo-2.txt não foi sobrescrito.
7. Como sobrescrever arquivos interativamente no Linux
No exemplo anterior, vimos como desabilitar a sobrescrita de arquivos. No entanto, às vezes, queremos sobrescrever arquivos de forma segura.
Nesses casos, podemos usar o comando mv em modo interativo. Nesse modo, o comando mv exibe a mensagem de aviso e aguarda a confirmação do usuário antes de sobrescrever o arquivo.
Agora, vamos tentar sobrescrever o arquivo file-2.txt em um modo interativo:
$ mv -v -i arquivo-1.txt arquivo-2.txt
mv: substituir 'file-2.txt'?
Na saída acima, podemos ver que o comando está aguardando a confirmação do usuário. Assim como outros comandos do Linux, podemos usá-lo 'y'para continuar ou 'n'abortar a operação.
8. Sobrescrever o arquivo somente quando a fonte for mais recente
No exemplo anterior, vimos como substituir arquivos usando um modo interativo, mas esse método não é prático quando queremos substituir um grande número de arquivos.
No entanto, não devemos executar a operação de substituição sem verificação, pois um usuário pode substituir o arquivo mais recente acidentalmente. Nesses casos, podemos usar a -uopção de executar a operação de movimentação somente se a origem for mais recente que o destino.
Para entender isso, vamos atualizar o registro de data e hora do arquivo de origem:
$ touch -t 201912301000 arquivo-1.txt
$ ls -l arquivo-1.txt
No exemplo acima, usamos a opção -t do comando touch para definir o registro de data e hora mais antigo no arquivo file-1.txt.
Em seguida, vamos atualizar o registro de data e hora do arquivo de destino para a hora atual:
$ touch arquivo-2.txt
Por fim, vamos tentar sobrescrever o arquivo de destino usando a opção -u:
$ mv -v -u arquivo-1.txt arquivo-2.txt
Na saída acima, podemos ver que o modo verbose não exibiu nenhuma mensagem. Isso indica que o arquivo-2.txt não foi sobrescrito.
9. Como criar um backup antes de sobrescrever arquivos
Nos exemplos anteriores, vimos como sobrescrever o arquivo de destino de forma mais segura. O comando mv oferece mais uma opção, que nos permite especificar uma política de backup usando a --backupopção , que faz um backup do arquivo de destino antes de sobrescrevê-lo.
$ touch arquivo-1.txt arquivo-2.txt
$ mv --backup=numbered -v arquivo-1.txt arquivo-2.txt
Aqui, usamos a política de backup numerado, que usa números incrementais nos nomes dos arquivos de backup.
Para entender isso, vamos executar esses dois comandos mais algumas vezes e verificar a saída:
$ touch arquivo-1.txt arquivo-2.txt
$ mv --backup=numbered -v arquivo-1.txt arquivo-2.txt
$ touch arquivo-1.txt arquivo-2.txt
$ mv --backup=numbered -v arquivo-1.txt arquivo-2.txt
$ touch arquivo-1.txt arquivo-2.txt
$ mv --backup=numbered -v arquivo-1.txt arquivo-2.txt
Neste guia para iniciantes, discutimos como renomear e mover arquivos e diretórios usando o comando mv . Iniciantes em Linux podem consultar esses exemplos no dia a dia ao trabalhar com sistemas Linux.
Você conhece algum outro exemplo do melhor comando mv no Linux? Deixe sua opinião nos comentários abaixo.

