Tips'n'tricks Евгений "j1m" Зобнин Хакер, номер #096, стр. 096-125-1 (j1m@list.ru) Привет всем любителям быстрых и эффективных решений. Сегодня в нашей скромной, но полезной рубрике вновь много самых разных советов. Как и всегда, особое удовольствие от чтения получат поклонники командной строки. Для них приготовлено множество типсов по работе с файлами, созданию архивов и настройке шелла. Те, кто равнодушен к мигающему курсору и не любит стучать по клавиатуре, могут обратить внимание на разделы, посвященные бессмертным X Window и mc. X Window Установить сглаженные TTF-шрифты для эмулятора терминала (добавить строки в ~/.Xdefaults): для xterm: XTerm*locale: true XTerm*faceName: Lucida Console:pixelsize=14 для rxvt: Rxvt*font: xft:Lucida Console:pixelsize=14 Показать все символы заданного шрифта: Bitmap-шрифты: $ xfd -fn 8x16 TTF-шрифты: $ xfd -fa Arial Показать список доступных шрифтов: $ xlsfonts Показать список доступных TTF- и Type1-шрифтов: $ fc-list Показать подробности какого-либо действия, производимого с окном: $ xev Показать информацию об окне: $ xprop Обновить экран: $ xrefresh Shell Установить комбинации клавиш в стиле vi для bash: $ set -o vi $ export EDITOR=vi Специальные символы переменной PS1 (в скобках для zsh): \d (%D) - текущая дата; \t (%T) - текущее время; \H (%M) - сетевое имя машины; \u (%n) - имя пользователя; \w (%/) - текущий каталог. Очистить окно терминала при логине и выходе из шелла: bash: echo clear > ~/.bash_login echo clear > ~/.bash_logout zsh: echo clear > ~/.zlogin echo clear > ~/.zlogout Midnight Commander (mc) Отключить использование графических символов для рисования линий (это здорово скрашивает внешний вид mc, если в текущем шрифте нет графических символов): $ mc -a Найти файл в текущей панели: Ctrl+s Выделить файлы по маске: Ctrl+"+" Снять выделение: Ctrl+"-" Открыть окно справочника каталогов: Ctrl+/ Открыть окно поиска: Esc, ? Синхронизировать панели: Esc, o Поменять панели местами: Ctrl+u Files Конвертировать табуляторы в пробелы: $ expand file.txt Показать последние 10 команд: $ fc -l -10 Показать файлы, отсортировав список по дате модификации: $ ls -Fltr Показать каталоги и отсортировать список по размеру: $ du -s | sort -n Найти файл, содержащий строку: $ find . -type f -exec grep -H строка \{\} \; Показать файлы, названия которых содержат непечатаемые символы: $ ls -b Показать непечатаемые символы в текстовом файле: $ cat -v file Найти файлы, с даты модификации которых прошло более 7 дней: $ find . -mtime +7 Найти файлы с SUID-битом: $ find . /bin -type f -perm -u=s Копировать каталоги, используя tar (с сохранением прав, ссылок и т.д.): $ tar -cf - . | (cd /tmp; tar -xf -) Удалить все файлы, кроме одного: $ rm -i `ls -d *.txt | grep -v '^не-удалять.txt' Показать строки, содержащиеся в бинарном файле: $ strings file Конвертировать прописные буквы в строчные: в текстовом файле: $ tr "A-Z" "a-z" < file в названии файла: $ mv FILE `echo FILE | tr A-Z a-z` Назначить каталогам и файлам «либеральные» права доступа: $ find . -type d -exec chmod 755 \{\} \; $ find . -type f -exec chmod 644 \{\} \; Archives Добавить файл в rar-архив: $ rar a archive.rar путь/к/файлу |