Секреты Терминала. Часть 1: Навигация
Mac OS X интересна тем, что подойдёт каждому: новичкам понравится интуитивность и понятность интерфейса, а опытным пользователям пригодятся практически неограниченные возможности, которые спрятаны «под капотом» системы. Для работы с ними нужен совершенно иной, уже непривычный современным пользователям компьютера способ — командная строка. С помощью командной строки можно управлять компьютером и файлами на нём, настройками практически всех программ, системными процессами и многим другим. Более того, активировать многие интересные возможности Mac OS и устранить многие неполадки можно только через командную строку. Окном в этот интересный мир для вас будет Терминал Mac OS X. Его возможностям мы решили посвятить данный цикл статей, в котором рассмотрим наиболее полезные рядовому пользователю команды и параметры.
Для начала — небольшое вступление. Многие пользователи зададутся вопросом «а зачем мне нужен Терминал с какой-то там командной строкой, когда в моём распоряжении и так есть симпатичный и удобный интерфейс Finder и десятков подобных программ от сторонних производителей?». Мы честно вам ответим — Терминал вам не нужен. Но только до тех пор, пока у вас не возникнут проблемы с компьютером или пока вы не захотите поменять что-то в скрытых настройках системы. Сложность интерфейса командной строки надуманна, нужно просто понимать сферу применимости Терминала. Для каких-то задач использовать его бессмысленно, потому что гораздо быстрее получится это сделать стандартными средствами. Но, например, ни одна навороченная программа не даст вам таких возможностей групповой обработки файлов, какие заложены в Терминале.
Итак, не освоив основы работы с командной строкой, вы не сможете использовать потенциал своего Мака на все 100%.
То же самое относится и к iPhone с iPod Touch. Процедура джейлбрейка даёт вам доступ к файловой системе аппарата, а Терминал (который можно завести и на айфоне) открывает значительные возможности работы с файлами и настройками.
Первая статья нашего цикла будет посвящена самому главному — навигации по папкам. Без этого вы не сможете сделать в Терминале ровным счётом ничего.
Запустив Терминал (он лежит в папке Программы/Служебные программы), вы увидите такое окно:
Серый прямоугольничек — это и есть курсор. В командной строке нет привычного указателя мыши. Слева от курсора находится бессмысленный (на первый взгляд) набор символов. Но на самом деле, смысл здесь есть в кадой детали. Итак:
- ArkSnow — это имя компьютера. Разумеется, у вас оно будет совсем другим.
- двоеточие разделяет имя компьютера и название папки, в которой вы находитесь
- ~ означает, что вы находитесь в домашней папке пользователя
- Arkkeeper$ — это имя пользователя
Эти элементы называются приглашением. Если вы видите их на экране, то Терминал готов выслушать вашу команду. Если приглашения и курсора нет, то выполнение предыдущих команд ещё не закончилось, и вводить новые пока нельзя.
Терминал показывает слева только само имя текущей папки. Это ни о чём не говорит, потому что на компьютере может быть несколько папок с одинаковыми именами. Поэтому запомните первую и самую главную команду навигации:
pwd
Это английская аббревиатура Print Working Directory — напечатать рабочий каталог. Она покажет вам путь к той папке, в которой вы находитесь.
Введите в Терминале pwd и нажмите Enter. Вы увидите следующее:
/ — это обозначение корневой папки диска, на котором установлена Mac OS X.
/Users — это папка пользователей, которая находится в корневой папке диска
/Users/Arkkeeper — это папка текущего пользователя, которая находится в папке пользователей.
Как перейти в другую папку? Очень просто. Запомните вторую самую главную команду:
cd
cd означает Сhange Directory — сменить папку. Для этой команды недостаточно ввести её имя — так вы просто скажете, что хотите поменять папку, но не скажете, куда хотите перейти. Поэтому после cd нужен пробел и путь к каталогу, в который вы хотите переместиться.
Например, введите
cd /
Это перенесёт вас в корень диска (не забудьте нажать Enter — как всегда).
Заметьте, что содержимое приглашения поменялось. Тильда (~) сменилась на /.
Ваша домашняя папка не зря обозначается тильдой. Чтобы вам не пришлось каждый раз вбивать в Терминале /Users/ваше имя/, придумано это полезное сокращение.
Вбейте в командную строку
cd ~
И вы снова окажетесь в свой домашней папке.
Команда cd имеет несколько особенностей, связанных с путями к папкам. Пути бывают двух видов:
- абсолютные — от корня диска. Они всегда начинаются со слэша (/).
- относительные — от текущей папки.
Например, если вы находитесь в домашней папке и хотите попасть в папку с музыкой, которая находится внутри неё, то вам не нужно вводить
cd /Users/ваше имя/Music
или
cd ~/Music
Всё проще. Поскольку вы уже в папке пользователя (~), то можно ввести только название папки, в которую хотите попасть:
cd Music
Обратите внимание — слэш не нужен! Если вы введёте
cd /Music
то Терминал будет искать папку Music в корне диска. Естественно, он её не найдёт и напишет:
Запомните ещё одно полезное сокращение — две точки (..). Это переход на уровень выше — в материнскую папку. Например, если вы находитесь в папке /Users/ваше имя/Music, и введёте в Терминал:
cd ..
то окажетесь в папке /Users/ваше имя. Если снова введёте cd .., то попадёте в /Users. Если ещё раз — то в корне диска.
cd -
— переход к предыдущему местоположению в файловой системе. Важно понимать отличие между верхним в иерархии и предыдущим, а им может быть совершенно иное место, например, если Вы переместились с /Users
в ~/Documents
, то предыдущим будет именно /Users
, а не ~
. Однако после того, как мы спускались от папки к папке, пробираясь сквозь недры вложений, то абсолютно нет никакой разницы между верхним каталогом и предыдущим, а значит смело можно писать любую команду. Кстати, подобное поведение можно наблюдать и в графических менеджерах файлов, отличных от Finder. В них тоже отличается переход «назад» и переход «вверх». После вызова такой команды будет сразу же вызвана уже рассмотренная команда pwd
, которая и оповестит нас о том, куда же мы перешли.
Для навигации по истории команд можно использовать команду history
. Она выведет 500 последних команд. Для выполнения последней достаточно ввести !!
. А для вызова команды из того длинного списка — !*и тут номер в списке*
. Обращаем ваше внимание на тот факт, что после выполнения команды, она в списке сдвинется, у нас не получится войти в одну воду дважды, то есть по одному номеру вызвать одну и ту же команду.
И последняя хитрость Терминала на сегодня: если вам нужно ввести несколько похожих команд, не нужно вводить каждую по отдельности. Стрелка вверх и стрелка вниз позволяют вам пролистывать все введенные ранее команды.
В следующей статье мы поговорим о том, как увидеть содержимое папок в командной строке.