Как использовать Bash для создания каталогов в Linux с помощью команды mkdir

Для создания каталога из Bash в Linux используйте mkdirкоманду, за которой следует имя каталога. Например, mkdir projectsкоманда создаст папку с именем projectsвнутри вашего текущего рабочего каталога. Для обычного создания каталогов вам не потребуется отдельный файловый менеджер или дополнительный пакет.

Строго говоря, mkdirэто не встроенная функция Bash. Bash запускает утилиту создания каталогов, установленную в системе; в типичных дистрибутивах GNU/Linux эта утилита входит в состав GNU Coreutils. Текущая документация GNU Coreutils по функции mkdir описывает стандартный синтаксис и полезные параметры, такие как -p, -m, и -v.

Создайте директорию с помощью команды `mkdir`.

Откройте терминал и, при необходимости, pwdпроверьте свое текущее местоположение. Затем выполните команду:

mkdir projects

Если команда выполнена успешно, обычно ничего не выводится. Подтвердите новый каталог с помощью:

ls
В терминале Linux отображается команда `mkdir projects`, за которой следует команда `ls`, после чего становится виден новый каталог проектов.
Создание одной директории в текущем местоположении с помощью mkdir.

Вы также можете указать mkdirпуть. В Bash символ без кавычек ~разворачивается в вашу домашнюю директорию, поэтому это создаст archivesпапку внутри вашей домашней директории:

mkdir ~/archives

В руководстве Bash по расширению тильды объясняется, как именно ~происходит расширение. Если родительский каталог не существует, обычный путь mkdirне сработает; используйте -pдля вложенных путей.

Создавайте вложенные каталоги с помощью команды `mkdir -p`.

Параметр -p`or` --parentsсоздает отсутствующие родительские каталоги по мере необходимости. Это наиболее удобный вариант при построении более глубокой структуры каталогов:

mkdir -p ~/work/client/site/assets

Если переменная work`<path>` client, `<path>` или `<path> ` siteещё не существует, mkdir -pона создаётся. При этом ошибка не выдаётся только потому, что существующий компонент пути уже является каталогом.

В терминале Linux показано, как команда `mkdir -p` создает вложенный путь к ресурсам клиентского сайта.
mkdir -pСоздает отсутствующие родительские каталоги одной командой.

Для скриптов можно добавить опцию, -vуказывающую на необходимость визуального подтверждения созданного контента:

mkdir -pv ~/work/client/site/assets

Создайте несколько каталогов одновременно.

mkdirПринимает несколько имен каталогов, поэтому вы можете создать несколько папок одной командой:

mkdir docs images backups

Поскольку в этом руководстве используется Bash, вы также можете использовать расширение фигурных скобок, если несколько имен каталогов имеют один и тот же путь:

mkdir -p project/{src,tests,docs}

Bash разворачивает это выражение перед выполнением mkdir, создавая project/src, project/tests, и project/docs. GNU Bash описывает это поведение в своем справочнике по разворачиванию фигурных скобок . Разворачивание фигурных скобок — это особенность Bash, поэтому не следует предполагать, что скрипт, выполняемый строго POSIX-совместимым программистом, shбудет интерпретировать его таким же образом.

В терминале Linux показано, как команда `mkdir -p project` разворачивает фигурные скобки, создавая каталоги `src`, `tests` и `docs`.
Расширение фигурных скобок в Bash — это компактный способ создания нескольких связанных каталогов.

Имена каталогов с пробелами и пользовательскими правами доступа.

Если имя каталога содержит пробелы, заключите его целиком в кавычки, если оно относительно текущего каталога:

mkdir "Project Files"

Для указания пути к вашей домашней директории $HOMEбезопаснее использовать двойные кавычки, чем заключать в кавычки буквальную тильду:

mkdir "$HOME/Project Files"

Не следует писать mkdir "~/Project Files"и ожидать ~, что тильда раскроется; заключение тильды в кавычки предотвращает её обычное раскрытие.

GNU mkdirтакже поддерживает -mустановку режима прав доступа для нового каталога. Например:

mkdir -m 750 private

Запрашиваются права на чтение, запись и выполнение для владельца, права на чтение и выполнение для группы, и никаких прав для остальных. Проверьте результат с помощью:

ls -ld private
В терминале Linux отображается вывод команды mkdir с именем каталога в кавычках, а также команда mkdir -m 750 и вывод команды ls -ld permission.
Кавычки защищают имена, содержащие пробелы, а -mустанавливает запрошенный режим прав доступа к каталогу.

Распространенные ошибки создания каталогов (mkdir).

  • Файл существует: целевое имя уже существует. Если это существующий каталог во вложенном пути, mkdir -pможет быть уместно.
  • Файл или каталог не найден: отсутствует путь к родительскому каталогу. Используйте эту опцию, mkdir -p path/to/new/folderесли хотите, чтобы отсутствующие родительские каталоги создавались автоматически.
  • Отказано в доступе: ваша учетная запись не может записывать данные в указанное местоположение. Создайте каталог в принадлежащем вам месте или используйте права администратора только в том случае, если это действительно необходимо для корректной работы системы.
  • Пробелы разделяют имя: путь, например, заключен в кавычки mkdir "$HOME/My Projects".

Удалите созданную вами директорию.

Для создания пустой директории используйте rmdir:

rmdir projects

В документации GNU Coreutils по команде rmdir подтверждается, что rmdirона удаляет пустые каталоги. Если каталог содержит файлы, rmdirкоманда не удаляет его. Рекурсивное удаление с помощью rm -rдоступно для непустых каталогов, но сначала внимательно проверьте путь, поскольку это удалит каталог и его содержимое.

Краткий справочник команд

  • mkdir name— создать одну директорию в текущем местоположении.
  • mkdir ~/name— Создайте одну директорию в своей домашней директории.
  • mkdir -p a/b/c— создать вложенное дерево каталогов и отсутствующих родительских каталогов.
  • mkdir one two three— создавать несколько каталогов одновременно.
  • mkdir -p project/{src,tests,docs}— Используйте расширение фигурных скобок Bash для обозначения связанных папок.
  • mkdir "$HOME/Project Files"— безопасно создать путь к домашнему каталогу, содержащий пробелы.
  • mkdir -m 750 private— создать каталог с указанным режимом прав доступа.
  • mkdir --helpили man mkdir— просмотреть справку по локальной команде.

Оставить комментарий

Как безопасно восстановить потерянные разделы и данные с жесткого диска

Как безопасно восстановить потерянные разделы и данные с жесткого диска

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

Как сканировать QR-коды на настольном компьютере с Linux

Как сканировать QR-коды на настольном компьютере с Linux

Сканируйте QR-коды в Linux с помощью CoBang, используя веб-камеру или файл изображения. См. варианты установки, шаги настройки и решения проблем с доступом к камере Flatpak.

Как изменить настройки веб-камеры в Linux с помощью Cameractrls

Как изменить настройки веб-камеры в Linux с помощью Cameractrls

Изменяйте настройки веб-камеры в Linux с помощью Cameractrls: настраивайте экспозицию, цвет, подавление мерцания и другие поддерживаемые параметры, а затем проверяйте совместимые видеорежимы.

Как установить PhpStorm на Linux: Toolbox, Tar.gz, Snap и AUR

Как установить PhpStorm на Linux: Toolbox, Tar.gz, Snap и AUR

Установите PhpStorm на Linux с помощью JetBrains Toolbox или автономного архива tar.gz, а также через Snap и Arch AUR. Java уже включена в комплект.

Как создать резервную копию CD-ROM в формате ISO в Linux

Как создать резервную копию CD-ROM в формате ISO в Linux

Создайте образ CD-ROM ISO в Linux с помощью GNOME Disks или dd. Определите оптический привод, отслеживайте процесс копирования, проверяйте образ и узнавайте, когда поврежденный диск или аудиодиск требует использования другого инструмента.

Как вырезать изображение в Linux с помощью GIMP

Как вырезать изображение в Linux с помощью GIMP

Удаление фона фотографии в Linux с помощью GIMP: обведите контур объекта, удалите выделенный фон, сохранив прозрачность, и экспортируйте многоразовый PNG-файл.

Как установить Cisco Packet Tracer на Linux

Как установить Cisco Packet Tracer на Linux

Загрузите Cisco Packet Tracer 9.0.1 для Ubuntu 64-бит, установите DEB-пакет с помощью APT, примите лицензионное соглашение в Терминале и войдите в систему, чтобы начать лабораторную работу.

Скачайте FlightGear бесплатно: официальное руководство по установке

Скачайте FlightGear бесплатно: официальное руководство по установке

Скачайте FlightGear бесплатно с официального сайта. Сравните пакеты для Windows, macOS и Linux, установите файлы данных и совершите свой первый полет.

Настольное приложение Google Tasks: как им пользоваться на компьютере

Настольное приложение Google Tasks: как им пользоваться на компьютере

Откройте Google Задачи в браузере, добавьте ярлык Chrome или запустите приложение, и управляйте задачами с указанием даты через Календарь и Gmail.

OKSampler: Бесплатный и простой музыкальный сэмплер для клавишных ритмов.

OKSampler: Бесплатный и простой музыкальный сэмплер для клавишных ритмов.

OKSampler сопоставляет MP3-клипы с клавишами клавиатуры и может зацикливать аудио. Узнайте, что делает эта старая бесплатная программа, на чем заканчиваются ее старые функции и что нужно проверить перед загрузкой.