Я использую 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