Questão Movendo diretórios


Se eu usar o cp comando para copiar um diretório A para o interior do diretório B, duplicará a quantidade de espaço que ocupa (diretório A + versão copiada do diretório A)? Eu não posso imaginar que seria o caso, mas seria perturbar o tempo de pesquisa no disco para os arquivos nesse diretório?

Eu sou um iniciante, então me desculpe se essa pergunta não faz sentido.


4
2017-08-05 13:45


origem




Respostas:


cp copia arquivos. Se você especificar um diretório (eu nunca testei isso), provavelmente copiará o conteúdo desse diretório e colocará todos eles (incluindo a pasta original) no diretório de destino. Sim, ele criará duas cópias do (s) arquivo (s) de destino e, sim, provavelmente irá perturbar várias coisas desse tipo.

Você pode arrastar e soltar arquivos facilmente no Nautilus para movê-los naturalmente, sem os efeitos negativos na otimização do disco rígido. o mv comando no terminal fará a mesma coisa. É semelhante em usabilidade ao comando cp:

mv </oldlocation/target> </newlocation/destination/>

Onde o destino é um arquivo ou um diretório e o destino é um diretório.

NOTA: Se você usar mv </location/filenameA> <location/filenameB> ele renomeará o arquivo. Por exemplo,

mv /etc/x11/xorg.conf /etc/x11/xorg.conf.backup

irá renomear o xorg.conf arquivo de texto para xorg.conf.backup. Tente fazer uma pesquisa no google de ferramentas de linha de comando do linux úteis.

Outro truque na linha de comando é usar a opção 'man'. Por exemplo

mv man

ou

sudo man

O 'homem' significa manual. Cada aplicativo do terminal tem um manual detalhando a natureza do aplicativo, todas as suas opções e definições para tudo. Você pode executar a opção man com qualquer comando de terminal que você instalar.


2
2017-08-05 14:05



Certo, eu entendo isso, eu acho que a maneira que eu deveria ter formulado a questão é que se eu copiar um diretório, isso vai criar outro ponteiro para onde esses arquivos estão armazenados (eu estou assumindo sequencialmente no disco) ou irá realmente queimar outro diretório Um tamanho de espaço no disco, ou parafuso com a maneira que ele faz o olhar de uma maneira ruim. Como eu disse, eu sou muito noob, e talvez isso seja uma pergunta muito complicada para eu entender a resposta sem fazer mais pesquisas. - RyanGC
Procure alguns vídeos ou artigos no google / youtube sobre como funciona o sistema de arquivos linux. É muito diferente do que no Windows, é realmente fascinante. O Linux grava os arquivos no disco rígido fisicamente no início de cada faixa do disco rígido e continua com a próxima codificação, se houver espaço restante, e adiciona o restante à próxima faixa, e assim por diante. É muito mais rápido no acesso a arquivos do que o Windows por causa disso. Também mapeia arquivos digitalmente em vez de fisicamente. Os arquivos não são movidos como no Windows. Você nunca precisa desfragmentar no Linux. - Alex
Se você usar cp para copiar um diretório, ele emitirá um aviso informando que está ignorando o diretório e não fará nada. Você precisa usar -r (ou melhor, -a para preservar alguns outros atributos), para copiar um diretório, como ele ativa a recursão (inserindo um diretório para copiar seu conteúdo). - thomasrutter


O comando move no linux é mv, Vejo mv --help para mais informações

isso move o diretório e todos os subdiretórios

mv -f dir1 /destinationDir

Isso move arquivos de dir1 para dir2

mv -f dir1/* dir2

2
2017-08-05 13:56



Certo, mas eu quero ter exatamente o mesmo diretório em outro diretório. - RyanGC


Adicionando uma resposta, porque este foi o meu primeiro resultado de pesquisa no Google e não houve muitas respostas completas sobre o comando mv, e que ligação significa em qualquer nível de detalhe.

cp - cópias. Ele fará uma cópia idêntica por padrão, ocupando espaço idêntico, embora você possa dizer ao cp para fazer hard links (ponteiros para cada arquivo) usando a opção -l.

Se você quiser criar uma cópia de uma pasta, faça o seguinte:

cp -a source dest

Onde -a significa um "arquivo" ou cópia idêntica, incluindo pastas e links. Você poderia trocá-lo por -r se quiser copiar pastas, mas não links.

Se você quiser criar uma cópia com links para os arquivos originais (alterar o original também altera a cópia e ocupa muito menos espaço), faça o seguinte:

cp -l source dest

ln - links. Ele fará apenas um link, você poderá apontar para o seu destino e ocupará apenas o espaço necessário para apontá-lo.

Se você quiser criar um único link para uma pasta, faça o seguinte:

ln -s source dest

NOTA: -s significa link "simbólico". Porque ln pode criar links duros ou suaves (a maioria das pessoas chama isso de "simbólico"). Os links físicos só podem apontar para arquivos e ter outras restrições, enquanto links simbólicos podem apontar para qualquer coisa, incluindo pastas. Para um artigo completo sobre as diferenças entre links físicos e diretos, veja este excelente artigo Aqui.

mv - move arquivos ou pastas.

Para mover pastas (ou arquivos), faça isso:

mv source dest

0
2017-09-04 01:42



Pode valer a pena mencionar que sem -r ou -a, cp só copiará arquivos (isto é, source deve ser um arquivo) e irá ignorar diretórios. - thomasrutter
Obrigado senhor! :) - Nick Steele
cp -a também preserva ID do proprietário e do grupo, eu acho. - WinEunuuchs2Unix