Я использую Ubuntu 16.04.
Шаг 1) Я вошел в свою root
учетную запись пользователя.
Шаг 2) Я использовал cd
для перехода в домашний каталог другой учетной записи пользователя.
Шаг 3) Я набрал, ls
чтобы проверить содержимое этого каталога.
Шаг 4) Содержимое вернулось пустым.
Шаг 5) Я набрал, mkdir .ssh
чтобы создать каталог.
Результат) mkdir: cannot create directory '.ssh': File exists
Вопрос: Почему каталог указан как пустой, если внутри него существует папка .ssh?
-- Обновить --
Я вошел в root, потому что это тестовый сервер. Я неоднократно создаю и разрушаю это.
ll
илиla
нетls
Ответы:
ls
сам по себе не показывает скрытые каталоги (скрытые каталоги и файлы начинаются с.
, например.ssh
)Попробуйте использовать
ls -a
в каталоге.С man-страницы ls:
Как отмечалось в комментариях, «скрытые» каталоги и файлы технически не являются чем-то особенным , есть просто код, встроенный во множество распространенных инструментов, которые обрабатывают
.
и..
имеют особое значение, в результате чего.
большинство инструментов обычно считают его «скрытым». Причина, по которой я использовал этот термин, заключается в том, что его часто называют так.Дополнительно
.
и..
обычно имеют особое значение для большинства файловых систем, указывая текущий каталог и родительский каталог соответственно.источник
ls
и еще куча других инструментов. Но в принципе вы абсолютно правы; с другой стороны, даже в системах, которые прослеживают свою родословную до MS-DOS и его атрибутов файлов, требуется специальный код для обработки «скрытых» файлов (что означает «файлы со скрытым набором атрибутов», а не «файлы, которые назвали в этой конкретной форме ").ls
предполагалось только скрыть,.
и..
поэтому они добавили код, чтобы увидеть, начинается ли он с точкиroot
» сочетается с явным незнакомством с * nixes. Для ОП было бы очень легко случайно уничтожить что-то важное.На вашем шаге 3 введите
ls -a
список содержимого каталога.Файл или каталог, имя которого начинается с,
.
будет игнорироватьсяls
.источник
.ssh - это скрытый каталог, так как он начинается с
.
Чтобы получить список скрытых файлов и каталогов, используйте
ls -a
вместо простоls
.источник
.ssh
это не файл, это каталог"" зарезервировано для скрытых папок / файлов.
ls
по умолчанию не будут перечислены скрытые файлы и каталоги. («.» и «..» - это две скрытые директории по умолчанию в любой директории). Чтобы просмотреть все файлы в папке, используйтеls -a
илиls -al
(если вы хотите получить более подробную информацию о каждом файле / папке.источник
Для создания каталога вам необходимо удалить существующий каталог
Используйте rm -rf .ssh, это удалит каталог
Или, если уже существует, вы можете использовать cd .ssh
источник