Drag & Drop vs mv - Alguma diferença?

10

Existe uma diferença entre arquivos de movimentação em massa com Drag & Drop vs mv?

Caso de uso:

O volume External_Drive_A possui cerca de 8000 arquivos, totalizando 9 GB. External_Drive_B possui 74 GB de espaço livre. O resultado final desejado é mover todos os arquivos de A para B para que A possa ser limpo e colocado em uso em outro local.

A abordagem de arrastar e soltar é abrir uma janela do Finder para A, outra janela do Finder para B, destacar todos os arquivos em A e, em seguida, clicar com o botão direito do mouse e arrastá-los para B.

mv abordagem é abrir uma sessão do Terminal e chamar

mkdir /Volumes/External_Drive_B/A_legacy
mv /Volumes/External_Drive_A/* /Volumes/External_Drive/B/A_legacy/

O Drag & Drop faz alguma coisa nos bastidores, além da cópia e remoção, ou é estritamente uma coisa da Beauty?

Respondida por jmlumpkin abaixo:

Eles diferem! Arrastar e soltar traz os metadados, mvnão. Testei isso adicionando uma frase à seção Comentários do Spotlight na caixa de diálogo Obter informações de um arquivo de texto. Quando arrastei e soltei o arquivo entre os volumes, a frase estava presente quando chamei Obter informações no destino; mas quando usada mv, a frase estava ausente quando chamei Obter informações no destino.

Thomas L Holaday
fonte
é um pouco confuso, como a página de manual do mv declara: "O utilitário mv agora suporta HFS + Finder e atributos estendidos e garfos de recursos. O utilitário mv não remove mais os garfos de recursos dos arquivos HFS. Para obter um método alternativo, consulte cp (1) " então onde estão armazenadas essas informações de destaque?
Robert S Ciaccio

Respostas:

6

Nas versões anteriores do Mac OS, arrastar e soltar um arquivo estava mais próximo do comando 'ditto' para reter os recursos de garfos etc.

jmlumpkin
fonte
1
Obrigado por me apresentar o comando ditto. Sua página de manual lista todos os tipos de recursos interessantes, incluindo o desbaste de binários universais e informações de metadados HFS.
Thomas L Holaday
é uma ótima ferramenta. Costumávamos usar isso mais do que 'mv' ao mover coisas entre máquinas / servidores / unidades locais ou mesmo na unidade principal.
jmlumpkin
7

Não use mvou arraste e solte para mover dados entre volumes .

Se algo de ruim acontecer durante a operação, você terá metade dos dados aqui e metade dos dados, e será difícil descobrir onde reiniciar. Se isso for feito pela rede, talvez você ainda não tenha todos os dados em qualquer volume .

Faça uma cópia (linha de comando ou arraste e solte) e, depois disso, exclua a fonte.

Thilo
fonte
Então é claro que tenho ovo no rosto, perdi toda a coisa dos "arquivos em lote". Eu sugiro nem mv, nem cp, mas em rsyncvez disso. Thilo, sinto muito. Eu tinha um caso de uso de um arquivo grande na minha cabeça, apesar desta discussão sobre lotes de arquivos.
Jason SALAZ
Para uma movimentação de vários arquivos entre volumes executada como uma cópia - exclusão, é (cp p rsync) seguida por rm equivalente a uma cópia da GUI seguida por uma lixeira da GUI seguida por uma lixeira da GUI seguida por uma lixeira vazia da GUI?
Thomas L Holaday
@ Thomas L Holaday: Bem, uma GUI de lixo vazio pode excluir permanentemente todos os tipos de coisas não relacionadas que já estão na lixeira. Eu acho que existe uma maneira de excluir da GUI ignorando a lixeira, talvez alguma combinação de teclas de opção, nunca consigo me lembrar delas. Essa seria uma boa pergunta nova.
Théo
2

O resultado final é provavelmente o mesmo, mas eu acho que os casos de borda podem ser tratados de maneira diferente, também dependendo de qual mvvocê usa (o padrão /bin/ou uma versão GNU /sw/bin/do fink, ou do macports etc.)

Por exemplo, um alias do OS X ou bifurcações de recursos podem não ser tratados adequadamente pela cadeia de ferramentas unix, e provavelmente há casos em que coisas de arquivo unix de baixo nível podem não ser tratadas pelo arrastar e soltar do OS X.

jherran
fonte