Команда mv создала исполняемый файл, а не каталог - PullRequest
0 голосов
/ 24 апреля 2020

Недавно я попытался переместить некоторые файлы, выполнив команду -exec mv с find (команда приведена ниже). Когда я сделал это, я набрал неверный путь к каталогу назначения (таким образом, каталог еще не существовал) и mv создал то, что кажется исполняемым файлом вместо каталога? Когда я запускаю «Get Info», рендеринг одного изображения и размер файла примерно соответствует правильному размеру изображения, но сотни файлов должны были быть скопированы. Я потерял эти данные навсегда? Есть ли способ заставить macOS распознать этот «исполняемый файл» как каталог?

Я использовал эту команду:

find . -type f -name "*.JPG" -exec mv {} ../../DestinationFolderName \;

Вот изображение, показывающее успешный переход в существующий каталог. и что произошло, когда я указал путь к каталогу, который еще не существовал.

Image of a folder on the left and executable on the right.

1 Ответ

1 голос
/ 24 апреля 2020

К сожалению, "mv" для несуществующего имени интерпретируется как имя файла, а не как каталог. Таким образом, ОС поочередно скопировала ваш файл JPG друг на друга. Получившийся файл, скорее всего, будет тем, что JPG оказался последним, который был перемещен (если вы переименуете его в расширение JPG, вы можете проверить, какой именно).

Так что, к сожалению, вам, вероятно, нужно исследовать восстановление данных инструмент для MacOS быстро (и сделайте это, прежде чем вы сделаете вещи, которые делают больше файлов на вашем диске, насколько это возможно). «Призраки» файлов на данный момент, по крайней мере, в основном все еще присутствуют на вашем жестком диске (как освобожденные сегменты), но они возвращаются в пул для перезаписи при создании новых файлов (даже когда ваш браузер создает файлы временного кэша, и такие вещи). Это загадка.

Если у вас нет машины резервного копирования / времени, лучше всего БЫСТРО получить программу восстановления данных MacOS.

ОЧЕНЬ жаль, что нет более счастливого ответа.

...