Что такое командная строка mac os

Выполнение команд и запуск инструментов в приложении «Терминал» на Mac

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

Выполнение команд в оболочке shell

В приложении «Терминал» на Mac введите полный путь к исполняемому файлу инструмента, затем введите все необходимые аргументы и нажмите клавишу Return.

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

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

Чтобы выполнить команду в папке текущего пользователя, введите перед командой спецификатор папки. Например, чтобы выполнить MyCommandLineProg , используйте следующую команду:

Чтобы открыть приложение, используйте команду open:

Если при вводе команды отображается сообщение command not found , проверьте правильность написания. Пример:

Прерывание команд

В приложении «Терминал» на Mac нажмите окно Терминала, где выполняется команда, которую Вы хотите завершить.

Нажмите сочетание клавиш Control-C.

Будет отправлен сигнал, который вызывает прерывание большинства команд.

Повтор ранее введенных команд

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

В приложении «Терминал» на Mac нажмите клавишу со стрелкой вверх.

Последняя введенная команда отобразится в командной строке.

Продолжайте нажимать клавишу со стрелкой вверх, пока не появится нужная команда, затем нажмите клавишу Return.

Источник

[Mac OS X] Начинающим о работе в Терминале

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

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

Небольшое введение

Начнем с вопроса, что такое Терминал? Прежде всего, это приложение, внутри которого выполняется командный интерпретатор. Его еще часто называют интерфейсом командной строки. Он интерпретирует команды специального языка скриптов.

Пояснение слова скрипт

Правильнее «скрипт» следует называть сценарием, поскольку это одно из значений английского слова — sript. Да и фактически «скрипт» является сценарием. Но термин «скрипт» очень прочно устоялся среди программистов, а потому я немного нарушу правила русского языка и буду называть его именно – скрипт. Тем более что и само слово «сценарий» заимствовано русским языком и родным ему не является.

Языки скриптов бывают разные, но есть наиболее распространенный набор таких языков, а соответственно и их интерпретаторов.

В OS X, по умолчанию используется командный интерпретатор bash . Это улучшенный вариант интерпретатора Bourne shell, который обычно называют просто shell . И он тоже присутствует в нашей системе в виде файла /bin/sh . Правда не используется.

В настоящее время bash – фактически стандарт де-факто в большинстве Unix-подобных систем.

Так же достаточно популярен интерпретатор zsh , который в свою очередь является улучшенным bash (и он тоже есть в нашей системе), но стандартом де-факто он не стал. Возможно пока. Существует и еще целый ряд командных интерпретаторов, не получивших такого большого распространения как bash .

Найти информацию обо всех перечисленных интерпретаторах несложно в «Википедии».

Командная строка

Когда вы запускаете программу Терминал, то видите в ее окне командную строку, которая в моей системе выглядит так:

Командная строка начинается с названия компьютера (у меня он называется iMac), затем следует название текущего каталога — по умолчанию открывается домашний каталог пользователя, который в Unix-системах обозначается знаком

(тильда). Далее следует имя пользователя (в моем случае — gosha ), а за ним знак $ , который называется приглашением – приглашением вводить команды интерпретатору.

Вид командной строки и приглашения можно настраивать, а в минимальном виде это будет просто знак $ . Именно после знака $ и вводятся все команды интерпретатору. Это место обозначает курсор — мигающий прямоугольник (его вид тоже можно настраивать).

Примечание: в заголовке окна Терминала вы видите текущий каталог (в данном случае это домашний каталог, а потому он обозначен домиком), затем имя пользователя, затем название используемого интерпретатора (в данном случае — bash ) и размер окна в символах.

Язык скриптов bash

Командный интерпретатор bash , как я уже написал выше, интерпретирует команды специального языка скриптов. Язык скриптов достаточно несложный язык программирования, который, как и любой язык программирования, предназначен для передачи команд и данных от человека к компьютеру.

Читайте также:  Ps3 eye camera driver windows

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

Приведу пример. Вы хотите посмотреть содержимое текущего каталога (при запуске Терминала, по умолчанию это будет ваш домашний каталог). Для этого в системе есть программа, находящаяся в файле ls . Ее запуск в командном интерпретаторе заключается во вводе имени файла этой программы и нажатием клавиши Enter:

Небольшое, но важное пояснение

На самом деле, этот файл находится в каталоге /bin и полностью этот файл обозначается как /bin/ls . Но в интерпретаторе есть специальный механизм, позволяющий не вводить полный путь до некоторых файлов программ. Этот инструмент — переменная окружения, которая называется PATH (путь) и содержит список каталогов. Интерпретатор, получив в качестве команды имя файла, указанное ему без пути, просто ищет этот файл в каталогах, перечисленных в переменной окружения PATH . Если находит, то запускает его на выполнение, если не находит, то выводит сообщение — файл не найден.

Посмотреть содержимое переменной PATH вы можете командой:

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

Ну а теперь перейдем собственно к советам.

Совет 1 — автодополнение

При использовании командной строки очень часто приходится вводить имена файлов – обычно это файлы различных команд, и вводить имена файлов или каталогов, передаваемых в качестве параметра командам, которые необходимо набирать с указанием полного пути до них. И вот для того, чтобы не ошибиться при наборе, в bash имеется механизм, называемый автодополнением.

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

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

Для того, чтобы понять, как это работает, приведу пример. Пусть мы хотим ввести команду diskutil . Начинаем вводить disku и нажимаем клавишу Tab, команда будет дописана автоматически – diskutil . А теперь попробуйте ввести на одну букву меньше — disk и нажать Tab — прозвучит звуковой сигнал и команда дописана не будет. Этот звуковой сигнал предупреждает нас, что есть несколько вариантов команд, начинающихся с букв disk . А вот для просмотра этих вариантов нажмите второй раз клавишу Tab и все эти варианты будут показаны:

Как видно на картинке, имеется шесть команд, название которых начинается с disk , а потому интерпретатор предлагает уточнить следующую букву. В нашем случае нужно ввести букву u , для того, чтобы интерпретатор смог понять, что нам нужна именно команда diskutil , поскольку это единственная команда, начинающаяся с букв disku и затем нажать клавишу Tab. Команда будет дописана полностью.

Попробуйте ввести только буквы di и нажать два раза клавишу Tab. Команд, начинающихся на эти две буквы, будет еще больше. А вот если бы в системе была только одна команда, начинающаяся с букв di , то после первого же нажатия клавиши Tab, она была бы дописана полностью, поскольку интерпретатору не приходилось бы выбирать из разных вариантов.

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

Пример. Предположим мы хотим посмотреть содержимое вашего каталога Загрузки при помощи команды ls .

И сразу небольшое отступление.

На самом деле, каталога с названием Загрузки , в вашем домашнем каталоге нет. Это программа Finder, так показывает вам название каталога Downloads . То есть фактически переводит на русский язык слово Downloads . Сделано это для удобства пользователей.

Вы можете убедиться в этом, взглянув на второй сверху снимок экрана, где мы командой ls выводили содержимое домашнего каталога. Как видите, там нет каталога с названием Загрузки , но есть каталог Downloads . Точно так же вы там не увидите каталогов с названиями Библиотеки , Документы , Изображения , Музыка , Общие , Сайты и Фильмы , которые показывает вам программа Finder как перевод с английского на русский названий каталогов: Library , Documents , Pictures , Music , Public , Sites и Movies соответственно.

Итак, вернемся к просмотру содержимого каталога Загрузки (а на самом деле Downloads ) командой ls . Нам нужно ввести название каталога в качестве параметра к этой команде. Набираем ls Dow и нажимаем клавишу Tab, получаем команду ls Downloads , в результате выполнения которой и получим содержимое каталога Загрузки ( Downloads ).

И еще одно отступление.

На самом деле в Unix -системах в этом случае вводят не ls Downloads , а ls ./Downloads . Тем самым обозначая, что каталог Downloads находится в текущем каталоге. Точка — обозначение текущего каталога. Но в реализации bash в OS X , сделано небольшое послабление пользователям и в текущем каталоге, можно ./ опускать, так как будто в переменной окружения PATH прописан текущий каталог, хотя на самом деле его там нет. Вы можете убедиться в этом, выполнив команду echo $PATH . Зачем это было сделано для меня остается загадкой, но таковы реалии OS X. Естественно можно набирать и канонически для Unix-систем – ./Downloads .

Читайте также:  Vbscript windows scripting host

Итак, мы ознакомились с автодополнением. Этот инструмент позволяет очень быстро и безошибочно вводить команды. Между прочим, многие файловые операции (копирование, перемещение, переименование, удаление) бывают гораздо проще и их быстрее выполнить именно в командной строке, используя механизм автодополнения. 🙂

Совет 2 – история команд

Это еще один механизм, облегчающий работу в командной строке. Дело в том, что интерпретатор bash запоминает все команды, которые вы выполняли. Он сохраняет всю историю команд в скрытом файле вашего домашнего каталога с названием .bash_history . Увидеть этот файл можно при помощи команды ls с ключом -la , т.е. ls -la . Попробуйте.

Пользоваться историей команд очень просто – при помощи клавиш навигации — Стрела вверх и Стрелка вниз. Нажмите первую из них и вы увидите в командной строке предыдущую выполненную команду. Последующие нажатия этой клавиши будут последовательно выводить ранее выполненные вами команды. Соответственно вторая клавиша листает список выполненных команд в обратном направлении.

Это удобно использовать собственно для повторения выполненных команд. Но и очень удобно для их модификации. Например, в моих статьях часто встречаются команды вида defaults write … , которыми мы обычно включаем некоторые скрытые настройки OS X. А отмена включения этих настроек часто делается командой defaults delete … , которую очень просто получить, вызвав из истории предыдущую команду defaults write … и просто исправить ее на соответствующую команду defaults delete… , а не вводить ее с нуля.

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

Надеюсь, это небольшое введение в основы мира командной строки, не слишком вас утомило. 🙂

Источник

Основы работы с командной строкой (Терминалом) на Mac OS X

  • написана командой Vertex Academy. Надеемся, что она Вам будет полезна. Приятного прочтения!
  • это одна из статей из нашего «Самоучителя по Java»

Привет! Это статья для тех, кто только начинает знакомство с командной строкой.

Сегодня мы рассмотрим основные команды в среде MacOS.

Где найти командную строку

Есть несколько способов:

  • Вызовите окно поиска (Cmd + Пробел, на Вашем устройстве может быть установлена другая комбинация), и напишите «Терминал» или «Terminal»:

  • Другой вариант — найти Терминал в Launchpad:

Там, в папке «Другие», можно найти значок Терминала:

Теперь, если мы нажмем на значок, откроется такое окно:

Обратите внимание: это стандартная программа для работы в командной строке. При желании, Вы можете установить и какую-нибудь другую программу — например, iTerm, Terminator и т.д.

Основные команды:

Давайте рассмотрим каждую из них по отдельности.

Команда ls

ls — расшифровывает как «List files in the directory», что переводится как «перечислить все файлы в папке» или «вывести на экран список файлов в папке». Синтаксис команды такой:

ls

Итак, если Вы только открыли терминал, Вы автоматически попадете в так называемый «home directory» — «исходный каталог», или «хомяк» — сленг от слова»home» 🙂 Обычно это папка, которая называется так же как и имя пользователя. Давайте откроем терминал и напишем команду ls:

Если нажать Enter, то мы увидим:

У Вас исходный каталог может выглядеть по-другому — например, у Вас не будет папок 42FileChecker, если у Вас не будет установлен Adobe Creative Cloud, — не будет папки Creative Cloud Files, и т.д.

Команда cd

cd — расшифровывается как «Change directory», что переводится как «сменить папку» или «перейти в другую папку». Синтаксис такой:

cd

Например, как Вы помните, мы только открыли терминал и сейчас находимся в home directory:

Мы можем зайти в одну из этих папок. Давайте, например зайдем в папку Desktop (Рабочий стол). Для этого, напишем:

cd Desktop

Если мы нажмем Enter, мы перейдем на Рабочий стол. Сейчас, у нас на Рабочем столе находится только папка «Files»:

И если мы теперь вызовем команду ls, увидим только папку Files — то же самое, что видим на своем Рабочем столе:

Чтобы выйти обратно, напишем:

cd ..

То-есть мы пишем «cd«, а потом две точки:

Нажмем Enter. Теперь, давайте еще раз вызовем ls:

Как видите, мы опять находимся в home directory.

Команда pwd

  • pwd — «present working directory»

pwd — расшифровывает как «Present working directory», что переводится как «текущая рабочая директория». То есть команда pwd показывает, в какой сейчас папке мы находимся. Синтаксис такой:

pwd

Например, у нас имя пользователя «Maria». Поэтому, наша домашняя папка так и называется:

Опять же, если мы зайдем в папку Desktop:

Если мы сейчас напишем pwd, то увидим, что мы находимся папке «Desktop«:

Команда mkdir

mkdir — расшифровывается как «Make directory», что переводится как «создать папку». Синтаксис такой:

mkdir

Например, сейчас мы находимся на Рабочем столе. Как Вы помните, в этой папке у нас только одна папка — Files:

Читайте также:  Срок действия пароля истекает windows server

Теперь, давайте создадим новую папку — например, с названием «NewDirectory»:

Теперь, если мы вызовем команду «ls», то увидим, что у нас уже две папки:

Для большей наглядности, мы можем открыть папку в Finder:

Команда open

«Open» переводится как «открыть». С помощью этой команды мы можем открыть что угодно — папку или файл. Синтаксис такой:

open

Например, сейчас мы находимся в папке Desktop. Давайте откроем папку NewDirectory. Для этого мы пишем:

open NewDirectory

Нажмем Enter. Тогда мы увидим, что откроется папка «NewDirectory» в Finder:

Чтобы открыть текущую папку, мы пишем:

open .

Здесь точка означает папку, в которой мы находимся. Например, давайте вернемся в папку home directory:

Теперь, мы находимся в папку, которая называется именем пользователя:

Напишем «open .«:

Отлично! Точно так же мы можем открывать и файлы. Например, создадим новый текстовый файл на Рабочем столе:

Теперь, зайдем на Рабочий стол:

open text.txt

Тогда, файл будет открыть в программе по умолчанию:

Мы можем открыть этот же файл и находясь в другой папке. Например, вернемся в «домашнюю» папку. Это, кстати, можно сделать, если просто написать «cd«, без аргументов:

Теперь, мы будем находиться в папке с именем пользователя:

Давайте откроем файл text.txt отсюда. Напишем путь к файлу:

open Desktop/text.txt

Получим такой же результат, как и в первый раз:

Точно так же, мы можем открыть файл и если он находится в папке «выше». Например, зайдем в папку NewDirectory:

Мы можем открыть файл, если напишем следующее:

open ../text.txt

Увидим, что файл, как и раньше, открылся в программе TextEdit:

Но мы и сами можем выбрать приложение, в котором следует открыть файл. Синтаксис такой:

open -a

Например, давайте откроем файл с помощью приложения Safari. Пишем:

open -a Safari ../text.txt

Если нажать Enter , увидим что файл открылся в браузере:

Команда touch

С английского «touch» переводится как «прикоснуться», «потрогать» 🙂 Эта команда позволяемое нам создать пустой файл. Синтаксис такой:

touch

Например, сейчас мы находимся в NewDirectory на Рабочем столе. Мы можем проверить это с помощью команды pwd, которую мы выучили раньше:

Теперь, давайте создадим файл. Мы можем сделать что угодно — изображение (img.jpg), текстовый файл (file.txt) или звуковой файл (sound.waw). Естественно, все эти файлы будут пустыми.

touch image.jpg

Теперь, в папке NewDirectory появится файл image.jpg. Давайте откроем папку с помощью команды open и посмотрим:

Отлично! Еще, мы можем создать несколько файлов одной командой. Их имена можно указать через пробел:

touch file1 file2 file3 .

Например, давайте сделаем несколько файлов с расширением .txt. Напишем в командной строке:

touch 1.txt 2.txt 3.txt

Теперь, если мы откроем папку NewDirectory, мы увидим наши новые файлы:

Команда mv

mv — расфшифровывается как»Move», что переводится как «переместить», «передвинуть». С помощью этой команды мы можем:

  • переместить файл из одной папки в другую
  • переименовать файл

Итак, чтобы переместить файлы из одной папки в другую, мы пишем следующее:

mv

Например, давайте переместим файл image.jpg из папки NewDirectory на Рабочий стол (т.е. на уровень выше). Для этого, пишем:

mv image.jpg /Users/Maria/Desktop

Как видите, мы указали абсолютный путь. То-есть это путь не относительно нашей текущей папки («относительный» путь), а путь по которому папка находится в системе. Это можно сравнить с адресом. Можно сказать, что дом находится «на соседней улице» (это будет относительный путь), а можно что он находится по адресу. например, Ул. Уличная 123 (это будет абсолютный путь).

Таким образом, наш файл переместиться на Рабочий стол:

Как видите, теперь в папке нет изображения. Вместо этого, оно находится на Рабочем столе:

Давайте теперь вернем файл обратно. Напишем:

mv ../image.jpg .

Как видите, мы берем файл image.jpg, который находится на уровень выше (../image.jpg), и переедаем его в папку, в которой мы находимся сейчас (.).

Теперь, файл image.jpg опять в папке NewDirectory:

Кроме того, мы можем перемещать несколько файлов одновременно. Синтаксис такой:

mv file1 file2 file3.

Итак, давайте переместим все файлы из папки NewDirectory на Рабочий стол. И в этот раз, мы используем не абсолютный путь, а относительный. Пишем следующее:

mv image.jpg 1.txt 2.txt 3.txt ./..

Точно так же, мы могли бы написать:

mv * ./..

где * означает все файлы в папке.

Вот теперь мы можем увидеть, что все указанные нами файлы переместились на Рабочий стол:

Теперь, давайте посмотрим как можно переименовать файл. Синтаксис такой:

mv

Например, давайте поменяем название файла с image.jpg на picture.jpg. Для этого нам нужно перейти в папку Рабочий стол с помощью команды cd, а потом написать:

mv image.jpg picture.jpg

Если мы теперь откроем папку Рабочий стол, то увидим следующее:

Отлично! Теперь файл называется по-другому — picture.jpg.

Вот и все — теперь Вы знаете основные команды для работы с командной строкой на Mac OS.

Спасибо, что были с нами! 🙂

Надеемся, что наша статья была Вам полезна. Можно записаться к нам на курсы по Java на сайте.

Источник

Оцените статью