Mv (Unix)

mv
Autor Mike Parker, David MacKenzie e Jim Meyering
Desenvolvedor AT&T Bell Laboratories
Lançamento 3 de novembro de 1971, 52 anos atrás
Versão estável GNU Core Utilities 8.25
Sistema operacional Unix, Unix-like
Licença GNU GPL


O comando mv(move) dos sistemas operacionais unix-like move e renomeia um ou mais arquivos ou diretórios de um lugar para outro. Ou seja, ele copia e modifica o caminho do arquivo original para o caminho desejado e então apaga o arquivo original (assim sendo possível renomear e mudar o diretório de um arquivo simultaneamente).[1][2]

Para usar o comando mv o usuário precisa ter permissões de gravação para todos os diretórios por onde o arquivo vai ser movimentado. Isso ocorre porque o comando altera o conteúdo de ambos os diretórios envolvidos na operação. Vale notar que quando o arquivo é movido dentro do mesmo sistema de arquivo, sua data de modificação não é atualizada.

Uso

A sintaxe geral do comando mv é a seguinte[2]:

mv [OPÇÃO]... ORIGEM... DESTINO...

Os argumentos ORIGEM indicam os arquivos e/ou os diretórios que vão ser alterados. Se for especificado apenas um argumento ORIGEM, o parâmetro DESTINO indica o nome do arquivo ou do diretório de destino.

Se forem especificados mais de um parâmetro de ORIGEM, o parâmetro DESTINO deve necessariamente ser um diretório existente, ou pelo menos um link simbólico para um diretório.

As opções são usadas para modificar o comportamento do comando mv e devem ser precedidas por um hífen (-)

Opções

As opções mais comuns são semelhantes ao comando cp:[1]

  • --backup (-b) - Executa uma cópia de segurança de qualquer arquivo existente antes de sobrescrevê-lo, colocando um ~ ao final de seu nome. Se a opção -S for utilizada o sufixo ~ é removido do arquivo
  • --force (-f) - Não pede confirmações ao usuário e sempre sobrescreve.
  • --interactive (-i) - Sempre perguntam antes para o usuário sobrescrever.
  • --update (-u) - Sobrescreve os arquivos antigos ou copia os arquivos não localizados.

Outras opções disponíveis são:[3]

  • --no-clobber (-n) - Não sobrescreve arquivos já existentes.
  • --target-directory (-t) - Move todos os arquivos passados como argumentos para o destino passado como argumento de -t
  • --no-target-directory (-T) - O argumento do caminho de destino é tratado como um arquivo normal

Não há uma chave --recursive. Quando o mv é usado para mover um diretório, ele move todo o diretório e todo o seu conteúdo de forma automática.[1]

Exemplos

mv myfile mynewfilename      # renomeia 'myfile' para 'mynewfilename'.
 mv myfile ~/myfile          # move 'myfile' do diretório atual para o diretório principal (home).
                             # a notação '~' se refere ao diretório de login do usuários
 mv myfile subdir/myfile     # move 'myfile' para 'subdir/myfile'.
 mv myfile subdir            # faz o mesmo que a linha anterior, mantendo o nome do arquivo implictamente
 mv myfile subdir/myfile2    # move 'myfile' para 'subdir' renomeando o arquivo para 'myfile2'.
 mv be.03 /mnt/bkup/bes      # copia 'be.03' para o disco 'bkup' no diretório 'bes' 
                             # depois 'be.03' é apagado.
 mv afile another /home/yourdir/yourfile mydir 
                             # move múltiplos arquivos para o diretório 'mydir'.
 mv /var/log/*z ~/logs       # demora mais que o usual se '/var' está em outro sistema de arquivos 
                             # como frequentemente acontece, já que os arquivos serão copiadas e deletados
                             # tome cuidado quando for usar padrões globalizáveis para nomes de arquivo contendo
                             # os caracteres ?*[ para assegurar que os argumentos passados para 'mv'
                             # incluam uma lista de não diretórios e um diretório terminal
 
 man mv                      # exibe a página do manual para o comando 'mv'.

Arquivo já existente

Quando um arquivo é movido/renomeado para outro já existente, o arquivo anterior é deletado. Se o usuário possuí permissão de gravação para o diretório mas não para o arquivo, o comando mv pede uma confirmação antes de proceder com a operação, a menos que a opção -f (force) seja usada.

Comandos relacionados

  • Cp (Unix) - Copia arquivos e diretórios
  • Ln (Unix) - Cria ligações simbólicas e físicas
  • Rm (Unix) - Remove arquivos e diretórios

Notas e Referências

  1. a b c Burtch, Ken O. Ciência Moderna, ed. Scripts de Shell Linux com Bash. 2005 1 ed. Rio de Janeiro: [s.n.] 522 páginas. 8573934050 
  2. a b «GNU Coreutils: mv invocation». www.gnu.org. Consultado em 30 de março de 2019 
  3. «mv(1): move files - Linux man page». linux.die.net. Consultado em 30 de março de 2019 
  • v
  • d
  • e
Arquivos
  • cat
  • cd
    • popd
    • pushd
  • chattr
  • chmod
  • chown
  • chflags
  • chgrp
  • cksum
  • cp
  • cmp
  • curl
  • dd
  • du
  • df
  • file
  • fsck
  • less
  • ln
  • ls
  • lsof
  • mkdir
  • more
  • mv
  • pax
  • pwd
  • rm
  • rmdir
  • split
  • size
  • tee
  • touch
  • tree
  • type
  • umask
Processos e tarefas
  • anacron
  • at
  • bg
  • chroot
  • crontab
  • jobs
  • kill
  • killall
  • nice
  • fg
  • pgrep
  • pidof
  • pkill
  • ps
  • pstree
  • time
  • top
  • wait
Ambiente e usuários
  • clear
  • env
  • exit
  • finger
  • history
  • id
  • locale
  • logname
  • mesg
  • passwd
  • su
  • sudo
  • talk
  • tput
  • ulimit
  • uname
  • umask
  • uptime
  • w
  • wall
  • who
  • whoami
  • write
Processamento de texto
  • awk
  • banner
  • basename
  • comm
  • csplit
  • cut
  • diff
  • dirname
  • disown
  • ed
  • ex
  • fmt
  • fold
  • head
  • iconv
  • join
  • less
  • more
  • nl
  • paste
  • sed
  • sort
  • spell
  • strings
  • tail
  • tr
  • uniq
  • vi
  • wc
  • xargs
Shell
  • alias
  • bind
  • break
  • compgen
  • complete
  • continue
  • echo
  • expr
  • history
  • printf
  • read
  • sh
  • shopt
  • source
  • test
  • true
  • false
  • unset
  • wait
  • yes
Redes e comunicação
  • dig
  • ifconfig
  • inetd
  • netstat
  • nslookup
  • ping
  • rlogin
  • route
  • ssh
  • traceroute
Busca
  • find
  • grep
  • strings
  • locate
  • whatis
  • whereis
Documentação
  • apropos
  • help
  • man
Miscelâneas
  • bc
  • dc
  • cal
  • date
  • lp
  • lpr
  • od
Comandos geralmente implementados no interpretador.
Comando geralmente implementados, tanto como executáveis, como quanto no interpretador.
Ícone de esboço Este artigo sobre Unix é um esboço. Você pode ajudar a Wikipédia expandindo-o.
  • v
  • d
  • e