В окне терминала я набрал:
mv filename ..\.. [Note the wrong slash.]
Теперь я не могу его найти. Ушел. Я провел несколько поисков и просмотрел восстанавливаемые удаленные файлы. Ничего такого. Пуф. Мне подходит для использования машины с Windows прямо перед этим.
Кто-нибудь знает, куда он мог пойти?
Это никуда не пошло, в текущем каталоге. Это было переименовано как ....
(четыре точки).
, Поскольку любое имя файла, имеющее .
впереди, рассматривают скрытый файл, таким образом, это стало скрытым. Так, если Вы сделаете ls
, то Вы не найдете его. Как всегда, Вам нужно -a
(или -A
) опция ls
для просмотра скрытых файлов т.е. ls -a
(или ls -A
) для наблюдения его.
Позволяют мне сломать его, Вы работали mv filename ..\..
, первые две точки означали бы родительский каталог, если бы это было ../
, но Вы использовали наклонную черту влево ..\
, который указывает на оболочку для выхода из следующего символа, но точка .
не имеет никакого особого значения для окружения. Так, это будет рассматривать его как литерал .
и последнее .
также добавленный, таким образом, Вы получили четыре точки ....
как имя файла.
Для возвращения назад к предыдущему (исходному) имени работайте mv .... filename
.
Выполненный mv .... filename
переименовать его назад. (mv ..\.. filename
работал бы также, но \
является лишним - как это было в Вашей исходной команде.)
.
и ..
записи присутствуют в каждом каталоге и обращаются к "текущим" и "родительским" каталогам соответственно. Но в отличие от этого в Windows, последовательности больше чем двух точек не имеют никакого особого значения. Хотя это необычно, Вы совершенно свободны назвать обычный файл с именем, состоящим полностью из точек, пока это - по крайней мере три точки долго.\
как символ ESC, гарантируя оболочку рассматривает следующий символ буквально вместо того, чтобы дать ему особое значение. .
символ не имеет никакого особого значения в оболочке (в частности, оболочка не то, что ответственно за то, что сделало .
и ..
работа записей). Поэтому в Вашей команде, \.
было эквивалентно .
..
. С тех пор ....
запускается с .
, выполнение ls
без -A
или -a
флаг не показал его.это находится все еще в том же каталоге, просто 'скрытый' файл теперь. Можно восстановить его "mv.... имя файла".