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

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

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

Хакер, номер #095, стр. 095-123-1

(j1m@list.ru)

Сегодняшняя подборка советов как всегда пестрит разнообразием. Множество советов разбито по разделам и уже готово к употреблению. Из этого выпуска ты узнаешь, как сделать работу с ssh более эффективной, как обработать большое количество файлов и преобразовать их в другой формат, а также как научиться правильной работе с шеллом. Кроме того, тебя ждет традиционный раздел, посвященный работе с мультимедиа. Постигай мощь UNIX, и пусть машина работает за тебя.

X-Window

Отключение полосы прокрутки, создание зазора между текстом и краями окна xterm (добавить в ~/.Xdefaults):

XTerm*scrollBar: false

XTerm*internalBorder: 10

Net

Перенаправление вывода команды с удаленной машины:

$ ssh host command > file

Перенаправление вывода команды на удаленную машину:

$ command | ssh host cat > file

Перенос каталога на удаленную машину со сжатием и сохранением прав доступа:

$ tar -czf - directory | ssh host tar -xzf -

Компрессия данных, передаваемых по ssh-каналу:

$ ssh -C host

Синхронизация времени с NTP-сервером:

# ntpdate 194.186.254.22

Отправка письма из командной строки:

$ cat message.txt | mail name@host.org

Files

Установка битов исполнения только на каталоги и файлы, которые уже могут исполняться каким-либо пользователем:

$ chmod a+X directory

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

$ for f in *; do mv "$f" "`echo $f | tr '[:upper:]' '[:lower:]'`"; done

Создание вложенных каталогов:

$ mkdir -p dir1/dir2/dir3

Конвертирование man-страницы в текстовый файл:

$ man ls | col -bx > ls_man.txt

Два варианта конвертирования файла MS DOC в текст:

$ catdoc file.doc > file.txt

$ antiword file.doc > file.txt

Удаление лишних символов (^M) из текстовых DOS-файлов:

$ col -bx < file_dos.txt > file_unix.txt

Одновременное копирование вывода команды в файл и на экран:

$ command | tee file

Shell

Поиск в истории:

Ctrl+R

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

Ctrl+A

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

Ctrl+E

Удалить все символы от курсора до конца строки:

Ctrl+K

Запуск команды из истории по маске:

$ !маска

Записать вывод команды в переменную:

$ VAR=`ldd /bin/ls`

Арифметические операции прямо из шелла:

$ echo $((1024*640))

Копирование файлов со сходными именами:

$ cp image{1..100} directory

Правый промпт для zsh (показывает время и номер консоли):

$ export RPROMPT=' %T %y%b'

Раскраска имен файлов при автодополнении (только для zsh и Linux):

$ eval `dircolors`

$ zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}

Vim

Включение/выключение нумерации строк:

:set number

:set nonumber

Информативная статусная строка:

:set laststatus=2

:set statusline=%<%F%m%r%h%w %y %=%b 0x%B [%l,%v][%p%%]

Меню, вызываемое при автодополнении:

:set wildmenu

Учим клавишу Backspace удалять все, включая переводы строк:

:set bs=2

Смена кодировки файла:

:e ++enc=CP1251

Установка шрифта для gvim:

:set guifont=Lucida Console 12

System

Изменение частоты опроса мыши в Linux (для геймеров):

узнаем текущее значение:

# cat /sys/bus/serio/devices/serio0/rate

изменяем:

# echo -ne 200 > /sys/bus/serio/devices/serio0/rate

Отключение «распальцовки» в FreeBSD:

Содержание  Вперед на стр. 095-123-2
ttfb: 3.1511783599854 ms