fazendo pastas com mv

1

então eu queria mudar o nome de uma pasta de letras maiúsculas para minúsculas, então eu fiz

mv FOLDER folder

por que não sou obrigado a criar uma nova pasta? Eu não deveria receber um erro como

folder does not exist

você não pode copiar para uma pasta que não existe, então por que você pode se mover para uma?

    
por devin 07.05.2009 / 06:36

4 respostas

11

Existe uma diferença entre:

mv oldfolder/* newfolder

Onde newfolder não existe e:

mv oldfolder newfolder

Onde newfolder não existe.

O primeiro dá:

mv: target 'newfolder' is not a directory

Enquanto o segundo renomear oldfolder para newfolder.

    
por 07.05.2009 / 06:43
10

No UNIX / Linux, "mv" faz uma das duas coisas:

  1. Move um arquivo ou diretório de seu local atual (em um diretório) para um novo local (em um diretório diferente).
  2. Renomeia o arquivo ou diretório, sem movê-lo para um novo local.

No segundo caso, renomear um diretório não cria um novo diretório, apenas altera o nome do diretório já existente.

Na verdade, o seu exemplo faz duas coisas diferentes, dependendo se a "pasta" já existe como um diretório. Em caso afirmativo, mv funciona como no primeiro caso acima, ou seja, move "FOLDER" para o diretório "folder", então agora é "folder / FOLDER". Por outro lado, se "pasta" já não existe, apenas renomeia FOLDER.

Sim, pode ser um pouco confuso!

    
por 07.05.2009 / 06:44
0

No UNIX uma pasta é um arquivo especial .

Quando você solicita mv src dst , mv pega o arquivo src e tenta movê-lo para dst . Várias regras se aplicam agora. eles são tomados em ordem, o primeiro que corresponde é o aplicado:

  1. Se dst não existir, será o nome do destino (independentemente do tipo de src )
  2. se dst já existir e for um diretório, ele será considerado como um caminho e não como o nome do destino. Assim, o comando será entendido como mv src dst/src e src é movido dentro dst (o o caminho final de a é dst/src )
  3. se dst já existir e não for um diretório, ele será apagado somente se src não for um diretório.
por 07.05.2009 / 09:37
0

mv também é um comando de renomeação. Você está renomeando uma pasta para um novo nome.

    
por 10.08.2009 / 13:56

Tags