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: |