Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером
Навигация
Основы командной строки
После запуска операционной системы с графической оболочкой мы попадаем в специальную рабочую область, которую часто называют рабочий стол. Это центральная точка входа, откуда через разные пункты меню начинается работа, запускаются разные задачи. Например, для навигации по файловой системе понадобится проводник.
В командной строке все устроено иначе: после загрузки системы мы попадаем в режим ожидания ввода команды. Этот режим привязан к файловой системе. Можно сказать, что мы всегда находимся внутри какой-то директории, которую называют рабочей директорией (working directory).
В этом уроке мы поговорим о навигации по директориям через командную оболочку.
Как проверить, в какой директории мы находимся
Начнем с самого основного. Проверить, в какой директории мы сейчас находимся, можно командой pwd:
/Users/guestКстати, название команды pwd — это сокращение, которое расшифровывается как print working directory. Похожим образом устроены имена многих команд, что позволяет легче и быстрее их запомнить.
По умолчанию новая сессия командной оболочки открывается внутри домашней директории пользователя. У каждого пользователя своя домашняя директория, поэтому в вашем случае путь будет отличаться.
В приведенном примере есть две неожиданности для тех, кто привык пользоваться Windows:
- В начале указан не диск, а единый корневой каталог
/. Это вершина файловой системы, внутри которой лежат все остальные файлы и директории - Вместо обратных слэшей
\используются прямые слэши/
Подробнее о различиях и файловой структуре мы поговорим в одном из следующих уроков, а сейчас сосредоточимся на навигации.
Как посмотреть список файлов
Изучим команду ls (сокращение от list). Она выводит список файлов и директорий в текущей рабочей директории:
Desktop Documents Downloads Library Movies Music Pictures PublicКак переместиться в другую директорию
Еще одна полезная команда — cd (сокращение от change directory). С помощью нее мы перемещаемся по файловой структуре. Для этого ей нужно передать аргумент — директорию, в которую необходимо переместиться:
# Входим в директориюMusic# Смотрим ее содержимоеiTunes# Смотрим текущую рабочую директорию/Users/guest/Music# Если имя директории содержит пробел, то его нужно экранировать с помощью `\`BestmusicОстановимся на этом моменте подробнее. Возможно, вы знаете, что есть два способа обозначить путь до файла:
- Абсолютный путь начинается от корня
- Относительный путь начинающийся от текущей рабочей директории
Выше мы указали относительный путь. Отличить их друг от друга очень легко:
- Абсолютный — первым символом в пути идет
/ - Относительный — во всех остальных случаях
Команда cd понимает и абсолютные, и относительные пути. Поэтому передавать ей можно что угодно:
# Неважно, в каком месте /Users/guest/Music # Абсолютный путьЕще раз проговорим, что абсолютный путь однозначно определяет адрес файла или директории в файловой системе, а относительный — нет.
Поэтому относительный путь стоит использовать только вместе с текущей рабочей директорией, относительно которой он считается. При передаче абсолютного пути не имеет никакого значения, какая сейчас рабочая директория. Если путь существует, то переход произойдет.
/Users/guestНо есть путь проще. Можно указать специальное значение .. и перейти на директорию уровнем выше:
..
/Users/guestБолее того, с помощью этого заполнителя можно выходить на любое количество уровней, указывая .. через разделитель:
# Выходим на два уровня вверх ../..
/UsersИногда в пути используется одинарная точка, которая означает текущую директорию. Например, вместо cd Music можно писать cd ./Music — разницы между этими выражениями нет.
# Из любого места/Users/guestНу и, наконец, четвертый вариант. Домашняя директория пользователя имеет специальное обозначение — ~ (). В момент выполнения команды тильда заменяется на абсолютный путь. Поэтому из любого места можно напрямую перейти в любую поддиректорию домашней директории:
# Из любого места ~/Music
/Users/guest/MusicДопустим, вы находитесь в домашней директории и хотите посмотреть файлы в поддиректории Music. Один способ вы уже знаете — для этого нужно перейти в директорию Music и выполнить программу ls.
Как обычно, есть другой способ. Команда ls также может принимать на вход аргумент — директорию, которую нужно проанализировать:
Music
iTunesКак и в случае с командой cd, к аргументу ls применимы понятия абсолютных и относительных путей. Впрочем, это правило распространяется на большинство случаев, где передаются пути.
Команда cd - возвращает в предыдущую директорию. Другими словами, последовательный вызов этой команды переключает между двумя последними посещенными директориями.
Команды cd, ls и pwd вместе составляют основу навигации по файловой структуре. Зная их, вы никогда не потеряетесь и не запутаетесь.
Со временем набирать пути становится все более лениво. Тогда можно дважды нажать Tab и воспользоваться автокомплитом — функцией, которая автоматически завершает имена.
Самостоятельная работа
Изучите содержимое директорий своей файловой системы. При перемещении между разделами с помощью команды cd используйте клавишу Tab для автозаполнения.

Остались вопросы? Задайте их в разделе «Обсуждение»
Вам ответят команда поддержки Хекслета или другие студенты
Открыть доступ
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
130 курсов, 2000+ часов теории
1000 практических заданий в браузере
360 000 студентов
Наши выпускники работают в компаниях:




