Навигация по файловой системе вашего компьютера без использования графического интерфейса первое время является не такой уж простой задачей — это как минимум непривычно.
Использование возможностей UNIX 369
Стоит сразу сделать замечание, что при работе с командной строкой многие термины, которые были привычны для обозначения некоторых объектов в графической оболочке, отличаются от терминов, которые принято использовать в отношении этих же объектов в командной строке. Например, при работе с командной строкой папки принято называть директориями.
Узнать, в какой директории вы находитесь в данный момент, можно при помощи команды pwd. В ответ программа Terminal выдаст вам полный путь до нужной директории — путь рабочего каталога. Например, это может быть выражение вроде /Users/Administrator.
Чтобы просмотреть содержимое директории, в которой вы сейчас находитесь, используйте команду ls. Программа Terminal выведет на экран имена всех вложенных директорий и файлов. Отличить файлы от директорий вы сможете по наличию расширения — оно указывается в обязательном порядке.
Если вам требуется отобразить содержимое директории, отличной от той, в которой вы сейчас находитесь, нужно использовать ту же команду ls, но добавить к ней путь к папке в качестве аргумента. Чтобы просмотреть содержимое директории, вложенной в текущую, просто наберите ее имя.
Для указания пути ко вложенным директориям потребуется указать путь вместе со всеми старшими директориями. При этом директории разделяются знаком наклонной черты /. Если вы хотите указать путь к директории, которая не вложена в текущий рабочий каталог, потребуется набрать абсолютный путь директории — то есть такой путь, в котором указываются все вложенные директории, начиная от пользовательской папки или корневого каталога диска.
Вот несколько примеров:
• если вы находитесь в своей домашней директории, просмотреть
содержимое вложенной директории Downloads можно при помо
щи команды ls downloads;
• если вы находитесь в директории /downloads и вам требуется
узнать содержимое директории /Music, просто набрав команду
ls music, вы прикажете операционной системе показать содер
жимое директории /Downloads/Music, что не входит в ваши
Глава 10
планы. В этом случае можно использовать абсолютный путь директории: ls.. /music.
Последовательность символов.. / указывает на домашнюю директорию.
В примере с календарем уже был рассмотрен случай употребления дополнительных параметров команды, который позволил изменить ее поведение. Такие параметры называются ключами, а иногда флагами.
Конечно, набирать длинные пути не совсем удобно: это долго и вам постоянно приходится проверять набранные команды на наличие ошибок. Но в случае командной строки операционной системы Mac OS X Lion вы можете использовать возможности графического интерфейса системы. Для этого откройте нужную папку в программе Finder и перетащите при помощи мыши значок папки в окно программы Terminal. Путь к папке будет автоматически вставлен в командную строку.
В большинстве случаев перед ключом ставится символ дефиса, и можно объединять несколько ключей одним символом дефиса. Например, вместо команды ls —a —g можно использовать более короткую форму ls -ag.
О том, какие ключи имеет та или иная команда и нужно ли использовать символ дефиса перед их употреблением, вы можете узнать в справке программы Terminal.
Команда ls может использоваться с большим количеством различных ключей, которые позволяют достичь очень интересных результатов. Например, использование команды l s с ключом —a позволяет отобразить все содержимое текущей директории: отображаются и скрытые файлы, и скрытые вложенные директории. Попробуйте использовать данную команду в вашей домашней директории — вы заметите, что там спрятано несколько скрытых файлов, которые вы не смогли бы увидеть при обычном просмотре этой папки в программе Finder. Скрытые файлы и папки имеют перед своими именами символ точки.
Теперь, когда вы научились просматривать содержимое текущего каталога, нужно научиться передвигаться между различными каталогами вашего компьютера. Для этой задачи служит команда cd. Будучи введенной без параметров, она переместит вас в вашу домашнюю папку.
Использование возможностей UNIX
Чтобы переместиться во вложенную директорию, просто укажите ее имя сразу после команды cd. Для перемещения в произвольную директорию вашего компьютера используйте относительные пути.
Вот несколько примеров:
• если вы находитесь в вашей личной директории Public, то чтобы во
йти во вложенную директорию DropBox, используйте следующую
команду cd dropbox. Если в директории DropBox есть вложенная
директория Docs, то попасть сразу в нее из директории Public мож
но, используя команду cd dropbox/docs;
• чтобы попасть из директории Public в директорию Downloads, ис
пользуйте команду cd../downloads.
Очень интересно при помощи командной строки реализуется механизм копирования файлов. Для этого используется команда cp. Чтобы скопировать файл из одного каталога в другой, вы даже не должны в них заходить. Например, вам требуется скопировать файл song_123. трЗ из папки Downloads в папку Music. Для этого достаточно ввести в командной строке cp downloads/song_123.mp3 music/ song_123.mp3.
Вам не случайно пришлось каждый раз указать не только путь к файлам, но и их имена — вы можете сделать копию файла под любым именем. Например, вы загрузили из Интернета композицию, которую автор сайта сохранил под некрасивым именем song_123.mp3. Вы можете при помощи всего одной команды не только скопировать песню из папки загрузок в вашу папку для музыки, но и сразу правильно ее назвать: cp downloads/song 123.mp3 music/FHaendel Ouverture.mp3.
Однако на самом деле указывать имя, под которым будет сохранена копия файла, совершенно не обязательно — вы можете указать лишь директорию. Команда получается несколько короче: cp downloads/ song_123.mp3 music. В таком случае будет использовано исходное имя файла.
Удалить файл или папку можно при помощи команды rm. При этом сразу происходит полное удаление объекта — он не будет помещен в Корзину (Trash). Отменить такое действие невозможно — разве что вы используете специальные программы для восстановления удаленных данных с жесткого диска. В качестве параметра команды rm указывается имя файла или директории и, при необходимости, путь к этому
Глава 10
объекту. В случае с директорией также требуется указать дополнительный флаг —r. Будьте особенно бдительны при удалении директорий — все их содержимое также будет безвозвратно удалено, а операционная система при этом не будет предупреждать вас об этом.
Вот вы и познакомились с несколькими основными командами программы Terminal. Об использовании и сферах применения остальных читайте в справке программы. В состав операционной системы Mac OS X Lion входит более тысячи программ и команд UNIX, их описание на страницах данной книги просто невозможно.
Для получения справочной информации служит команда man. В ней представлено более девяти тысяч статей на самые различные темы, касающиеся работы с операционной системой UNIX. Пользоваться справкой очень просто: нужно лишь указать команду man, а в качестве параметра указать имя интересующей статьи. Например, чтобы получить справку по работе с командой ls, введите man ls. Непосредственно в окне программы Terminal будет отображена достаточно объемная статья, содержащая исчерпывающую информацию по использованию команды.