Поменять дату изменения файла в интерактивном режиме
				
							
					Иногда читаешь ленту с сайта консольных гуру и думаешь: «Ну нафига, нафига кому-то понадобилось делать вот такое?»
А потом присмотришься — ничего приемчик, может и пригодиться. Да и вспомнить возможности утилиты touch не помешает (я ей обычно пустые файлы создаю).
				
								
				touch -d $(zenity --calendar --date-format=%F) filenameА потом присмотришься — ничего приемчик, может и пригодиться. Да и вспомнить возможности утилиты touch не помешает (я ей обычно пустые файлы создаю).
- —
- 19 ноября 2011, 00:29
- комментировать
ПоздравляVim!
				
							
					У консольщиков праздник: 20-летний юбилей культового текстового редактора Vim. 

Подробности.
				
								
				
			
Vim изначально развивался для платформы Amiga как редактор для работы с исходными текстами. Порт для Unix появился спустя год после первого релиза, в это же время была изменена расшифровка имени проекта с Vi IMitation на Vi IMproved. Вначале редактор Vim был очень близок к Vi, обладая лишь единичными усовершенствованиями, такими как многоуровневый откат изменений. Позднее к работе над Vim подключились другие энтузиасты и в редактор были добавлены такие средства, как многооконный режим редактирования, визуальный режим выделения блоков, работа с макросами, гибкие механизмы поиска и замены, подсветка синтаксиса, автоформатировние кода и прочие атрибуты интегрированных сред разработки.
Подробности.
ImageMagick: печатаем большое изображение на нескольких листах
				
							
					С помощью ImageMagick можно поделить огромное изображение (например, разрешения 7000x4000) на несколько небольших для печати:
Получаем файлы вида file00.jpg, file01.jpg разрешением 1500x2000.
Подсмотрел тут.
				
								
				
			convert -crop 1500x2000 file.jpg file%02d.jpgПолучаем файлы вида file00.jpg, file01.jpg разрешением 1500x2000.
Подсмотрел тут.
ImageMagick: конвертируем pdf в png
				
							
					Благодаря ImageMagick это очень просто, для png приемлемого качества:
				
								
				
			convert -density 300 ./Desktop/srkt.pdf -resize 50% ./Desktop/srkt.pngЗапрет на удаление файлов
				
							
					Делается так (в текущей директории):
Источник.
				
								
				
			find . -maxdepth 1 -type f -exec chmod +a "everyone deny delete" {} \;Источник.
Консольный калькулятор bc
				
							
					В моем повседневном обиходе остается всё меньше остается GUI-приложений. Вот и калькулятору нашлась замена: утилита bc. С помощью неё можно не только выполнять типовые арифметические операции, 
но и выполнять, например, приведения из одной системы счисления в другую:
А вот как можно перевести количество секунд в соличество минут и секунд:
Еще одна интересная возможность — регулирование количества знаков после запятой с помощью параметра scale:
				
								
				
			echo "56.8 + 77.7" | bcно и выполнять, например, приведения из одной системы счисления в другую:
echo "obase=16; ibase=10; 56" | bcА вот как можно перевести количество секунд в соличество минут и секунд:
echo "obase=60; 777" | bcЕще одна интересная возможность — регулирование количества знаков после запятой с помощью параметра scale:
echo "scale=6;  60/7.02" | bc"Бесшумная" функция
				
							
					Иногда нужно запустить команду так, чтобы она не выводила ничего на экран. Без этого, например, не всегда удается поместить процесс в бэкграунд. На этот случай предлагается такое решение:
или даже
Пример использования:
Источник.
				
								
				function quietly () { $* 2> /dev/null > /dev/null; };или даже
function quietly () { $* 2 & > /dev/null }Пример использования:
quietly lighttpd -DИсточник.
- —
- 02 октября 2011, 09:05
- комментировать
Выделить уникальные строки
				
							
					Сравнить 2 файла и вывести в третий строки, встречающиеся только во втором:
Источник.
				
								
				
			$ comm -13 <(sort file1) <(sort file2) > file-newИсточник.
Дождаться включения хоста
				
							
					Вот как можно пинговать временно недоступные хосты, дожидаясь момента их появления в сети:
Команда печатает на экране точки с интервалом 2 секунды до тех пор, пока пинги не начнут достигать цели.
				
								
				
			while [[ 1 ]]; do ping $REMOTE_HOST -c 1 -w 2 2&>/dev/null; if [[ $? -eq 0 ]]; then echo " $REMOTE_HOST is alive\!"; break; else echo -n '.'; fi; doneКоманда печатает на экране точки с интервалом 2 секунды до тех пор, пока пинги не начнут достигать цели.
Скринкаст посредством ffmpeg
				
							
					Следующая команда позволяет записать в mp4-файл происходящее на экране компьютера + звук с микрофона: 
Источник.
				
								
				
			ffmpeg -f alsa -i default -f x11grab -s sxga -r 10 -i :0.0 -f mp4 -s vga -sameq out.mp4Источник.
