Вопрос о необходимости использования антивирусов при работе под Mac OS X остается открытым. Тем не менее, для собственного спокойствия и чистки флешек от win-вирусов такие программы могут быть несомненно полезными.
На мой взгляд, здесь вполне достаточно одного из бесплатных решений. Я, к примеру, установил себе Sophos Anti-Virus for Mac Home Edition. Основной его режим работы — сканирование «по доступу». То есть файл проверяется в тот момент, когда он открывается, копируется или перемещается. И вот тут-то оказывается, что от настроек антивируса очень сильно зависит, насколько будут замедляться нормальные действия с компьютером. Для некоторых программ (например, OpenOffice) вообще может создаваться впечатление, что во время запуска они зависают.
Ключевой момент: в настройках On-access Scanning ни в коем случае не ставьте флажок «Scan inside archives and compressed files».
Если вдруг какой-нибудь архив вызывает сомнение, его всегда можно проверить «через правый клик» — щелкнуть правой кнопкой и выбрать в контекстном меню Службы > Scan with Sophos Anti-Virus.
Сканирование файлов на сетевых дисках (Files on network volumes), по-моему, тоже включать ни к чему (но это уже дело вкуса).
Еще сократить затраты времени на избыточные проверки можно в этой же вкладке, переключившись на «Excluded Items» и указав, файлы в каких местах вообще сканировать незачем. Например, если вы пользуетесь «Машиной времени» (Time Machine) или какой-либо иной программой резервного копирования, вряд ли имеет смысл сканировать бекап:
PS. Заметьте, в Sophos Anti-Virus нет привычной по windows-антивирусам функции сканирования по расписанию. Так что, если хотите периодически сканировать весь диск, эту задачу нужно будет запускать вручную.
The Unarchiver — одна из тех программ, которые должны быть установлены на каждом компьютере с Mac OS X. Она позволит практчески полностью забыть о любых проблемах с полученными из различных источников архивов. По числу поддерживаемых форматов The Unarchiver значительно превосходит BOMArchiveHelper — встроенное средство Mac OS X.
Кроме того — и это нам тоже очень важно — The Unarchiver умеет правильно работать с архивами, в которых имена файлов хранятся в национальных кодировках. То есть, получив от коллеги, пользующегося Windows, архив в формате RAR (почему-то он невероятно популярен на этой платформе), вы не получите после его распаковки кучу файлов с «кракозябрами» вместо имен. Если повезет, The Unarchiver сам угадает правильную кодировку. Если нет (по правде сказать, чаще бывает именно так), вам придется вручную выбрать из предложенного списка «DOS – русская».
На данный момент полностью поддерживаются следующие форматы:
ZIP (включая шифрованные архивы, самораспаковывающиеся (*.exe) архивы для Windows, а также ряд расширений формата);
RAR (включая шифрованные и многотомные архивы, а также самораспаковывающиеся (*.exe) архивы для Windows);
LZH;
Tar;
Gzip;
Bzip2;
ZOO;
PackIt;
Cpio;
XAR;
RPM;
LZMA, XZ;
Compress (.Z);
CAB;
MSI;
LZX;
PowerPacker.
Архивы 7z и StuffIt (*.sit) также могут быть распакованы, но только если в них не использовано шифрование. В той или иной степени поддерживается и еще несколько форматов. В некоторых случаях удается извлечь (естественно, частично) информацию из поврежденных архивов.
Программа распространяется с исходными кодами. Загрузить ее (и исходники) можно на сайте автора — https://theunarchiver.com.
VI работает в командном режиме и режиме ввода. Сразу после запуска редактор находится в командном режиме, в котором можно перемещаться по тексту, выполнять копирование и вставку текста из буфера. Режим ввода включается по командам вставки, дополнения, замены. Нажатие [ESC] возвращает редактор в командный режим. Большинство команд выполняется сразу после нажатия клавиши. Исключение — команды строчного редактора ex, начинающиеся с двоеточия, которые выполняются после нажатия [Return].
Подобно командам удаления, большинство команд копирования в буфер состоят из символа y и команды перемещения. Например, y$ помещает в буфер конец строки.
yy или :y
Копировать текущую строку
«(a-z)yy
Копировать текущую строку в именованный буфер (от a до z)
Команды изменения действуют как команды удаления с последующим переводом в режим ввода. Большинство из них состоит из символа c и команды перемещения. Например cw заменяет слово.
Вставка из буфера
p
Поместить текст из буфера после курсора
P
Поместить текст из буфера перед курсором
«(a-z)p или «(a-z)P
Поместить текст из буфера (от a до z) после/перед текущей строкой
Буферы
Имя буфера может быть указано перед любой командой удаления, изменения, копирования или вставки. Префикс имеет вид «c, где c — любой символ нижнего регистра. Например, «adw удаляет слово и помещает его в буфер a. Затем его можно будет поместить в текст по команде «ap.
Искать строку str1 со строки n до m (n и m могут быть опущены); заменить str1 на str2; с опциями opt. Возможные опции: g — глобальный, c — подтверждать замены (y — заменить, <cr> — не заменять), p — печатать измененные строки
&
Повторить последнюю команду :s
:g/str1/s/str2/str3/
Найти строку, содержащую str1, заменить str2 на str3
Отмена значения спецсимвола (например, \$ позволяет искать символ $)
\\
Отмена особого действия символа \
Счетчики
Практически перед любой командой можно указать количество ее повторений. Например, 5dw приведет к удалению 5 слов, а 3fe — к перемещению курсора вперед на 3-е вхождение символа «e». Подобным образом можно действовать и с командами вставки, например, вставить 100 одинаковых строк.
Заметьте: вводится :set option для включения режима и :set nooption для выключения. Чтобы установить настройки для каждого запуска VI, в домашнем каталоге создается файл .exrc, содержащий данные команды без двоеточия перед ними.
:set ai
Автоматический отступ (по предыдущей строке)
:set all
Вывести на экран все режимы
:set eb
Звуковой сигнал при ошибках
:set ic
Игнорировать регистр при поиске
:set list
Показывать символы табуляции (^l) и конца строки ($)
:set nu :set number
Показывать номера строк
:set showmode
Показывать текущий режим в нижней части экрана
:set showmatch
Подсвечивать парную открывающую скобку при вводе закрывающей
:set wa
Исключить нормальную проверку перед записью
:set wm=n
Установить размер правого поля для автопереноса. Для отключения автопереноса n=0
Файл «.exrc» в домашнем каталоге может содержать набор макросов, используемый при каждом запуске VI (записываются аналогично командам определения макросов, но без двоеточия).
Чтобы включить в макрос управляющий символ, например, ESC, следует предварительно нажать CTRL-v.
Чтобы включить в макрос кавычки («), перед ними набирается \ (backslash).
Неиспользуемые в vi клавиши: K V Z g q v * = [ ] @ # и функциональные.
Пример (выделены команды VI, которые будут включены в макрос):
:map v /I CTRL-v ESC dwiYou CTRL-v ESC ESC
Действие макроса: При нажатии v найти «I» (/I ESC), удалить слово (dw) и вставить «You» (iYou ESC). CTRL-v нужно для вставки кода ESC
vi — это консольный текстовый редактор. Фактически стандартный для всевозможных вариантов Linux и Unix. Так что тому, кто собирается серьезно заниматься администрированием таких ОС, уметь обращаться с этой программой крайне желательно. Проблема в том, что работа с vi совершенно непохожа на то, как мы действуем в редакторах с графическим интерфейсом. И, кроме того, тут нет никаких меню, панелей кнопок и даже подсказок. Команды нужно (О, ужас!) помнить.
Предлагаю два варианта справочных таблиц: «большой» (в который я постарался включить максимум информации) и «краткий» (с наиболее полезными, на мой взгляд, командами).
VI работает в командном режиме и режиме ввода. Сразу после запуска редактор находится в командном режиме, в котором можно перемещаться по тексту, выполнять копирование и вставку текста из буфера. Режим ввода включается по командам вставки, дополнения, замены. Нажатие [ESC] возвращает редактор в командный режим. Большинство команд выполняется сразу после нажатия клавиши. Исключение — команды, начинающиеся с двоеточия, которые выполняются после нажатия [Return].
Подобно командам удаления, большинство команд копирования в буфер состоят из символа y и команды перемещения. Например, y$ помещает в буфер конец строки.
yy или :y
Копировать текущую строку
nyy или nY
Копировать n строк
yMotion_cmd
Копировать текст, захватываемый командой перемещения (например, yG копирует все от текущей позиции курсора до конца файла, а y4 — до конца текущего предложения)
«(a-z)nyy
Копировать n строк в именованный буфер (от a до z)
«(a-z)yy
Копировать текущую строку в именованный буфер (от a до z)
Команды изменения действуют как команды удаления с последующим переводом в режим ввода. Большинство из них состоит из символа c и команды перемещения. Например cw заменяет слово.
C
Заменить от курсора до конца строки
cc или S
Заменить всю текущую строку
xp
Обменять символ над курсором и следующий
s
Заменить текущий символ
cw
заменить текущее слово
cMotion_cmd
Заменить текст, захватываемый командой перемещения
<< или >>
Сдвинуть строку влево/вправо на shift width (по умолчанию — 8 позиций)
n<< или n>>
Сдвинуть n строк влево/вправо на shift width (по умолчанию — 8 позиций)
<Motion_cmd или >Motion_cmd
Сдвинуть строки, захватываемые командой перемещения, влево/вправо
Имя буфера может быть указано перед любой командой удаления, изменения, копирования или вставки. Префикс имеет вид «c, где c — любой символ нижнего регистра. Например, «adw удаляет слово и помещает его в буфер a. Затем его можно будет поместить в текст по команде «ap.
Именованный маркер можно установить на любой строке текста. Именем маркера может быть любой символ нижнего регистра. Маркеры могут использоваться как границы диапазонов.
mc
Установить на строку маркер c
`c
К началу строки с маркером c
‘c
К первому непробельному символу строки с маркером c
Поиск символа c по строке вперед, курсор устанавливается на предыдущий символ
Tc
Поиск символа c по строке назад, курсор устанавливается на предыдущий символ
:set ic
Игнорировать регистр при поиске
:set noic
Учиитывать регистр при поиске
:n,ms/str1/str2/opt
Искать строку str1 со строки n до m (n и m могут быть опущены); заменить str1 на str2; с опциями opt. Возможные опции: g — глобальный, c — подтверждать замены (y — заменить, <cr> — не заменять), p — печатать измененные строки
&
Повторить последнюю команду :s
:g/str/cmd
Выполнить команду cmd для каждой строки, содержащей str
:g/str1/s/str2/str3/
Найти строку, содержащую str1, заменить str2 на str3
:v/str/cmd
Выполнить команду cmd для каждой строки, не содержащей str
Отмена значения спецсимвола (например, \$ позволяет искать символ $)
\\
Отмена особого действия символа \
[…] — Примеры
[A-Z]
Заглавные буквы от A до Z
[a-z]
Строчные буквы от a до z
[0-9]
Все цифры от 0 до 9
[./=+]
Множество, состоящее из . (точки), / (наклонной черты), = и +
[-A-F]
Буквы от A до F и минус (минус должен быть указан первым)
[0-9 A-Z]
Цифры, пробел и заглавные буквы
[A-Z][a-zA-Z]
В первой позиции любая заглавная буква. Во второй позиции любая буква (заглавная или строчная)
[a-z]{m}
Поиск m вхождений строчных букв
[a-z]{m,n}
Поиск от m до n вхождений строчных букв
Примеры регулярных выражений
/Hello/
Строка, содержащая «Hello»
/^TEST$/
Строка, точно совпадающая с «TEST»
/^[a-zA-Z]/
Строка, начинающаяся с любой буквы
/^[a-z].*/
Первый символ строки — cтрочная буква a-z, за которой следует не менее одного символа
/2134$/
Строка, заканчивающаяся на «2134»
/\(21|35\)/
Строка, содержащая 21 или 35. Обратите внимание на ( ) и символ вертикальной линии для обозначения операции ИЛИ
/[0-9][0-9]*/
Строка, содержащая 1 или более цифр
/^[^#]/
Строка, начинающаяся не с «#»
Заметьте: регулярные выражения чувствительны к регистру символов
Счетчики
Практически перед любой командой можно указать количество ее повторений. Например, 5dw приведет к удалению 5 слов, а 3fe — к перемещению курсора вперед на 3-е вхождение символа «e». Подобным образом можно действовать и с командами вставки, например, вставить 100 одинаковых строк.
Перед большинством команд, начинающихся с двоеточия, может быть указан диапазон строк, на которые эта команда будет действовать. Например, :3,7d служит для удаления строк 3-7. Диапазоны обычно используются с командой :s для замены в нескольких строках, например, :.,$s/pattern/string/g выполнит замены с текущей строки до конца файла.
Заметьте: вводится :set option для включения режима и :set nooption для выключения. Чтобы установить настройки для каждого запуска VI, в домашнем каталоге создается файл .exrc, содержащий данные команды без двоеточия перед ними.
:set ai
Автоматический отступ (по предыдущей строке)
:set all
Вывести на экран все режимы
:set ap
Выводить текущую строку после команд d c J m :s t u
:set bf
Убирать из входных данных управляющие символы (кроме tab)
:set dir=/tmp
Назначить /tmp каталогом временных файлов
:set eb
Звуковой сигнал при ошибках
:set ic
Игнорировать регистр при поиске
:set lisp
Устанавливать отступы, как принято в Lisp
:set list
Показывать символы табуляции (^l) и конца строки ($)
:set magic
Позволить поиск спецсимволов (в регулярных выражениях спецсимволами будут считаться только ^ \ $
:set mesg
Разрешить вывод сообщений электронной почты
:set nu :set number
Показывать номера строк
:set report=n
Выводить сообщение, если команда изменяет более n строк (по умолчанию — 5)
:set ro
Считать файлы «read only»
:set scroll=n
Установить n строк для CTRL-d и z
:set sh=shell_path
Установить shell (по умолчанию: /bin/sh) в shell_path
:set showmode
Показывать текущий режим в нижней части экрана
:set showmatch
Подсвечивать парную открывающую скобку при вводе закрывающей
:set sw=n
Установить shift width в n знакомест
:set term
Показать/установить тип терминала
:set terse
Сокращать сообщения об ошибках
:set timeout
Убрать односекундное ограничение для макросов
:set tl=n
Sets significance of tags beyond n characters (0 means all)
:set ts=n
Установить для текстового ввода размер табуляции в n
:set wa
Исключить нормальную проверку перед записью
:set warn
Предупреждать: «no write since last change» (последние изменения не сохранены)
:set window=n
Установить число строк в текстовом окне в n
:set ws
При поиске по окончании файла начинать сначала
:set wm=n
Установить размер правого поля для автопереноса. Для отключения автопереноса n=0
Файл «.exrc» в домашнем каталоге может содержать набор макросов, используемый при каждом запуске VI (записываются аналогично командам определения макросов, но без двоеточия).
Чтобы включить в макрос управляющий символ, например, ESC, следует предварительно нажать CTRL-v.
Чтобы включить в макрос кавычки («), перед ними набирается \ (backslash).
Неиспользуемые в vi клавиши: K V Z g q v * = [ ] @ # и функциональные.
Пример (выделены команды VI, которые будут включены в макрос):
:map v /I CTRL-v ESC dwiYou CTRL-v ESC ESC
Действие макроса: При нажатии v найти «I» (/I ESC), удалить слово (dw) и вставить «You» (iYou ESC). CTRL-v нужно для вставки кода ESC
Основой данного материала явилась Advanced Vi Cheat Sheet, взятая с сайта http://www.lagmonster.org/. Информация дополнена и скорректирована с использованием книги: Стен Келли-Бутл. Введение в Unix (пер. с англ.).— М.: «ЛОРИ», 1995, а также Vi Russian FAQ.
Сегодня наконец появилось долгожданное обновление AppleJack. Теперь эта утилита совместима и с Mac OS X 10.6 Snow Leopard!
Коротко напомню (а для тех, кто еще не знает, расскажу), что это за зверь.
AppleJack — это консольная (т.е. запускающаяся из командной строки) утилита, предназначенная для обслуживания операционной системы Mac OS X. После ее установки даже самый обычный пользователь, не имеющий глубоких знаний командной строки, сможет выполнить «профилактику», а при необходимости, и «реанимацию» ОС. Причем даже тогда, когда по той или иной причине вообще не запускается графическая оболочка.
Итак, после установки AppleJack для обслуживания системы необходимо перезагрузиться в однопользовательском режиме (Single User mode). Для этого при запуске компьютера нужно удерживать клавиши Command-S. При этом будет загружен только самый минимум компонентов операционной системы (а у вас — привилегии суперпользователя; так что будьте аккуратны). Вместо графического рабочего стола перед вами будет черный экран с множеством надписей, описывающих ход загрузки ОС. В нижней части будет приглашение командной строки. Вам потребуется набрать единственное слово:
applejack
и нажать Enter.
Снимок экрана AppleJack
Вы окажетесь в диалоговом режиме программы. Чтобы выполнить ту или иную задачу, нужно ввести ту или иную цифру (или букву), руководствуясь подсказками на экране, а затем, опять-таки, нажать Enter. Для тех, кто не вполне владеет великим и могучим английским языком, переведу:
1 — исправить файловую систему на дисках;
2 — скорректировать права доступа к файлам;
3 — удалить кэш-файлы;
4 — проверить файлы настроек ОС и прикладных программ;
5 — удалить файлы подкачки;
q — завершить работу с программой (т.е. Quit).
Поскольку в большинстве случаев полезно выполнять эти действия поочередно, самым логичным будет выбрать вариант «a» (All) — автопилот, автоматическое выполнение всех задач. Вообще-то, утилиту можно сразу запустить в режим автопилота. Для этого нужно воспользоваться ключом «auto»:
applejack auto
По окончании обслуживания вам будут предложены варианты дальнейших действий: перезагрузить компьютер (restart) или выключить его (shutdown), выбор вы должны будете сделать, нажав первую букву соответствующего слова. Хотя, при желании, можно и это указать при запуске программы:
applejack auto restart
или
applejack auto shutdown
Загрузить AppleJack можно на странице проекта на SourceForge. Текущая версия (1.6) годится для Mac OS X 10.4, 10.5 и 10.6. Если у вас сохранились Маки с более старыми версиями ОС, загружайте AppleJack 1.4.3.
И не забудьте: чтобы воспользоваться этой программой, ее нужно установить до того, как с вашей ОС случилась неприятность! То есть качаем, устанавливаем — и забываем о её существовании до «аварийной ситуации».
PS
Я всё же предпочитаю обслуживать систему периодически — не дожидаясь явных проявлений «болезни». (На школьных компьютерах, которые и выключают зачастую неправильно, и вообще… чего только с ними не делают, запускаю AppleJack на автопилоте в каникулы. На домашнем — раз в полгода, а то и реже.)