Почему я больше не могу открыть каталог, с которым я работал, как каталог в Linux?

Почему я больше не могу открыть каталог, с которым я работал, как каталог в Linux?

Я подключаюсь по 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что это обычный файл. Если бы он мог быть типа каталог (который также является файлом) затем (в зависимости от того, что вы хотите сделать)может быть, даже лучше добавить/.вместо /.

Связанный контент