Работа с файловой системой

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


Использование возможностей 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 будет отображена достаточно объемная статья, со­держащая исчерпывающую информацию по использованию команды.



>