Tag Archives: shell

Настройка screen в OpenWrt

Утилита screen позволяет создавать виртуальные пользовательские сессии, каждая из которых может включать несколько виртуальных терминалов с возможность переключения между ними. При завершении фактической сессии (отключении от консоли) все виртуальные сессии продолжат работать. За счет этого можно легко запускать в “фоновом” режиме программы, не имеющие встроенной поддержки работы в фоне, либо запускать и оставлять работать скрипты и приложения, ко вводу-выводу которых впоследствии будет возможность вернуться. Continue reading

Posted in Сеть и интернет | Tagged , , | Leave a comment

Запуск скриптов в фоновом режиме

Для возможности выполнения bash-подобных скриптов в Linux в с целом и в OpenWrt-версии оболочки busybox в частности существует легкая в применении инфраструктура: необходимо лишь добавить к строке запускаемого скрипта символ “&“. Но есть и менее очевидные частности. Continue reading

Posted in Сеть и интернет | Tagged , , | 3 Comments

bash: перебор файлов в каталоге

При необходимости перебрать все файлы в каком-либо каталоге и выполнить над ними какие-либо действия, можно воспользоваться простым однострочным циклом:

for file in /etc/config/*; do wc -l $file; stat -c %s $file; done

Можно использовать и find для рекурсивного поиска и дополнительных фильтров:

for file in `find /etc -type f -name "*.conf"`
do
   wc -l $file;
   stat -c %s $file;
done

Если выполняется не более одного действия над файлом, можно обойтись без цикла:

find /etc -type f | xargs wc -l

Если в именах файлов есть пробелы, то добавляем к find параметр -print0:

find /etc -type f -print0 | xargs -0 wc -l

Во всех примерах вычисляется количество строк в файлах.

Posted in Разное | Tagged , | Leave a comment

ps: invalid option — A

Встроенная команда ps в используемом в OpenWrt-роутерах busybox имеет неприятную особенность, что при попытке указания лишних аргументов она вместо их игнорирования выводит ошибку и вовсе не показывает никаких данных. Научить ее понимать часто используемые параметры невозможно – единственным доступным вариантом в busybox является параметр w, а прочие просто отсутствуют. Continue reading

Posted in Сеть и интернет | Tagged , , | Leave a comment

screen vs sudo

При попытке открытия нового терминала при помощи утилиты screen иногда можно столкнуться со следующей ошибкой:

"Cannot open your terminal '/dev/pts/0' - please check"

Continue reading

Posted in Разное | Tagged , | Leave a comment

bash: удаление устаревших бэкапов

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

Например, это можно сделать так:

#!/bin/bash

for directory in $(find /srv/backup/sql/ -mindepth 1 -maxdepth 1 -ctime +15 -type d);
do
        echo $directory
        rm -fr $directory
done

Так будут удалены те из директорий, находящихся по адресу /srv/backup/sql/, которые были изменены более 15 дней назад. Кстати, для создания полных бэкапов MySQL можно использовать утилиту под названием mydumper.

Posted in Сеть и интернет | Tagged , | Leave a comment

vim – отступы по tab

Стандартная ширина отступов tab в редакторе vim может быть избыточно велика для удобного редактирования на экранах ограниченной ширины. Эта проблема легко решается установкой нескольких параметров. Continue reading

Posted in Разное | Tagged | Leave a comment

netcat – примеры использования

Почти в любом дистрибутиве Linux есть маленькая незаметная утилита netcat, или просто nc. Эта программа может создавать TCP-сокеты либо в режиме сервера для ожидания соединения, либо в режиме клиента для подключения к серверу. А по правде сказать, для netcat вовсе не играет роли, собираетесь ли вы использовать его как сервер или как клиент – его работа заключается только в том, чтобы собрать данные с stdin и передать на указанный сетевой адрес. Continue reading

Posted in Разное, Сеть и интернет | Tagged , | 2 Comments

vim – подсветка синтаксиса

Я уверен, что все, кто привык при настройке серверов пользоваться текстовым редактором vim с подсветкой синтаксиса, в конце концов задаются вопросом – насколько злодейским должен быть человек, который по умолчанию выставил темно-синий цвет для отображения закоментированного текста? Словом, ситуация классического маразма: фон – черный, комментарии – синие, контраста – нет. Continue reading

Posted in Разное | Tagged | 2 Comments