Интерактивное наблюдение

Все *nix’оиды знают команду top и аналоги – htop, mytop и т.д.  Аналогичны эти программы в своем принципе работы – постоянном (интерактивном) обновлении информации на экране.

А если нужно постоянно выводить на экран результат работы какой-то команлы или команд? Да еще и в удобном виде – с обновлением (очисткой) экрана. Как быть?

Способ #1

watch (для FreeBSD его родственник – gnu-watch)

Команда (gnu-)watch позволяет многократно запускать заданную команду или команды, выводя результат на экран. Примеры:

gnu-watch --differences=cumulative ls –la

Данная команда позволяет следить за файлами, при этом у измененных файлов будет подсвечен размер. Если не указывать cumulative, то изменение на экране будет подсвечено только один раз, при первом обнаруженном изменении во время обновления.
Я люблю наблюдать, как идет процесс сборки рейда:

gnu-watch -t gmirror status
Способ #2

работает везде при наличии bash

bash -c 'while true; do echo '^L'; gmirror status; echo; date; sleep 2; done'
# или так
bash -c 'while :; do clear; gmirror status; echo; date; sleep 2; done'

^L – в данном случае это !один! символ “Control-L”. Если вы просто нажмете эту комбинацию, то ничего не произойдет, точнее – вы очистите экран. Чтобы напечатался символ нужно прибегнуть к хитрости:

CTRL+V+L – о таком способе ввода непечатаемых символов я уже упоминал в этой статье.

Может пригодится ;)


Теги: , , , , , , , ,

Make and Enter

Если вам часто приходится создавать каталоги в консоли, вам может пригодиться следующий трюк:

bash:

echo 'mkcd() { mkdir -p "$@" && cd "$_"; }' >> ~/.bashrc

csh (tcsh):

alias mkcd 'mkdir -p \!*; cd \!*'
(добавьте эту же строку в .cshrc)

ksh

alias mkcd='_(){ mkdir -p $1; cd $1; }; _'

Теперь пользуйтесь:

mkcd foo/bar

Enjoy!


Теги: , , , , , , , ,

Цветик-семицветик

Маленькое дополнение к статье о раскраске tcsh.

Если, после настроек цветов, нажать TAB, то файлы и каталоги выведутся раскрашенными, согласно наших настроек, и будут раскрашены определенные типы файлов (по названиям расширений). Но если просто набрать ls, ничего подобного не произойдет. Почему?

Все потому, что tcsh использует цвета из переменной LSCOLORS, а не LS_COLORS. Вместо ls можно использовать ls-F, встроенный в tcsh:

ls-F [-Option(s)] [file ...]
	       This built-in is just like `ls -F', but much faster.


Если ls-F вызывать с параметрами, он передаст их обычному ls:

ls-F passes its arguments to ls if it is given any switches,
so `alias ls ls-F' generally does the right thing.


Итак, добавляем алиас:

alias ls ls-F


и радуемся цветам :)


Теги: , , , , , , ,

Настраиваемое приветствие в консоли

Каждый раз, когда вы логинитесь по ssh на сервер или компьютер, вы видите унылое говно одну и ту же картину:

Last login: Mon Aug 17 15:02:25 2009 from ip.com
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
The Regents of the University of California.  All rights reserved.

FreeBSD x.y-RELEASE-pZ (KERNEL) #A: Thu Apr 17 11:21:34 EDT 2008

Welcome to FreeBSD!
For information on the web, visit us at www.pcbsd.org
“man tuning” gives some tips how to tune performance of your FreeBSD system.
— David Scheidt <dscheidt@tumbolia.com>

Т.е., информацию Last login, копирайт, содержимое /etc/motd (версию системы) и какой-нибудь fortune. Скучно? Скучно!

Кастрация Кастомизация

“Проснись, Нео!”

Wake up, Neo!

Читать остальную часть заметки »


Теги: , , , , , , , , , , , , , , , , , , , , , ,

Еще раз о настройках tcsh

Хочу продолжить тему о настройках tcsh. Как можно улучшить уже раскрашенный интерфейс? Правильно, раскрасить его еще больше :)

Рисуем радугу

Добавьте в файл .cshrc следующие строки:

setenv LS_COLORS “no=00:fi=00:di=01;36:ln=01;37;44:pi=40;33:so=01;35″
setenv LS_COLORS “$LS_COLORS”:”bd=40;33;01:cd=40;33;01:or=40;31;01″
setenv LS_COLORS “$LS_COLORS”:”ex=01;32;40:*.tar=01;31:*.tgz=01;31″
setenv LS_COLORS “$LS_COLORS”:”*.arj=01;31:*.taz=01;31:*.lzh=01;31″
setenv LS_COLORS “$LS_COLORS”:”*.zip=01;31:*.z=01;31:*.Z=01;31″
setenv LS_COLORS “$LS_COLORS”:”*.gz=01;31:*.deb=01;31:*.jpg=01;35″
setenv LS_COLORS “$LS_COLORS”:”*.gif=01;35:*.bmp=01;35:*.ppm=01;35″
setenv LS_COLORS “$LS_COLORS”:”*.tga=01;35:*.xbm=01;35:*.xpm=01;35″
setenv LS_COLORS “$LS_COLORS”:”*.tif=01;35:*.mpg=01;37:*.avi=01;37″
setenv LS_COLORS “$LS_COLORS”:”*.gl=01;37:*.dl=01;37:*.tex=01;35″
setenv LS_COLORS “$LS_COLORS”:”*.ps=01;35″
setenv LS_COLORS “$LS_COLORS”:”*.php=01;33″
setenv LS_COLORS “$LS_COLORS”:”*.sh=00;31″
setenv LS_COLORS “$LS_COLORS”:”*.txt=01;37:*.conf=01;37:*.config=01;37″

Переменная LS_COLORS содержит список файлов и их цвета. Вы можете добавить любые другие расширения файлов. Разберем один пример:

Читать остальную часть заметки »


Теги: , , , , , , , , , , , , , , ,

Настройка строки приглашения tcsh

Так исторически сложилось, что мне больше по вкусу tcsh, а не bash. Я не спорю, bash очень мощный и удобный шелл, я пользовался им, когда программировал на Mac OS X, но сейчас часто пользуюсь FreeBSD, а там по умолчанию именно tcsh.

Если вы тоже им пользуетесь, можете попробовать красивые и удобные настройки. Напомню, что прописать их нужно в свой файл настроек – ~/.cshrc .

Читать остальную часть заметки »

Теги: , , , ,