Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #97, ЯНВАРЬ 2007 г.

Tips'n'tricks юниксоида

Евгений «j1m» Зобнин

Хакер, номер #097, стр. 127

(j1m@list.ru)

Это очередной выпуск «Tips'n'Triks» и очередная подборка полезных советов по использованию UNIX. Не отклоняясь от курса, мы продолжаем двигаться по направлению к эффективному использованию командной строки и доводить внешний облик X Window до совершенства. Кроме того, этот выпуск охватывает множество интересных особенностей редактора Vim. Особо хочу обратить внимание владельцев материнок на чипсете nForce2, столкнувшихся с проблемой зависания FreeBSD. В разделе «Misc» они найдут рецепт лечения этой болезни.

X Window

Сменить тему GTK-приложений:

$ echo "include "/путь/до/каталога/с/темой/gtkrc"" >> .gtkrc

Сменить тему QT-приложений:

$ qtconfig

Включить сглаживание шрифтов в java-приложениях:

$ java -Dswing.aatext=true -jar program.jar

Снять скриншот, не используя сторонних программ:

$ xwd -root -out screenshot.xwd

Shell

Работа с историей (bash и zsh):

!! - выполнить последнюю команду;

!N - выполнить команду номер N в истории;

!-N - выполнить команду номер N в истории с конца;

!строка - выполнить команду, начинающуюся со строки.

Отменить последнее действие:

Ctrl+-

Перейти к концу слова:

Ctrl+f

Перейти к началу слова:

Ctrl+b

Уничтожить текст до конца строки:

Ctrl+k

Уничтожить текст до конца слова:

Esc+d

Уничтожить текст до начала слова:

Ctrl+w

Восстановить уничтоженный текст:

Ctrl+y

Прочитать файл инициализации:

Ctrl+x Ctrl+r

Выполнить команду только в том случае, если она присутствует в системе:

$ test -x /usr/bin/mutt && mutt

Midnight Commander

Добавить каталог в hotlist:

Ctrl+x h

Диалог перехода в другой каталог:

Esc+c

Скопировать имя выделенного файла в командную строку:

Esc+Enter

Скопировать имена выделенных файлов в командную строку:

Ctrl+x t

Скопировать имя текущего каталога в командную строку:

Ctrl+x p

Автодополнение в командной строке:

Esc+Tab

Показать информацию о файле во второй панели:

Ctrl+x i

Показать содержимое файла во второй панели:

Ctrl+x q

Vim

Метки:

mX - установить метку X;

'X - вернуться к метке X;

'. - вернуться к последней измененной строке.

Макросы:

qX - запись макроса X;

@X - воспроизведение макроса X;

@@ - повтор макроса;

число@@ - повтор макроса несколько раз;

Полезные мелочи:

K - показать man-страницу для слова под курсором;

/K - показать man-страницу в отдельном окне vim;

guu - перевести строку в нижний регистр;

gUU - перевести строку в верхний регистр;

*/# - найти слово под курсором (вперед/назад);

>>/<< - сдвинуть табулятор (вперед/назад);

O/o - открыть новую строку (выше/ниже текущей).

Увеличить/уменьшить число под курсором:

Ctrl+a/Ctrl+x

Выполнение внешней команды:

:!date

Выполнение внешней команды с записью результата в редактируемый файл:

:r !date

Конвертирование переводов строк из стиля DOS (/r/n) в стиль UNIX (/n):

:set fileformat=unix

:w

Обратная процедура:

:set fileformat=dos

:w

Показать ascii- и hex-коды символа:

:ga

Net

Скачать все файлы, перечисленные в списке (записи должны быть такими: http://www.host.org/doc.pdf):

$ wget -i file.txt

Продолжить закачку файла с прерванного места:

$ wget -c www.host.org/doc.pdf

Создать локальное зеркало сайта:

$ wget -r -l inf -k -p www.host.org

Misc

Выяснить, какими системными вызовами пользуется программа:

Linux:

$ strace program

FreeBSD:

$ truss program

Борьба с зависаниями FreeBSD 6 на чипсетах nForce2 (в 6.2 проблема устранена):

$ echo "hint.apic.0.disabled=1" >> /boot/loader.conf

Сборка программы в 2 потока (для многоядерных процессоров):

$ make -j2

Привязка команд к определенным типам файлов (добавить строки в ~/.mailcap):

text/html; opera %s >/dev/null 2>&1

application/pdf; xpdf %s > /dev/null 2>&1

application/msword; ooffice %s > /dev/null 2>&1

image/*; qiv %s >/dev/null 2>&1

Содержание
ttfb: 3.4849643707275 ms