Category Archives: Консоль

Надоело все время искать как добавлять в автозапуск сервисы в debian. Собственно вот: добавить, убрать, просмотреть:

update-rc.d foobar defaults
update-rc.d -f foobar remove
ls -l /etc/rc2.d/S*

WiFi из консоли – wpa_supplicant

Пошагово:

  1. ip link set wlan0 up (не обязательно, но так, для галочки :))
  2. iw dev wlan0 scan | grep -i ssid (тоже не обязательно, но полезно если надо просмотреть список доступных сетей)
  3. wpa_passphrase нужный_ssid пароль
  4. результат работы предыдущей команды записываем в /etc/wpa_supplicant/wpa_supplicant.conf
  5. wpa_supplicant -B -D wext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf (ключ -B – запускает wpa_supplicant в фоне)
  6. dhcpcd wlan0

Копируем строки из файлов средствами linux

Как то понадобилось мне из двух тысяч текстовых файлов (из 2402 файлов если быть точным) выдернуть конкретные строки: с 4 по 6. Перепробовал много разных методов а решение было на поверхности. Bash + cut друзья на век :). Спасибо коллеге что подсказал. Итак скрипт:

for l in $(ls ./); do cat $l | head -n 6 | tail -n3; done > ../bla-bla-bla.txt

Поясню что здесь происходит:
for l in $(ls ./); – конструкция которой мы пробегаем по всем файлам в директории
do cat $l | head -n 6 | tail -n3; done – команда на выборку строк, мы сначала выводим первые 6 строк файла (head -n6) а потом из этих 6 строк показываем 3 нижних (tail -n3). А ларчик просто открывался :).
Соответственно конструкцию c head и tail можно заменить на sed -n 4,6p

Настройка цветов в команде ls во FreeBSD

Команда ls во FreeBSD работает с цветами, не как в Linux. Подробно об этом можно прочитать в man 1 ls, а здесь я приведу скриптик для очень простой настройки любой раскраски.

Предлагаю разместить в .profile, или другом инициализационном скрипте, примерно следующие инструкции:
Continue reading

Меняем shell в настройках пользователя

Люблю bash, но не всегда этот shell установлен по умолчанию на серверах. Понятно что можно потерпеть, но учитывая что большинство команд вводиться на автомате то отсутствие привычных мелочей конкретного shell’а доставляет существенный дискомфорт. Итак, как же поменять оболочку?

pw usermod username -s /usr/local/bin/bash

Перелогиниваемся под username и проверяем установленную оболочку

env

Разумеется bash должен быть установлен в системе.

Альтернативный вариант использовать программу chsh запущенную под нужным пользователем. Она открывает vim с открытым конфигом где можно в числе прочих настроек указать путь под оболочки.

Добавление временных отметок в командную строку терминала

Интересный способ разнообразить командную строку терминала: добавить строку которая будет выводиться после выполнения каждой команды. Выглядит достаточно оригинально, и может помочь избавиться от привычки нажимать несколько раз enter перед вводом очередной команды 🙂

Итак, нужно добавить (или создать и добавить) в файл .bash_profile (если вы конечно используете bash :)).

#
fill="--- "

PS1="$status_style"'$fill \t\n'"$prompt_style"'${debian_chroot:+($debian_chroot)}\u@\h:\w\$'"$command_style "
function prompt_command {
let fillsize=${COLUMNS}-9
fill=""
while [ "$fillsize" -gt "0" ]
do
fill="-${fill}" # fill with underscores to work on
let fillsize=${fillsize}-1
done

case "$TERM" in
xterm*|rxvt*)
bname=`basename "${PWD/$HOME/~}"`
echo -ne "\033]0;${bname}: ${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"
;;
*)
;;
esac
}

PROMPT_COMMAND=prompt_command
#

Шпаргалка по tar и gzip

Создания архива
tar -zcvf sblog.tar.gz *
В результате получаем сжатый архив sblog.tar.gz
Использование bzip
Если вы хотите использовать bzip2 совместно с tar используйте следующий вызов:
tar -jcvf sblog.tar.bz2 *
В результате получаем сжатый архив sblog.tar.bz2

Общий вид вызова команды tar:
tar -cf имя_будущего_архива файл(ы)_для_упаковки
Опции -c и -f означают, соответственно –create и –file, т.е создать файл.

Распаковка файлов
Для распаковки архива используется та же команда, только с флагом –extarct:
tar -zxvf путь_к_архиву
В случае с bzip2:
tar -jxvf путь_к_архиву

Получение информации о файлах в архиве
Перед распаковкой архива часто нужно узнать что находится внутри.
tar -svtf путь_к_архиву
В случае с bzip2:
tar -jvtf путь_к_архиву

Устанавливаем MOTD в FreeBSD

Собственно сам файлик который надо править (или создать):
/etc/motd

Просто пишем в него (или рисуем :)) что нибудь типа этого:

FreeBSD 6.3-STABLE (ISPSYSTEM_PAE) #6: Sat Dec 19 06:26:37 CET 2009

             \(______     ______)/
             /`.----.\   /.----.`\
            } /      :} {:      \ {
           / {        } {        } \
           } }      ) } { (      { {
          / {      /|\}!{/|\      } \
          } }     ( (."^".) )     { {
         / {       (d\   /b)       } \
         } }       |\~   ~/|       { {
        / /        | )   ( |        \ \
       { {        _)(,   ,)(_        } }
        } }      //  `";"`  \\      { {
       / /      //     (     \\      \ \
      { {      {(     -=)     )}      } }
       \ \     /)    -=(=-     (\    / /
        `\\  /'/    /-=|\-\    \`\  //'
          `\{  |   ( -===- )   |  }/'
            `  _\   \-===-/   /_  '
        jgs   (_(_(_)'-=-'(_)_)_)
              `"`"`"       "`"`"`

После текста из MOTD выводиться текст содержащийся в .bachrc в строках echo. Например:

echo -e "\033[1;31;40m************************************* \033[1;34;40m"
echo -e "\033[1;31;40m* Welcome in BlackICE claster * \033[1;34;40m"
echo -e "\033[1;31;40m You are logged as: \033[1;33;40m$USER\033[1;31;40m \033[1;34;40m"
echo -e "\033[1;31;40m************************************* \033[1;37;40m"