Секреты Терминала. Часть 1: Навигация

TerminalMac OS X интересна тем, что подойдёт каждому: новичкам понравится интуитивность и понятность интерфейса, а опытным пользователям пригодятся практически неограниченные возможности, которые спрятаны «под капотом» системы. Для работы с ними нужен совершенно иной, уже непривычный современным пользователям компьютера способ — командная строка. С помощью командной строки можно управлять компьютером и файлами на нём, настройками практически всех программ, системными процессами и многим другим. Более того, активировать многие интересные возможности Mac OS и устранить многие неполадки можно только через командную строку. Окном в этот интересный мир для вас будет Терминал Mac OS X. Его возможностям мы решили посвятить данный цикл статей, в котором рассмотрим наиболее полезные рядовому пользователю команды и параметры.

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

Итак, не освоив основы работы с командной строкой, вы не сможете использовать потенциал своего Мака на все 100%.

То же самое относится и к iPhone с iPod Touch. Процедура джейлбрейка даёт вам доступ к файловой системе аппарата, а Терминал (который можно завести и на айфоне) открывает значительные возможности работы с файлами и настройками.

Первая статья нашего цикла будет посвящена самому главному — навигации по папкам. Без этого вы не сможете сделать в Терминале ровным счётом ничего.

Запустив Терминал (он лежит в папке Программы/Служебные программы), вы увидите такое окно:

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

  • ArkSnow — это имя компьютера. Разумеется, у вас оно будет совсем другим.
  • двоеточие разделяет имя компьютера и название папки, в которой вы находитесь
  • ~ означает, что вы находитесь в домашней папке пользователя
  • Arkkeeper$ — это имя пользователя

Эти элементы называются приглашением. Если вы видите их на экране, то Терминал готов выслушать вашу команду. Если приглашения и курсора нет, то выполнение предыдущих команд ещё не закончилось, и вводить новые пока нельзя.

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

pwd

Это английская аббревиатура Print Working Directory — напечатать рабочий каталог. Она покажет вам путь к той папке, в которой вы находитесь.

Введите в Терминале pwd и нажмите Enter. Вы увидите следующее:

term2/ — это обозначение корневой папки диска, на котором установлена Mac OS X.

/Users — это папка пользователей, которая находится в корневой папке диска

/Users/Arkkeeper — это папка текущего пользователя, которая находится в папке пользователей.

Как перейти в другую папку? Очень просто. Запомните вторую самую главную команду:

cd

cd означает Сhange Directory — сменить папку. Для этой команды недостаточно ввести её имя — так вы просто скажете, что хотите поменять папку, но не скажете, куда хотите перейти. Поэтому после cd нужен пробел и путь к каталогу, в который вы хотите переместиться.

Например, введите

cd /

Это перенесёт вас в корень диска (не забудьте нажать Enter — как всегда).

term3Заметьте, что содержимое приглашения поменялось. Тильда (~) сменилась на /.

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

Вбейте в командную строку

cd ~

И вы снова окажетесь в свой домашней папке.

Команда cd имеет несколько особенностей, связанных с путями к папкам. Пути бывают двух видов:

  • абсолютные — от корня диска. Они всегда начинаются со слэша (/).
  • относительные — от текущей папки.

Например, если вы находитесь в домашней папке и хотите попасть в папку с музыкой, которая находится внутри неё, то вам не нужно вводить

cd /Users/ваше имя/Music

или

cd ~/Music

Всё проще. Поскольку вы уже в папке пользователя (~), то можно ввести только название папки, в которую хотите попасть:

cd Music

Обратите внимание — слэш не нужен! Если вы введёте

cd /Music

то Терминал будет искать папку Music в корне диска. Естественно, он её не найдёт и напишет:

term4Запомните ещё одно полезное сокращение — две точки (..). Это переход на уровень выше — в материнскую папку. Например, если вы находитесь в папке /Users/ваше имя/Music, и введёте в Терминал:

cd ..

то окажетесь в папке /Users/ваше имя. Если снова введёте cd .., то попадёте в /Users. Если ещё раз — то в корне диска.

cd - — переход к предыдущему местоположению в файловой системе. Важно понимать отличие между верхним в иерархии и предыдущим, а им может быть совершенно иное место, например, если Вы переместились с /Users в ~/Documents, то предыдущим будет именно /Users, а не ~. Однако после того, как мы спускались от папки к папке, пробираясь сквозь недры вложений, то абсолютно нет никакой разницы между верхним каталогом и предыдущим, а значит смело можно писать любую команду. Кстати, подобное поведение можно наблюдать и в графических менеджерах файлов, отличных от Finder. В них тоже отличается переход «назад» и переход «вверх». После вызова такой команды будет сразу же вызвана уже рассмотренная команда pwd, которая и оповестит нас о том, куда же мы перешли.

Для навигации по истории команд можно использовать команду history. Она выведет 500 последних команд. Для выполнения последней достаточно ввести !!. А для вызова команды из того длинного списка — !*и тут номер в списке*. Обращаем ваше внимание на тот факт, что после выполнения команды, она в списке сдвинется, у нас не получится войти в одну воду дважды, то есть по одному номеру вызвать одну и ту же команду.

И последняя хитрость Терминала на сегодня: если вам нужно ввести несколько похожих команд, не нужно вводить каждую по отдельности. Стрелка вверх и стрелка вниз позволяют вам пролистывать все введенные ранее команды.

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