Назад | Перейти на главную страницу

Команда ls не отображает папку, но я не могу ее создать, потому что папка уже существует

Я использую Ubuntu 16.04.

Шаг 1) Я вошел в свой root учетная запись пользователя.

Шаг 2) Я использовал cd для перехода в домашний каталог другой учетной записи пользователя.

Шаг 3) Я набрал ls для проверки содержимого этого каталога.

Шаг 4) Содержимое вернулось пустым.

Шаг 5) Я набрал mkdir .ssh для создания каталога.

Результат) mkdir: cannot create directory '.ssh': File exists

Вопрос: Почему каталог отображается как пустой, если внутри него существует папка .ssh?

-- Обновить --

Я вошел в root, потому что это тестовый сервер. Я постоянно его создаю и разрушаю.

ls сам по себе не показывает скрытые каталоги (скрытые каталоги и файлы начинаются с ., Такие как .ssh)

Попробуйте использовать ls -a в каталоге.

Из справочной страницы ls:

-a, --all

не игнорируйте записи, начинающиеся с.

Как отмечалось в комментариях, «скрытые» каталоги и файлы технически не являются чем-то особенным, это просто код, встроенный во многие общие инструменты, которые обрабатывают . и .. со специальным смыслом, в результате . обычно считается "скрытым" большинством инструментов. Причина, по которой я использовал этот термин, состоит в том, что его часто называют именно таким.

Дополнительно . и .. обычно имеют особое значение для большинства файловых систем, указывая, соответственно, текущий каталог и родительский каталог.

На шаге 3 введите ls -a для вывода содержимого каталога.

Файл или каталог, имя которого начинается с . будет проигнорирован ls.

.ssh - это скрытый каталог, поскольку он начинается с .

Чтобы вывести список скрытых файлов и каталогов, используйте ls -a вместо просто ls.

"." зарезервирован для скрытых папок / файлов. ls по умолчанию не будет перечислять скрытые файлы и каталоги. («.» и «..» - это два скрытых каталога по умолчанию в любом каталоге). Чтобы просмотреть все файлы внутри папки, используйте ls -a или ls -al (если вы хотите получить более подробную информацию о каждом файле / папке.

Для создания каталога вам необходимо удалить существующий каталог

Используйте rm -rf .ssh, он удалит каталог

Или, если он уже существует, вы можете использовать cd .ssh