Прячем bash скрипт в фоне

При запуске, например, bash скрипта с символом & он нормально работает в фоне, но при закрытии терминала процесс будет завершен. Чтобы запустить в фоне надежно делаем так:

at now << EOF
команда
EOF

Отправка данных с помощью ncat

Потребовалось отправить на удаленный специфический сервер для отладки пару сотен байт. Можно вручную с помощью telnet'a, но не набирать же столько текста с клавиатуры. Вспомнил про утилиту ncat, которой на практике еще не пользовался, но читал о ней много хвалебных отзывов. ncat входит в пакет nmap — мощный инструмент сетевого анализа.

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

cat test.dat | ncat sample.ru 9999


Аргументы ncat — адрес сервера и порт.

Быстрый возврат в screen

О пользе утилиты screen сказано не мало. На период отладки можно даже запустить с ее помощью какой-нибудь сервер как консольную утилиту и отслеживать стандартный вывод прямо на экране, а не искать ошибки в логах. Одно неудобно: восстанавливать каждый раз отсоединенную сессию приходится за два шага:


screen -ls
screen -r <найденный предыдущей командой PID>


А ведь можно обойтись и одной:

alias screenr='screen -r $(screen -ls | egrep -o -e '[0-9]+' | head -n 1)'

Измерить количество строк кода

Некоторых людей хлебом не корми — дай чем-нибудь помериться что-нибудь померить. Например, ценность компьютерной программы они определяют по количеству просиженных перед монитором минут или количеству строк кода в исходниках. Специально для них — команда bash, измеряющая количество строк во всех исходниках проекта:

find -name *.java | xargs wc -l | sort -n

— для java

find -name *.\[c\|h\] | xargs wc -l | sort -n

— для С.

Выключить компьютер через определенный период

Команду shutdown можно использовать с параметрами, и эта ее возможность часто недооценивается. Например

$ shutdown -h 45 

означает выключить компьютер через 45 минут (прописать в стартовый скрипт и использовать при проведении уроков информатики).

$ shutdown -h 13:45 

— выключить в 13:45

Или даже так (если проблемы с устным счетом):

$ shutdown -h $((60 * 4))

— выключить через 4 часа.

Консольный календарик

Каждый, наверно, время от времени впадает в поиски бумажного календарика. Оказывается, посмотреть на него можно не выходя из консоли, да еще и в цвете:



cal | grep --color=auto -E "( |^)$(date +%e)|$"


Отсюда.
  • +8
  • 30 апреля 2011, 22:48
  • yababay
  • 1

Удалить изображения с определенной геометрией

Эта команда, конечно, вряд ли будет многократно востребована на практике, но в качестве головоломки и иллюстрации возможностей bash очень даже хороша:

$ for arq in *.png; do size=$(identify $arq | cut -f3 -d" "); [ $size == "280x190" ] || rm $arq ; done


Удаляет из текущего каталога png-файлы размером 280x190 пикселей.
  • +4
  • 23 апреля 2011, 09:41
  • yababay
  • 1

Консольная жарка семечек

Решил пожарить семечек. В этом деле главное — не прозевать, а то рискуешь лузгать не аппетитные семки «Услада гопника», а голимый уголь с сопутствующими формальдегидами. Вместе с тем Рунет буквально завален воплями о подгоревших пельменях и макаронах, ибо айтишник и выключенная вовремя сковорода — вещи несовместимые. И тут вспомнилось, что на днях видел команду, сооружающую из компьютера простейший шедулер. Ну да, вот она:

sleep 5m; yes > /dev/dsp




Работает на ура. Приятного аппетита!
  • +8
  • 18 апреля 2011, 11:43
  • yababay
  • 4

Обои рабочего стола с подсказками по консольным командам

Subj здесь.



И вообще сайт интересный, чем-то наш напоминает.
  • 0
  • 17 апреля 2011, 00:16
  • yababay
  • 2

ConEmu - эмулятор консоли

Иногда требуется иметь возможность просмотра имен файлов/текста с использованием не western символов в консоли Windows. Если мне не изменяет память, в Windows XP это решалось установкой поддержки языков восточной группы, однако в Vista и Seven такой возможности нет, эти системы уже поддерживают ввод и отображение таких символов, но только в графической среде, не в консоли.

Отображение китайских символов в Проводнике



( Читать дальше )
  • +12
  • 24 марта 2011, 23:46
  • Skriva
  • 10