Гид по технологиям

Как создать директорию и сразу перейти в неё одной командой в Linux

4 min read Linux Обновлено 24 Dec 2025
Создать и перейти в папку одной командой в Linux
Создать и перейти в папку одной командой в Linux

Кратко

Эта инструкция показывает, как добавить в ~/.bashrc простую функцию, которая объединяет mkdir и cd в одну команду. После настройки можно создавать папку и автоматически переходить в неё одной строкой.

Зачем это нужно

Если вы часто создаёте новые каталоги из терминала, то команда, объединяющая создание и переход сразу, экономит нажатия и время. Вместо двух команд — mkdir и cd — вы вводите только одно имя функции и аргумент.

Как создать новую директорию и сразу перейти в неё одной командой в Linux

Что делает функция

Мы добавляем в ваш файл конфигурации оболочки (обычно ~/.bashrc) функцию, которая вызывает mkdir с именем каталога, а затем выполняет cd в этот каталог только в случае успеха создания. Это безопаснее, чем простая последовательность команд: если mkdir не выполнится, cd не будет выполнен.

Ключевые моменты:

  • mkdir создаёт каталог;
  • && гарантирует, что cd выполнится только при успехе mkdir;
  • “$1” — первый аргумент функции, имя каталога (учитывает пробелы).

Шаг за шагом: добавление функции в .bashrc

  1. Откройте файл ~/.bashrc в любимом текстовом редакторе. В примере используется gedit:
gedit ~/.bashrc

Вы можете заменить gedit на nano, vi или любой другой редактор.

Открытие файла .bashrc

  1. Пролистайте файл до конца и добавьте следующую строку (или группу строк), лучше с комментарием сверху:
# Создаёт каталог и переходит в него
mkdircd(){ mkdir "$1" && cd "$1" ; }
  1. Сохраните файл и закройте редактор (в gedit — «Сохранить», затем крестик в окне).

Вставка команды в .bashrc

  1. Закройте редактор.

Закрытие gedit

  1. Чтобы изменения вступили в силу, перезапустите сессию оболочки. Самый быстрый вариант — загрузить файл вручную:
source ~/.bashrc

Или можно закрыть окно терминала и открыть новое, либо выйти из учётной записи и войти снова.

Закрытие окна терминала

  1. Проверьте работу команды. Пример:
mkdircd "Test Directory"

Если всё настроено правильно, каталог “Test Directory” будет создан и вы сразу окажетесь внутри него.

Запуск новой команды

Варианты и улучшения (с примерами)

  1. Поддержка создания вложенных директорий и перехода в последний уровень:
mkdircd(){ mkdir -p "$1" && cd "$1" ; }

Флаг -p позволяет создавать всю цепочку директорий (a/b/c) за один вызов.

  1. Поддержка пути с пробелами — уже учтена при использовании кавычек вокруг “$1”.

  2. Приём нескольких аргументов и переход в последний созданный каталог:

mkdircd(){ mkdir -p "$@" && cd "${@: -1}" ; }

Здесь “$@” передаёт все аргументы функции, а ${@: -1} — последний аргумент (POSIX-совместимо в bash).

  1. Быстрый alias (менее гибкий):
alias mkcd='foo'  # не рекомендуем: alias не принимает параметры, поэтому лучше функция

Функция предпочтительнее alias, потому что принимает аргументы.

Совместимость с другими оболочками

  • zsh: добавьте ту же функцию в ~/.zshrc;
  • fish: синтаксис другой, для fish используйте функцию в файле ~/.config/fish/config.fish, например:
function mkdircd
    mkdir -p "$argv"; and cd "$argv"
end

(В fish $argv — массив аргументов.)

Частые ошибки и их устранение

  • “cd: нет такого файла или каталога” — значит mkdir не создал директорию. Проверьте права доступа и путь.
  • “mkdir: невозможно создать каталог: Файл существует” — если каталог уже есть, mkdir завершится с ошибкой и cd не выполнится. Чтобы перейти в существующий каталог, используйте mkdir -p или проверку существования.
  • Изменения не применились — выполните source ~/.bashrc или откройте новый терминал.

Важно: && гарантирует, что cd выполнится только при успешном завершении mkdir. Это предотвращает попытку перейти в несуществующую директорию.

Критерии приёмки

  • Функция добавлена в ~/.bashrc (или соответствующий файл оболочки).
  • При вводе mkdircd имя_папки новый каталог создаётся и вы оказываетесь в нём.
  • Параметры с пробелами корректно обрабатываются (использование кавычек).
  • Функция не вызывает ошибок при несуществующих правах или неправильных путях (сообщения об ошибках читаемы).

Роль‑ориентированные контрольные списки

Для новичка:

  • Открыть терминал;
  • Вставить функцию в ~/.bashrc;
  • Выполнить source ~/.bashrc;
  • Проверить командой mkdircd Test.

Для разработчика:

  • Добавить поддержку -p;
  • Проверить поведение при разных аргументах;
  • Добавить комментарии и документацию в .bashrc.

Для системного администратора:

  • Убедиться, что изменения не нарушают скрипты автозагрузки;
  • Если нужно, распространить функцию через централизованную конфигурацию.

Короткая методика тестирования

  1. Ввести mkdircd NewDir — ожидаемо: каталог создан и открыт.
  2. Ввести mkdircd NewDir (еще раз) — ожидаемо: при варианте без -p будет ошибка; с -p — просто окажетесь в каталоге.
  3. Ввести mkdircd “My Projects/2025” — ожидаемо: каталоги созданы; вы в последнем.

Когда это не подходит (контрпример)

  • В скриптах, где важна портируемость и предсказуемость: предпочтительнее явно вызывать mkdir и cd, чтобы логи и поведение были очевидны.
  • В окружениях, где запрещено модифицировать пользовательский .bashrc (например, на некоторых серверах с централизованной политикой).

Шпаргалка (сниппеты)

Базовая функция:

mkdircd(){ mkdir "$1" && cd "$1" ; }

С -p и поддержкой нескольких аргументов:

mkdircd(){ mkdir -p "$@" && cd "${@: -1}" ; }

Команда для немедленного применения изменений:

source ~/.bashrc

Заключение

Эта простая функция экономит время при создании и переходе в новые каталоги из терминала. Она гибкая — вы можете расширить её флагами и поддержкой нескольких аргументов, а также перенести в другую оболочку (zsh, fish). Если вы много работаете в командной строке, такая мелкая автоматизация повышает скорость и комфорт работы.

Ключевые характеристики:

  • Безопасное поведение (cd выполняется только при успехе mkdir);
  • Поддержка путей с пробелами;
  • Легко расширяется под ваши нужды.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Управление паролями в Google Chrome
Инструкции

Управление паролями в Google Chrome

AirPlay в Mountain Lion: настройка и советы
Подключение

AirPlay в Mountain Lion: настройка и советы

Ускорение Windows 11 для игр — простые шаги
Windows

Ускорение Windows 11 для игр — простые шаги

Режим блокировки Lockdown Mode: что это и как включить
Безопасность

Режим блокировки Lockdown Mode: что это и как включить

Автоответ «Вне офиса» в Outlook для веба
Инструкции

Автоответ «Вне офиса» в Outlook для веба

Wi‑Fi: ярлык и сочетание клавиш в Windows
Windows

Wi‑Fi: ярлык и сочетание клавиш в Windows