Linux: маленькие хитрости

Как в командной строке получить дату за предыдущий день?
date -d 'day ago'

Как в командной строке присвоить текущую дату переменной?
D=`date`

Как избежать отправки сообщения пользователю на e-mail при выполнении задания cron?
Перенаправить вывод следующим образом:
>>/dev/null 2>&1

Как перенаправить сообщения от cron произвольному пользователю?
Прописать переменную MAILTO= в файле задания

Выполнение команд пакетом

При использовании консоли бывают случаи, когда нужно запустить последовательность команд (такое может
случиться и при работе с графическим интерфейсом, но тогда решение будет отнюдь не таким простым).
Классическим примером тут служит стандартный способ установки программ из исходных текстов, требующий
запуска ./configure (возможно, с аргументами), а затем make и make install. Выполнение некоторых
из этих шагов может длиться часами, в зависимости от сложности кода и возможностей вашей машины.
Ожидать окончания одного шага, чтобы ввести следующий, неэффективно – лучше сделать так:
./configure; make; make install
Точка с запятой говорит о том, что команды должны выполняться последовательно, как если бы вы вводили
их по очереди. Но тут можно заметить потенциальную проблему: а ну как ./configure или make завершатся с ошибкой?
Будут ли выполнены последовательно заданные команды? Ответ – да, причем они наверняка скроют сообщения
об ошибках, и вы не узнаете о проблемах, пока не возьметесь работать с этой программой.
Вот более практичный способ запуска данных команд:
./configure && make && make install

&& – это логический оператор. Приведенная последовательность означает «если ./configure истинно, и make истинно, и make install истинно». Оболочка определяет истинность команды, запустив ее на предмет выдачи
возможных ошибок. При их наличии в первой команде следующая запускаться не станет, поскольку тест
уже провален, так что объединение команд с помощью && запускает их поочередно, но останавливается,
как только одна из команд возвращает ошибку – а значит, вам незачем неотлучно дежурить у консоли.
Сопутствующий оператор – ||, означающий «или», то есть при вводе: команда1 || команда2 команда2 сработает только в том случае, если команда1 завершится с ошибкой. Это не очень ценно в интерактивной оболочке,
но часто применяется в скриптах, например: некаякоманда1 || echo «Что-то сломалось!”