Использование команды mv в Linux - PullRequest
0 голосов
/ 09 мая 2020

У меня есть куча файлов с разными расширениями:

.png .fa .sh

, которые находились в каталоге под названием 'files'.

Я хотел переместить каждый

.png to images directory
.fa to fasta directory
.sh to upper directory Golden_Asian.git/

Перемещение файлов .png и .fa сработало хорошо, но для файла .sh, когда я сделал

mv files/*.sh Golden_Asian.git

, он просто сделал сценарий оболочки типа POSIX, текстовый исполняемый файл ASCII с именем

Golden_Asian.git

имя исходного файла было

 script.sh

, поэтому я должен был получить результат типа

Golden_Asian.git/script.sh

Я сделал что-то не так или это правильный результат?

Исходный файл в каталоге "files" исчез, поэтому я почти уверен, что файл был перенесен в правильный каталог, но не понимаю, почему было изменено имя.

1 Ответ

2 голосов
/ 09 мая 2020

Это правильный результат, если был только один файл .sh и в текущем каталоге не было каталога с именем Golden_Asian.git. Вы выполнили mv files/script.sh Golden_Asian.git, поэтому он переместил файл с исходного имени на указанное вами имя. Если в текущем каталоге уже был файл Golden_Asian.git, он будет затерт (заменен) новым файлом. Если бы в текущем каталоге была папка с именем Golden_Asian.git, после команды был бы файл Golden_Asian.git/script.sh. Это не то, что у вас есть, поэтому можно сделать вывод, что у вас не было папки с именем Golden_Asian.git в текущем каталоге, когда вы выполняли команду.

Если вы указали:

mv *.sh Golden_Asian.git/

, тогда это потребовало бы существования каталога, и результатом был бы файл Golden_Asian.git/script.sh. Если бы у вас было несколько файлов .sh, тогда для существования вам потребовался бы каталог Golden_Asian.git. Вы сказали «верхний каталог»; Вы намеревались написать:

mv *.sh ../Golden_Asian.git

Если бы в родительском каталоге был каталог с именем Golden_Asian.git, то сценарий был бы перемещен туда. Если бы каталога не было, файл был бы перемещен на уровень выше и переименован. Опять же, завершающий / предотвратил бы путаницу.

Обратите внимание, что перемещение файла в каталог GIT (особенно чистый репозиторий ), вероятно, не лучшая идея.

...