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 is a backend software engineer at Matrice.ai.
LinkedIn