Как мне найти мой файл, который был перемещен без назначения

Я в беде. Я нажал "войти" без пункта назначения. У меня было два файла в одном каталоге с общим ИДЕНТИФИКАТОРОМ в их названии. Я хотел переместить их в папку, поэтому я вошел

mv / path / to / file / IDENTIFIER *

Но прежде чем войти в пункт назначения, я нажал "Ввод", и один из моих файлов исчез, который был в алфавитном порядке выше. Теперь я нигде не могу найти этот файл. Я был в моем

Каталог Abhishek@abhishek$ в терминале.

Может кто-нибудь дать мне подробный ответ о том, как я могу найти, или это перезаписано другим файлом. Я полный новичок в мире Linux, но я знаю, как работает терминал. Так что я могу сделать некоторые основные команды.

3 ответа

Если у вас есть только два файла, например:

IDENTIFIER_1
IDENTIFIER_2

тогда вы перезаписали IDENTIFIER_2 с содержанием IDENTIFIER_1,

Пример:

$ cat IDENTIFIER_1
IDENTIFIER_1

$ cat IDENTIFIER_2
IDENTIFIER_2

$ ls -og IDENTIFIER_*
-rw-rw-r-- 1  0 Mai 19 18:28 IDENTIFIER_1
-rw-rw-r-- 1 13 Mai 19 18:27 IDENTIFIER_2

$ mv IDENTIFIER_*

$ ls -og IDENTIFIER_*
-rw-rw-r-- 1 13 Mai 19 18:30 IDENTIFIER_2

$ cat IDENTIFIER_2 
IDENTIFIER_1

Если у вас было более двух файлов, то будет ошибка:

$ ls -og IDENTIFIER_*
-rw-rw-r-- 1  0 Mai 19 18:28 IDENTIFIER_1
-rw-rw-r-- 1 13 Mai 19 18:27 IDENTIFIER_2
-rw-rw-r-- 1  0 Mai 19 18:28 IDENTIFIER_3

$ mv IDENTIFIER_*
mv: target ‘IDENTIFIER_3’ is not a directory

Для еще лучшего объяснения см. @Serg.

Я хотел бы просто расширить ответ, который опубликовал AB.

Подстановочный знак просто расширяет IDENTIFIER_* на все экземпляры IDENTIFIER_*. Следовательно, mv IDENTIFIER_* на самом деле читается как mv IDENTIFIER_1 IDENTIFIER_2,

Это та же самая причина, почему петли работают так for file in *; do, так же как echo IDENTIFIER_*, и так далее и тому подобное.

Теперь причина, по которой 3 файла не работают, снова в том, что команда mv IDENTIFIER_* расширяется до mv IDENTIFIER_1 IDENTIFIER_2 IDENTIFIER_3и ты путаешь mv со слишком многими аргументами.

введите описание здесь

Вы перезаписали второй файл первым.

Он потерян, если вы немедленно не отключите раздел / устройство и не попытаетесь восстановить его с помощью такого инструмента, как testdisk, photorec, extundelete или что-то еще.

Другие вопросы по тегам