
Я подключаюсь по SSH к машине, чтобы выполнить некоторую работу. В моем домашнем каталоге у меня ранее был подкаталог, назовем его так, myDirectory
в который я мог перейти из home
каталога, используя cd
как и в любом другом каталоге (т. е. cd ./myDirectory
).
Теперь, когда я запускаю команду, я получаю ошибку:
"myDirectory не является каталогом"
и когда я запускаю, ls
он myDirectory
имеет цветовую кодировку, отличную от других каталогов, и отличную от той, которая была ранее. ЯможетОднако, запустив mv someFile ./myDirectory
, недавно переместил несколько файлов (к которым мне теперь нужно получить доступ) таким образом.
Итак, myDirectory
очевидно, указывает на каталог, но ~/myDirectory
больше не находится. Я думаю, что понимаю проблему, однако я не уверен, какую команду использовать для доступа к каталогу. Как мне получить доступ к этому каталогу и/или определить его новое местоположение?
Выполнение этой команды:
ls -ld myDirectory
Производит:
-rw-rw-r-- 1 myUsername myUsername 15029 Nov 2 17:57 myDirectory
решение1
Первый -
в выводе ls -ld myDirectory
указывает myDirectory
наобычный файл, а не каталог.
Я могу только предполагать, как это произошло. Одна из возможностей заключается в том, что вы (или кто-то/что-то) переименовали/переместили/удалили исходный каталог myDirectory
, поэтому там не было никакой записи с именем myDirectory
; затем вы переименовали какой-то обычный файл someFile
в myDirectory
.
mv someFile ./myDirectory
переименовывает someFile
в myDirectory
. Старый обычный файл с именем myDirectory
(если он существовал) теряется. Это означает, что если вы переименовали более одного файла таким образом, то только последний из них можно легко восстановить; он находится под именем myDirectory
.
Чтобы избежать таких ошибок, добавляйте косую черту в конце, когда ссылаетесь на то, что, по вашему мнению, является каталогом. Если вы это сделали
mv someFile ./myDirectory/
и ./myDirectory
не был каталогом, инструмент выдавал ошибку, ничего не перемещая.
До этого момента мы предполагали, someFile
что это обычный файл. Если бы он мог быть типа каталог (который также является файлом) затем (в зависимости от того, что вы хотите сделать)может быть, даже лучше добавить/.
вместо /
.