Навигация по файловой системе в командной строке

Mac OS X, Tips & Tricks ,

Навигация по файловой системе в командной строкеДля перемещения и навигации по файловой системе в Mac OS X существует приложение Finder. Открыв его, вы всегда оказываетесь внутри какой-либо директории. Аналогично и в командной строке — вы всегда находитесь в той или иной директории. Отличие заключается в том, что в консоли для отображения содержимого директории необходимо использовать команду ls, работа с которой была рассмотрена в статье «Основы работы в командной строке Mac OS X в Terminal». Второе отличие заключается в том, что для перемещения в консоли используется клавиатура и текстовые команды, а не клики мышкой по иконкам папок и файлов.

Текущая рабочая директория и команда pwd

Запустив приложение Терминал для работы с командной строкой, вы оказываетесь внутри директории, которая называется рабочая директория (текущая директория, текущий каталог) от англ. working directory. Это директория, в которой сейчас находится пользователь.

Чтобы узнать абсолютный путь до рабочей директории, используется команда pwd, которая является сокращением от англ. print working directory.

Пример вывода команды pwd в командной строке

Сразу, после запуска командной строки, рабочей директорией, как правило, является домашняя директория текущего пользователя.

Подробнее об абсолютных и относительных путях и о домашней директории пользователя можно узнать в статье «Как устроена структура файловой системы Mac OS X».

Команда pwd имеет два параметра:

  • pwd ‑P отображает физический путь до текущей директории. Если путь содержит символические ссылки на директории, то они будут заменены на пути до реальных директорий, на которые эти ссылки указывают. Таким образом, будет отображен не логический путь, а реальное местоположение директории.
  • pwd ‑L отображает логический путь до текущей директории. Символические ссылки остаются не раскрыты.
  • Если параметр не указан, то по умолчанию команда работает, как если бы был указан параметр L.

Навигация по файловой системе и команда cd

Для того чтобы изменить текущую рабочую директорию, используется команда cd, что является сокращением от англ. change the working directory.

Синтаксис команды: cd [-L|-P] путь_до_директории.

Она имеет такие же параметры, как и команда pwd, а в качестве аргумента принимает абсолютный или относительный путь до директории, в которую необходимо переместиться.

Пример перемещения по файловой системе при помощи команды cd

Выполненная без указания директории, команда cd перемещает вас в домашнюю директорию текущего пользователя.

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

Указание в качестве пути символа тильда без имени пользователя при выполнении команды равносильно выполнению команды cd без указания директории — мы переместимся в домашнюю директорию текущего пользователя. Это происходит потому, что символ тильда ~ является сокращением для пути к домашней директории текущего пользователя.

Пример перемещения в домашнюю директорию пользователя

Перемещение вверх по дереву директорий

Когда нужно переместиться на уровень или несколько вверх по дереву вложенных папок, вместо абсолютного пути удобно использовать относительный. Для этого существует специальная жёсткая ссылка .. (две точки), которая ведёт на один уровень вверх в родительскую директорию.

Например, если мы находимся в директории:

"/Users/ixrevo/Documents/Music Projects/Samples"

Чтобы попасть в директорию:

"/Users/ixrevo/Documents/Music Projects"

Можно использовать абсолютный путь:

cd /Users/ixrevo/Documents/Music\ Projects

Обратный слеш в пути /Users/ixrevo/Documents/Music\ Projects используется для экранирования пробела. Иначе, без экранирования, команда восприняла бы за путь только часть до пробела, потому что пробел означает конец аргумента.

Другой способ использовать путь с пробелами — заключать его в двойные кавычки. "/Users/ixrevo/Documents/Music Projects/".

Вместо абсолютного пути проще использовать относительный: команда cd .. переместит нас в ту же папку "/Users/ixrevo/Documents/Music Projects/". Написание двух точек требует намного меньше нажатий кнопок на клавиатуре, чем при использовании полного пути, не правда ли?

Таким образом, две точки в пути обозначают переход на один уровень вверх. Также можно перейти на два, три и сколько угодно (ну, точнее, до корневой директории) уровней вверх: cd ../../.. (три, в данном случае).

Пример перемещения вверх по директориям

Две точки также можно использовать и как просто часть пути. Например, чтобы из папки "/Users/ixrevo/Documents/Music Projects/Samples" попасть в /Users/ixrevo/Documents/Books, необходимо выполнить команду

cd ../../Books/

Заключение

Чтобы узнать, где мы находимся, надо использовать команду pwd, которая выводит путь до текущей директории.

Чтобы переместиться в другую директорию, — команду cd путь_до_директории и указывать ей путь до нужной директории.

Добавить комментарий