Como mover arquivos e diretórios no Linux usando o comando Mv

Suraj Joshi 18 julho 2021
Como mover arquivos e diretórios no Linux usando o comando Mv

Podemos mover arquivos e diretórios utilizando o comando mv com vários argumentos através do Terminal Linux.

Mover arquivos e diretórios utilizando o comando mv

O comando mv(move) poderia mover arquivos e diretórios de um local para outro. Também pode ser utilizado para renomear arquivos e diretórios.

A sintaxe do comando mv:

mv [OPTIONS] source destination

O comando source no comando acima pode ser um ou mais arquivos ou diretórios, e destination é sempre um único arquivo ou diretório.

Se tivermos vários arquivos ou diretórios como fonte, o destino é sempre um diretório. Neste caso, todos os arquivos e diretórios de origem são movidos para o diretório de destino. Se tivermos um único arquivo como fonte e um diretório como destino, o arquivo é movido para o diretório de destino.

Um ponto importante a ser observado ao mover arquivos e diretórios é que se não tivermos as permissões de escrita tanto para a fonte quanto para o destino, teremos um erro de permissão negado.

Mover arquivo para um diretório utilizando o comando mv

Podemos usar o seguinte comando para mover um arquivo dentro de um diretório.

mv <filename> <path_of _destination_directory>

Exemplo: Mover arquivo dentro de um diretório utilizando o comando mv

mv ILLUMEE.svg SVG

Ele move o arquivo ILLUMEE.svg no diretório de trabalho atual para a pasta SVG no diretório de trabalho atual.

Se o diretório de destino não estiver presente, o arquivo fonte é renomeado como o arquivo de destino.

Se o diretório SVG não estiver presente no diretório de trabalho atual, o arquivo ILLUMEE.svg será renomeado para SVG.

Se o caminho de destino for também um nome de arquivo, o nome do arquivo fonte é renomeado com o nome do arquivo de destino.

mv ILLUMEE.svg 1.svg

Ele renomeará o arquivo ILLUMEE.svg para 1.svg.

Em alguns casos, o arquivo de destino pode já existir, e será sobrescrito se utilizarmos o comando mv. Para solicitar confirmação antes de sobrescrever, utilizamos a opção -i com o comando mv.

mv -i ILLUMEE.svg 1.svg

Se o nome do arquivo 1.svg já existir, o terminal nos alertará antes de sobrescrever.

mv -i ILLUMEE.svg 1.svg

Resultado:

mv: overwrite '1.svg'? n

Para evitar a sobrescrição, pressione N e pressione a tecla Enter ou pressione Y e pressione Enter.

Também podemos evitar a sobrescrita utilizando a opção -n com o comando mv.

mv -n ILLUMEE.svg 1.svg

Isso evitará a sobregravação de 1.svg se ela já existir.

Mova um diretório dentro de outro diretório utilizando o comando mv

Para mover um diretório dentro de outro diretório, podemos usar o seguinte comando:

mv <path_of_source_directory> <path_of _destination_directory>

Exemplo: Mover um diretório para dentro de outro diretório utilizando o comando mv

mv Python_Scripts Python_Scripts_New

Ele move o diretório Python_Scripts em nosso diretório de trabalho atual dentro de outro diretório Python_Scripts_New no diretório de trabalho atual.

Se o diretório de destino não estiver presente, o diretório de origem é renomeado para o diretório de destino.

Mover múltiplos arquivos dentro de outro diretório utilizando o comando mv

Para mover vários arquivos dentro de outro diretório, especificamos todos os arquivos de origem seguidos pelo caminho do diretório de destino.

mv <source_filepath_1> <source_filepath_2> <source_filepath_3> 
     <path_of_destination_directory>

Exemplo: Mover vários arquivos dentro de outro diretório utilizando o comando mv

mv 1.jpg 2.jpg 2.png Images

Ele move os arquivos 1.jpg, 2.jpg, e 2.png em nosso diretório de trabalho atual dentro de outro diretório Images no diretório de trabalho atual.

Também podemos mover vários arquivos dentro de um diretório utilizando expressões regulares para combinar com os nomes de arquivos que precisam ser movidos.

mv *.jpg JPG-Images

Ele move todos os arquivos terminados com .jpg para a pasta JPG-Images.

Faça um backup de um arquivo existente

Para fazer o backup dos arquivos existentes, utilizamos a opção -b. Ela criará um backup de arquivo sobrescrito com ~ caractere anexado ao nome do arquivo de backup.

mv -b abc.jpg 123.jpg
ls

Resultado:

123.jpg 123.jpg~
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artigo relacionado - Linux Files and Directories