Por que o cp precisa de -r enquanto mv não? [duplicado]

2

Para copiar um diretório e seu conteúdo cp requer uma opção -r .

Para mover um diretório e seu conteúdo mv não requer uma mudança -r .

Qual é o motivo disso?

EDIT: não se preocupe. Apesar de procurar, descobri depois de postar esta pergunta que foi respondida aqui .

    
por EmmaV 14.07.2018 / 16:47

1 resposta

1

Quando você usa o comando mv você está apenas alterando os metadados sobre o diretório de nível superior ou arquivo individual, quando estiver usando o comando cp , você literalmente está fazendo cópias de um arquivo individual ou de uma árvore de diretórios . Para diferenciar esses dois modos, o comando cp precisa que você especifique qual comportamento deseja inscrever-se.

Você pode ver os metadados usando stat .

$ stat /home/vagrant/adir
  File: ‘/home/vagrant/adir’
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 794269      Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-07-14 10:57:17.103849041 -0400
Modify: 2018-07-14 10:57:17.103849041 -0400
Change: 2018-07-14 10:57:17.103849041 -0400
 Birth: -

Depois de movê-lo:

$ stat /tmp/adir
  File: ‘/tmp/adir’
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: fd00h/64768d    Inode: 794269      Links: 2
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-07-14 10:57:17.103849041 -0400
Modify: 2018-07-14 10:57:17.103849041 -0400
Change: 2018-07-14 10:57:53.323950044 -0400
 Birth: -

O comando mv está apenas manipulando os metadados em relação ao diretório e, portanto, não precisa fazer cópias de nada para fazer esse trabalho.

    
por 14.07.2018 / 16:57

Tags