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