четверг, 8 сентября 2011 г.

Мигель де Икаса даёт советы по Unix

Один из самых известных Unix-программистов Мигель де Икаса (основатель проектов GNOME и Mono) в своём блоге дал парочку советов, как повысить продуктивность работы в шелле Unix. Он говорит, что иногда встречает молодых хакеров и бывает поражён, насколько мало трюков они знают.

Мигель де Икаса рекомендует ликбез по-быстрому:

1. Прочитать «Unix. Программное окружение» Кернигана и Пайка [русское издание], займёт несколько дней, от силы неделю. Книжка очень старая (1984), но лучше всех разъясняет автоматизацию различных действий в консоли. Вторая книжка — UNIX for the Impatient, чтобы прокачать навыки.

2. Освоить Emacs. Эта программа оказала сильнейшее влияние на развитие Unix. Освоив горячие клавиши для Emacs, вы автоматически освоите их сразу для сотен других Unix-программ. Лучше всего сразу после запуска нажать Ctrl-H, потом t. Это онлайновое руководство, которое отнимет у вас всего два часа.

3, Использовать Midnight Commander. Этот файл-менеджер объединяет лучшее из двух миров: GUI-подобный интерфейс и полный доступ к текстовой консоли. На экране список файлов в двух директориях, а снизу командная строка Unix.



Навигация стрелочками, Ctrl-S для поиска по именам файлов, Ctrl-T для выделения, F для копирования, перемещения или удаления. По умолчанию копирование происходит в директорию на другую половину экрана.

Midnight Commander является клоном Norton Commander, программу написал сам Мигель.

4. Самая крутая книга по хитростям Unix: Unix Power Tools. Это сборник индивидуальных трюков от разных хакеров, каждый примерно на страничку. Уникальный материал скомпилирован из конференций Usenet и других книжек. Хорошо подходит для ежедневного чтения (по одному в день — хватит на четыре года, потому что фолиант на 1539 страниц).

5. Изучить слепой метод набора. Трудно и долго, но надо стараться.

Источник: http://habrahabr.ru/blogs/UNIX/127970/

вторник, 17 мая 2011 г.

Color Scripts

 Статья о том, как раскрашивать вывод своих скриптов.

http://habrahabr.ru/blogs/linux/119436/#habracut

суббота, 30 апреля 2011 г.

console tips

  • очень простой способ передать файлы с машины на машину — tar cz. | nc -l -p 2214 (на передающей стороне) и nc адрес 2214 | tar xz (на принимающей). 2214 — номер порта, выбирается по желанию. в разных версиях nc нужно писать nc -l -p или nc -l
  • в локальной сети из дефолтно-настроенных убунт, можно обращаться к машинам по имени, а не по айпи: username-desktop.local отрезольвится в ip машины, которую назвали username-desktop. это магия mdns, спасибо apple
  • avahi-browse -a быстро покажет список имен машин с в локальной сети, а ключ -r покажет сразу и их ip. как и в предыдущем хинте, требуется avahi, он есть в дефолтной убунте. сама команда — в пакете avahi-utils
  • пользуйтесь ctrl-R в консоли, чтобы не жать «вверх» по сто раз
  • history не резиновый. если что-то было забито в историю интерпретатора, рано или поздно оттуда может исчезнуть, не полагайтесь на него, как на справочник
  • используйте set -e в скриптах. неотработавший «cd» во временный каталог может надолго испортить настроение содержимое /home
  • проверяйте код возврата
  • чтобы вернуться в предыдущий каталог, есть команда cd -. в zsh еще есть команда d еще есть команда dirs -v, показывающая историю переходов. еще в zsh можно делать вот так: cd -2
  • пишите в скриптах длинные --варианты параметров
  • не пишите в скриптах rm -rf $VAR/
  • используйте visudo для редактирования sudoers
  • потеряли пароль рута? при загрузке укажите ядру параметр init=/bin/bash и сбростье пароль через passwd
  • у грепа есть полезный параметр --color
  • команда, чтобы перечитать отредактированный файл с переменными окружения: source /etc/environment .
  • пользуйтесь bash -x для отладки скриптов
  • пользуйтесь strace для отладки всего остального. от лишнего выхлопа спасет параметр -e имявызова
  • не путайте /bin/sh и /bin/bash, это не всегда одно и то же. особенно в дебиане, особенно в убунте
  • настройте алиасы
  • если на команду повешен алиас, то запустить ее «настоящую» можно, добавив в начале бэкслеш например: \ls
  • если терминал переклинило после некорректного выхода из псевдографической программы иили вырвашегося на просторы stdout мусора, есть волшебная команда reset
  • exec >file в скрипте перенаправит его вывод в файл и не перезапустит скрипт
  • уже написали вагон скриптов? забекапьте
  • не храните все в / или /home
  • lvm уже придумали
  • используйте в скриптах mktemp для создания временных файлов и каталогов
  • пишите переменные вот так: ${VAR}
  • VAR=X и export VAR=X — разные вещи
  • dd может показывать, сколько он уже скопировал, если пнуть его черз kill -USR1
  • kill может принимать аргументом номер задачи, а не только идентификатор процесса: kill %1
  • jobs, bg, fg, disown — тоже так умеют
  • если «вышли» из программы через ctrl-Z, вернуться можно командой fg
  • rsync нужен не только для сетевых операций
  • rm something и rm something/ — это разные вещи. и не только в rm, cp, ls и rsync — тоже
  • watch и repeat уже написаны, не надо велосипедить их через while true
  • at тоже уже написан, а sleep понимает время не только в секундах
  • sudo echo > file открывает файл на запись не с правами рута. это делается так: sudo sh -c 'echo > file'
  • если скрипт запускается в линуксе, это не значит, что он так же хорошо отработает в bsd или макоси
  • пишите --параметры перед аргументами, иначе ls file -l в bsd вас удивит
  • грепаете вывод ifconfig? ifconfig тоже бывает разный
  • нормально работающие версии утилит в bsd и макоси имеют приставку g: gsed, gmake
Источник: http://habrahabr.ru/blogs/linux/118279/

понедельник, 7 февраля 2011 г.

Deluge и checking 0.00%

Если вы используете Deluge (и он прописан запускаться при старте системы) и вдруг раздел, где хранятся скачанные файлы у вас, как и у меня, в неправоверной NTFS — можете столкнуться с тем, что после перезагрузки торренты будут очень медленно чекаться, точнее большинство из них просто-напросто замрут с надписью "Checking 0.00%".

Проблема в том, что NTFS раздел у вас, быть может не успел смонтироваться и самый простой черновой способ с этим справиться - закрыть Deluge, открыть ntfs-раздел любым файл-браузером. После этого Deluge довольно шустро справится со своим "Checking".