Макосок команды Cd

Обновлено: 21.11.2024

Когда вы открываете файл на своем компьютере, вы можете найти его, перемещаясь по каталогам в файловой системе вашего компьютера с помощью Finder. Даже файлы на рабочем столе, на которые вы нажимаете, сохраняются в файловой системе вашего компьютера, на жестком диске.

Когда вы открываете приложение из Finder или с рабочего стола, это всегда происходит из контекста «Рабочего каталога» — каталога вашего компьютера, в котором вы находились, когда запускали программу. Когда вы щелкаете файл на рабочем столе или открываете приложение из папки Dock или Applications, вы по-прежнему открываете файл в папке. Dock и Desktop — это просто абстракции для этого каталога, которые упрощают доступ к ним.

Мы привыкли перемещаться по этим файлам и работать с ними с помощью нашего графического пользовательского интерфейса, предоставляемого OS X. Наш терминал предоставляет нам интерфейс командной строки для навигации и работы с файлами и папками нашего компьютера, так же, как графический интерфейс. Как программисты, терминал является нашим рабочим местом, а не графическим интерфейсом.

Давайте научимся перемещаться по нашему компьютеру с помощью интерфейса командной строки терминала.

pwd и рабочие каталоги

Когда вы открываете сеанс терминала, вы попадаете в каталог вашей файловой системы. Какие бы программы вы ни выполняли или работали в своем Терминале, например, когда вы нажимаете элементы в своем графическом интерфейсе, это действие происходит в контексте «Рабочего каталога».

"Рабочий каталог" просто означает, где на жестком диске вашего компьютера вы находитесь, когда запускаете программу, опять же, нажав на значок в вашем графическом интерфейсе или запустив команду в вашем терминале, например, узнайте привет . Ты откуда-то это сделал. Мы называем это где-то, где бы вы сейчас ни находились, «Рабочим каталогом».

Откройте терминал, и вы окажетесь в командной строке, где ваш компьютер ожидает инструкций.

Что такое приглашение командной строки

Наш запрос командной строки и, возможно, ваш, если вы настроили свою среду с помощью Learn, представлен следующим образом:

Первая строка, [16:19:43] ~, сообщает нам текущее время, поэтому ожидайте, что эта часть будет отличаться для вас, и наш текущий рабочий каталог, ~ , что означает наш домашний каталог, каталог по умолчанию для ты. Мы объясним идею домашнего каталога или ~ чуть позже.

Следующая строка, // ♥, — это приглашение командной строки, где мы можем вводить инструкции и команды для выполнения нашим компьютером. // ♥ — это индивидуальное приглашение, которое вы получили, настроив свою среду с помощью Learn. Нам символы // ♥ напоминают нам о пути, '//', о любви, '♥'. Это наша мантра, когда мы программируем. И мы думаем, что это выглядит довольно круто, учитывая, сколько времени мы проводим в нашем Терминале.

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

Если вы читали другие руководства, возможно, вам знакомы инструкции командной строки со знаком $, обозначающим подсказку. Мы стараемся следовать этому соглашению в наших инструкциях, но иногда вы можете увидеть // ♥ на изображениях или примерах кода.

Что можно сделать из командной строки? Все и ничего. Командная строка — это самый мощный интерфейс в мире, с помощью которого можно создавать, контролировать, формировать, манипулировать и использовать каждый компьютер и часть программного обеспечения.

pwd — Печать рабочего каталога

Давайте запустим нашу вторую программу командной строки (наша первая была, когда вы запустили Learn hello ).

Введите pwd в командной строке. Вы должны увидеть что-то вроде:

В моем домашнем каталоге ~ мой терминал представил мне приглашение $ . Я набрал pwd и нажал Enter на клавиатуре. Мой терминал ответил /Users/avi и вернул меня в мой домашний каталог, ~ и дал мне новое приглашение, $ .

Это стандартная процедура, когда вы выполняете что-либо в Терминале, вы вводите команду из подсказки в рабочем каталоге, видите вывод и возвращаетесь в новую подсказку в своем рабочем каталоге.

Команда pwd является аббревиатурой от «Печать рабочего каталога». Команда pwd выводит рабочий каталог сеанса терминала, папку, в которой вы сейчас находитесь.

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

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

~ — Ваш домашний каталог

Когда вы открываете новый сеанс терминала, вы начинаете с папки по умолчанию в вашей файловой системе, которая называется вашим домашним каталогом. Когда вы используете свой компьютер, вы входите в систему под учетной записью пользователя, вы знакомы с этим, поскольку OS X время от времени запрашивает пароль вашего пользователя.

Каждому пользователю на вашем компьютере предоставляется "Домашняя директория" для его файлов. Ваша операционная система OS X использует этот «Домашний каталог» для защиты ваших файлов от других пользователей, которые могут использовать ваш компьютер совместно.

В OS X домашние каталоги пользователей хранятся в папке Users в корне или главном каталоге верхнего уровня вашего жесткого диска, представленном / .

'/' означает основной каталог вашего жесткого диска. Каждый файл и папка на вашем компьютере находится где-то внутри / .

/Users — это основной каталог Users в OS X. Внутри /Users есть папка для вашего имени пользователя, имени учетной записи, которую вы используете для входа на свой компьютер. Мое имя пользователя avi, поэтому мой домашний каталог: /Users/avi. Ваш будет другим, и вы можете увидеть это, открыв новый сеанс терминала и введя pwd .

Символ ~ (тильда) — это просто ярлык для вашего домашнего каталога, каким бы он ни был. Всякий раз, когда вы видите свой рабочий каталог или путь к файловой системе с ~ , вы дома.

Нет ничего лучше ~ .

ls — Список файлов в каталоге

Что касается каталога, вам, вероятно, будет интересно узнать, "какие файлы находятся в этом каталоге?". Вы можете получить список файлов в вашем рабочем каталоге, выполнив ls :

Когда мы набираем ls в Терминале, мы просим наш Терминал вывести список файлов и папок в текущем рабочем каталоге.

В моем домашнем каталоге ~ (на самом деле это /Users/avi) есть 6 каталогов: Applications , Development , Desktop , Documents , Downloads и Public . Возможно, у вас есть еще.

cd — Смена каталогов

Когда вы откроете новый сеанс терминала, вы окажетесь в рабочем каталоге, возможно, в вашем домашнем каталоге, ~ . Но как нам перейти к другим каталогам и изменить наш рабочий каталог? Вы можете использовать команду cd, что означает «Изменить каталог».

В своем домашнем каталоге попробуйте:

В ~ , нашем домашнем каталоге, по приглашению $ мы набираем cd Desktop . Наш терминал изменит каталог и войдет в папку «Рабочий стол», и теперь в нашем приглашении будет указано, что наш рабочий каталог ~/Desktop . Ваше приглашение может выглядеть немного иначе, но вы будете в каталоге рабочего стола. Подтвердите с помощью: $ pwd (помните, что на самом деле не набирайте $). pwd должен вывести что-то вроде: /Users/avi/Desktop , полный путь к вашему рабочему каталогу.

После того, как ваш рабочий каталог станет вашим рабочим столом, попробуйте ls, и ваш Терминал выведет список всех файлов, которые находятся на вашем рабочем столе.

Как перейти с рабочего стола обратно в домашний каталог? Вы всегда можете выйти из текущей папки и вернуться в родительскую папку, набрав cd .. . Точно так же, как ~ — это ярлык для домашнего каталога, .. — это ярлык, который всегда означает «каталог выше» или «родительский каталог» текущего. Ваша файловая система представляет собой древовидную структуру, в которой каталоги находятся внутри других каталогов:

Рабочий стол находится в avi, который находится в Users, который находится в верхней части моего жесткого диска, в корне, / . Путь к моему рабочему столу: /Users/avi/Desktop. Изнутри Desktop вы должны ссылаться на родительский каталог, avi как .. .

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

Вы также можете изменить каталог обратно на свой домашний каталог из любого места через cd ~ . Помните, что ~ — это ярлык, который означает «дом», поэтому, если вы наберете cd ~, вы скажете своему терминалу изменить рабочий каталог на ваш домашний каталог.

open — Открытие папок и файлов

Когда вы находитесь в Терминале, иногда полезно открыть текущий каталог, в котором вы находитесь, ваш рабочий каталог, в Finder. Вы можете сделать это с открытым . . Откроется представление OS X Finder каталога, в котором вы находитесь.

subl — Открытие папок и файлов в Sublime Text

Иногда удобно иметь возможность открыть каталог или файл прямо в текстовом редакторе. Если вы используете SublimeText, вы можете настроить ярлык subl именно для этого!

Чтобы включить этот ярлык, просто запустите

Теперь, если вы хотите открыть весь каталог в Sublime Text, попробуйте subl .

atom — открытие папок и файлов в Atom

В качестве альтернативы, если вы используете Atom, вы можете выбрать «Установить команды оболочки» в меню под «Atom» — это установит для вас ярлык atom, который работает так же, как subl выше — просто запустите

чтобы открыть текущий каталог.

Подсказка: автозаполнение вкладок

В Терминале для автозаполнения каталога или команды начните вводить текст, а затем нажмите клавишу TAB.

Компании, использующие компьютеры Mac, могут использовать приложение Mac Terminal, представляющее собой интерфейс командной строки, для внесения изменений в операционную систему Unix, на которой построена OS X. Через Терминал вы можете перемещаться по каталогам на вашем компьютере. Возможно, вам придется вернуться в предыдущий каталог, если вы неправильно изменили каталог, в котором работали.Простые текстовые команды могут вернуть вас в предыдущий каталог или полностью вернуться в домашний каталог.

Использование терминала и компакт-диска

Вам не нужно программировать, чтобы научить терминал macOS возвращаться к каталогу. Это функция, автоматически встроенная в оболочку Bash и используемая в Терминале по умолчанию.

Чтобы перейти из одного каталога или папки в другой, вы можете использовать команду "cd", что является сокращением от "изменить каталог". Чтобы вернуться в предыдущую папку, вы можете использовать для этого специальную опцию в "cd".

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

Если вы когда-либо не знали, в каком каталоге находитесь, работая в Терминале, вы можете ввести "pwd", чтобы распечатать текущий рабочий каталог. Как правило, ваш текущий каталог будет отображаться в командной строке, но вы или системный администратор можете переопределить этот параметр с помощью файлов конфигурации.

Вернуться назад

Используйте cd для перехода в каталог

Введите "имя каталога cd" в окне терминала, заменив "имя каталога" на имя каталога на вашем компьютере. Делайте любую работу, которую вам нужно сделать в этом каталоге.

Вернуться в предыдущий каталог

Введите "cd -" в окне терминала и нажмите "Return". Терминал возвращается в предыдущий каталог.

Переход к родительскому каталогу

Каталоги в большинстве современных операционных систем образуют вложенную структуру с каталогами внутри других каталогов. Каталог, содержащий ваш текущий каталог, называется его родительским каталогом. Например, если вы находитесь в каталоге «/home/username/documents/work», родительский каталог — «/home/username/documents».

Часто бывает полезно перейти от каталога к его родительскому при работе с файлами. Для этого в терминале Mac или большинстве других систем командной строки введите «cd ..». Как правило, строка ".." представляет родительский каталог текущего каталога, а строка "." представляет текущий каталог.

Вы можете использовать несколько «..» в пути, поэтому в предыдущем примере каталог «..» — это «/home/username/documents», а «../..» — «/home/username ."

Возврат в домашний каталог

Каждый пользователь Mac или другой системы в стиле Unix имеет домашний каталог. Это каталог, которым вы владеете и который можете использовать для хранения ваших файлов. Многие программы автоматически сохраняют файлы и настройки в вашем домашнем каталоге.

Вы можете вернуться в свой домашний каталог в любое время в Терминале, используя встроенный ярлык. Домашний каталог обозначается тильдой или символом "~".

Введите «cd ~» в окне терминала и нажмите «Return», чтобы перейти в свой домашний каталог, или используйте «~» в путях, таких как «~/documents».

Использование Pushd и Popd

Инструменты командной строки под названием "pushd" и "popd" позволяют сохранять стековую структуру каталогов, в которых вы работаете.

Введите имя "pushd directory", чтобы переключиться на каталог и добавить его в стек. Если вы хотите посетить другой каталог, введите «pushd directory2», где directory2 — это имя другого каталога.

Когда вы закончите работу с одной папкой, вы можете перейти к следующему каталогу в стеке, набрав "popd", чтобы извлечь каталог из виртуального стека и вернуться к нему.

Изменить каталог — изменить текущую рабочую папку.

Если указан dir, изменяет рабочий каталог оболочки на dir. Если нет, меняется на HOME (переменная оболочки).

$ cd — возврат к последней папке, которую вы просматривали. Это не складывается, поэтому повторная выдача CD будет просто переключаться между двумя каталогами, чтобы вернуться дальше, используйте pushd/popd. Предыдущий каталог — эквивалент $OLDPWD

./ или просто . является сокращением для текущего каталога.

CDPATH

Переменная оболочки CDPATH предоставляет полезную функцию, эта переменная аналогична PATH, но устанавливает список путей, по которым cd будет искать подкаталоги. CDPATH можно задать в командной строке для использования в текущем сеансе или в .bash_profile для постоянного использования, список путей должен быть разделен двоеточием ( : )

$ CDPATH=".:~:~ /Library"

Если dir начинается с косой черты (/), то CDPATH не используется.

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

Возвращаемое значение истинно, если каталог был успешно изменен; false в противном случае.

Это встроенная оболочка BASH для отображения вашего локального синтаксиса из командной строки bash: help cd

Перейдите в подпапку "Документы":
$ cd Documents

Перейдите в папку со шрифтами:
$ cd /library/fonts
$ pwd
cd /library/fonts

Перейти в другую папку:
$ cd ~/music
$ pwd
/Users/kate/music

Перейти к родительскому каталогу ( /Users/kate/ ):
cd ..

Два уровня вверх:
$ cd ../..

Перейти к началу загрузочного тома:
$ cd /

Перейдите в свой домашний каталог:
$ cd ~
или просто:
$ cd

Перемещаться в папку, если имя папки содержит пробелы, круглые скобки или любые другие знаки пунктуации:
$ cd 'Данные пользователя AppleWorks'

«Во времена перемен учащиеся наследуют землю, в то время как ученые обнаруживают, что имеют дело с миром, которого больше не существует» ~ Эрик Хоффер

popd — восстановить предыдущее значение текущего каталога.
pushd — сохранить, а затем изменить текущий каталог.
pwd - Печать рабочего каталога.

Я использую терминал, чтобы попытаться перейти во вложенную папку, и когда я это делаю, я сначала использую команду "ls", чтобы просмотреть содержимое каталога, в котором я нахожусь. Затем я использую команду "cd", а затем пробелом и именем следующей папки или подпапки, в которую я хочу перейти. Все работало нормально, пока я не пришел к папке, которую назвал «Русский проект». Когда я набираю «cd Russian Project», терминал сообщает мне, что «-bash: cd: Russian: Нет такого файла или каталога». Это просто неправда. Я вижу это в своем поисковике, я даже могу сделать ls для папки, содержащей его, и он явно там. Как можно починить терминал, чтобы он видел, что там?

MacBook Pro с дисплеем Retina, OS X Yosemite (10.10)

Опубликовано 8 июля 2016 г., 1:34

Откройте новое окно терминала, введите "cd" и оставьте пробел после cd. Затем выберите папку в Finder и перетащите ее в окно терминала. Он автоматически вставит полный путь к этой папке в терминал.

Опубликовано 8 июля 2016 г., 5:17

Все ответы

Загрузка содержимого страницы

Содержимое страницы загружено

В командах терминала не должно быть пробелов. Попробуйте cd Russian\Projects/ или cd "Русские проекты"

8 июля 2016 г., 1:47

Спасибо за ответ, но, к сожалению, ни одно из предложений не сработало. Оба привели к "-bash: cd: Русские проекты: Нет такого файла или каталога"

8 июля 2016 г., 4:57

Откройте новое окно терминала, введите "cd" и оставьте пробел после cd. Затем выберите папку в Finder и перетащите ее в окно терминала. Он автоматически вставит полный путь к этой папке в терминал.

8 июля 2016 г., 5:17

Спасибо, это отличное и простое решение. Хотя я нашел другой, который довольно удобен. Если у меня есть папка, выбранная в Finder, я могу перейти в Finder> Services> New Terminal at Folder. Если это не вариант для вас, перейдите в системные настройки> клавиатура> ярлыки, затем слева выберите «Службы», затем убедитесь, что в списке справа установлен флажок «Новый терминал в папке».

Читайте также: