Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Русификация
  COM-порт
  Монтирование образов
  dd
  burncd
  Консоль
  polling
  redirect_port
  wolf3d
  W.O.L.
  HDD->HDD
  bsdstats
  pdf в html
  monitord
  monit
  dvd в avi
  LAM
  Контроль провайдера
  pppd
  ru man
  geom_uzip
  colorize
  nettop
  немного о ssh
  установка по сети
  ClamAV mirror
  BlueTooth
  WiFi WPA
  iftop
  iPod
  2 CD -> 1 DVD
  ipcalc
  LACP и VLAN
  FFS из-под WinXP
  queues
  NFS & Win2k3
  Dynamic DNS
  ProFTPD+iconv
  deltup, xdelta, bdelta
  Приглашение csh/tcsh
  настрока bash
  Lan over Bluetooth
  pppoe
  метаданные exif
  dd : бэкапируем windows
  mozilla autoconfig
  Proxy Auto Configuration
  NNTP сервер
  Rinetd
  ISO DVD FreeBSD
  my disc1
  sftp+chroot
  SendXMPP
  APCUPSD
  Видеонаблюдение
  Настройка аудиоплеера на ximp3
  HDD(mbr) -> HDD(gpt)
  mc 4.6.2
  Динамический DNS
  axel
  LiveCD
  NAS на MPD
  backup конфигов на почту
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> Мелочи —> настрока bash

Юзабельный bash под FreeBSD

Автор: nikll.


1. Установка bash.

Для начала установим bash из портов, я это делаю вот так:
cd /usr/ports/shells/bash;
make -DNOPORTDOCS -DWITH_STATIC_BASH -DNO_DYNAMICROOT -DNOSHARED \
-DWITHOUT_HELP CONFIGURE_ARGS+="--bindir=/bin" deinstall install clean;
# опции:
# -DNOPORTDOCS -DNOSHARED -DWITHOUT_HELP -  не устанавливать doc info man help 
#                                               (на ваше усмотрение)
# -DWITH_STATIC_BASH  и -DNO_DYNAMICROOT - статическая сборка, чтобы для работы
#                                         bash не требовались другие библиотеки

После чего мы получим полноценный установленный в /usr/local bash, но с исполняемым файлом в корне "/bin/bash" которому для работы нетребуются другие библиотеки.

Теперь можно отредактировать у всех профилей сшелл и другие параметры, делаем:
chpass root


и правим следующие строчки:
Class: russian
Shell: /bin/bash

Class: russian - для включения русификации
Shell: /bin/bash - полный путь к сшелу

2. Русификация консоли.

Немного повторю советы других авторов и покажу как заствить фрю говорить по русски.
Поправляем /etc/rc.conf к следующему виду:
font8x14="koi8-r-8x14"
font8x16="koi8-r-8x16"
font8x8="koi8-r-8x8"
keymap="ru.koi8-r.win"
keyrate="fast"

строчки font* задают русский шрифт в кодировке koi8-r для консоли
keymap задает нормальную виндовую раскладку клавиатуры с переключением между языками по нажатию комбинации клавиш CTRL+SHIFT
keyrate="fast" - чтобы клава нетупила

Для применения изменений без перезагрузки сделайте:
/etc/rc.d/syscons restart

ну и обязательно добавте в /etc/profile настройки локализации:
export LANG=ru_RU.KOI8-R
export LC_ALL=ru_RU.KOI8-R

Все теперь наша фря русскоязычна.
Также можно установить русские маны по этой статье http://www.lissyara.su/?id=1313

3. Настройка клавиш клавиатуры.

Создаем файл /etc/inputrc со следующим содержанием:
$if term=cons25r
        "\C-?": delete-char
$endif

Таким образом, для терминалов cons25r, мы привязываем к клавиши с кодом "\C-?" (во фре это del) действие delete-char, вместо назначенного по умолчанию backward-delete-char
весь список возможных действий и кодов назначенных им клавиш можно посмотреть при помощщи:
bind -lpvs

Аналогичным способом настраиваються и другие терминалы клавиши, у меня например сделанн целый набор сочетаний клавиш для удобной работы с консолью, и иксовыми терминалами.

4. Приглашение коммандной строки и удобные команды.

Правим /etc/profile до следующщего вида:
export LANG=ru_RU.KOI8-R
export LC_ALL=ru_RU.KOI8-R
export EDITOR=ee
export PS1="\[\033[03;34m\][\[\033[03;38m\]`whoami`@\h\[\033[03;34m\] \W ]\\$ \[\033[00m\]"
alias kde="startx `which startkde`"
alias rdesktop="rdesktop -g 1022x732 -N -L KOI8-R -u kotlyarov"
alias ls='ls -GAh'
alias ll='ls -l'
alias cp='cp -i'
alias cpr='cp -iR'
alias rm='rm -i'
alias rmr='rm -fr'
alias grep='grep --color'
alias fgrep='fgrep --color'
alias ll='ls -lGAh'
alias df='df -h'
alias du='du -h'
alias h='fc -l'
alias m='more'

Комментарии:
export LANG=ru_RU.KOI8-R    
export LC_ALL=ru_RU.KOI8-R  - задаем локализацию
export EDITOR=ee    - устанавливаем свой дефолтный редактор вместо непривычного vi
export PS1="\[\033[03;34m\][\[\033[03;38m\]`whoami`@\h\[\033[03;34m\] \W ]\\$ \[\033[00m\]" - а это собственно настройка приглашения коммандной строки, конструкции типа "[\033[03;34m\]" задают цвет символов следующщих за ними, по сотальным параметрам можно подробно почитать в манах или интете, благо это достаточно хорошо описанно
alias * -  настраиваем юзабельность нужных нам комманд и придумываем свои команды




размещено: 2008-04-18,
последнее обновление: 2008-04-18,
автор: nikll

оценить статью:

Григорй Ситнин, 2008-04-18 в 21:07:42

А зачем "CONFIGURE_ARGS+="--bindir=/bin""?
PREFIX=/ не проще?

К тому же, у меня на семёрке даже и не сработало.

nikll, 2008-04-19 в 16:39:04

PREFIX=/ не проще, если делать так то в корень падает куча лишнего мусора...
Странно у меня на 6.2 6.3 и 7.0 работает, может поподробнее напишеш что и как несработало?

Григорй Ситнин, 2008-04-19 в 16:49:06

Да подробностей никаких, просто порт собрался с бинарником в /usr/local/bin и всё.

nikll, 2008-04-19 в 16:56:22

Странно.... хм...
сделай:
cd /usr/ports/shells/bash ;
make clean deinstall ;
script ~/bash.log  make -DNOPORTDOCS -DWITH_STATIC_BASH -DNO_DYNAMICROOT -NOSHARED -DWITHOUT_HELP -CONFIGURE_ARGS+="--bindir=/bin" make isntall clean ;
и вышле мне на мыло файл ~/bash.log

Григорий Ситнин, 2008-04-20 в 3:18:06

Ломает =)

opt1k, 2008-04-22 в 18:23:54

Чорд, где же лисяра с криками типа "bash, енто нифига не родное!!!!..." заранее +1 лису :)

lissyara, 2008-04-22 в 18:45:18

bash, енто нифига не родное!!!!... =)
========
ну, моё мнение все знают.
а что касается бинарников нагаженных в системе...
После этого вообще ничё писать не хочется.
Сразу видно - линуксоиды.

nikll, 2008-04-26 в 10:08:54

Согласен баш это не родное, скажу по секрету кроме баша есть еще огромная куча "не родного" чего мы устанавливаем из /usr/ports но чото не стремаемся.....
Главое не то что родое а что нет, главное чтобы удобно и практичо было, а это уже зависит только от привычек пользователя....
Кому то удобнее csh/tcsh/sh а мне bash, даже больше скажу есть люди котоым ДЕЙСТВИТЕЛЬНО удобно работать в гноме :)

eJ, 2008-06-11 в 11:08:11

Настройка клавиш Insert, Delete, Home, End, Page-Down, Page-Up для bash:

cat ~/.inputrc
set meta-flag on
set input-meta on
set convert-meta off
set output-meta on

# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line

# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert

# alternate mappings for "page up" and "page down" to search the history
"\e[5~": history-search-backward
"\e[6~": history-search-forward

mcat, 2008-11-12 в 6:29:20

приглашение коммандной строки с выводом времени
PS1='(\[$(tput md)\]\t <\w>\[$(tput me)\]) $(echo $?) \$ '

turbina, 2008-11-14 в 0:23:52

а я зделал проще, говорят не толково менять шел для рута по умолчанию  - поэтому просто создаем ~/.bashrc и туда кидаем все настройки какие хотим, логинимся рутом и просто меняем интерпритатор набрав "bash" - и все..

nikll, 2008-11-14 в 9:18:16

Гы! а чо бы и не поменять, ведь в однопользовательском всервано выбор предлагается и по дефолту /bin/sh запускается, а ежели система нормлаьно работает то что бы и более удобным шелом не пользоваться.
Кста в фрях есть еще один рут, toor называется, у него по дефолту /bin/sh запускется, полезно если bash не статически собран и повредится какаянить библиотечка.

Pawko, 2008-11-20 в 14:28:26

Полезно... пошел устанавливать bash... ты прав... оно не муляет... а если что - и помогает

Cardinal, 2008-11-24 в 16:05:44

В bash alias не работает. Толку от этих алиасов ноль.

nikll, 2008-11-24 в 16:47:33

Млин... так и хочется ляпнуть какую нибудь гадость....
короче скажу так: если у тебя не получилось значит ты сделал где-то ошибку, алиасы работают прекрастно!

GUGA, 2008-11-30 в 13:06:57

А кто подскажет как зделать чтобы шрифт в консоли был зеленым

svol, 2008-12-19 в 13:04:18

2GUGA
man vidcontrol

Damir, 2009-03-19 в 9:04:02

А чтобы по дефолту для определенного пользователя консоль была зеленой?

tim-s, 2009-07-10 в 9:44:47

Спасибо за статью автору ,но немного поправлю. У меня почемуто) при записи профиля на строку Shell: /bin/bash фряха сругалась, т.к. путь оказался другой Shell: /bin/local/bin/bash, и при записи новой все ОК!.

tim-s, 2009-07-10 в 9:45:55

Прошу прощения!!!
Shell: /usr/local/bin/bash

tim-s, 2009-07-10 в 9:50:06

И по поводу шрифтов могу добавить, лучше не копировать со стотьи в rc.conf а делать через тот же sysinstall -> Configure -> Console , а там выбираем везде KOI8-R, ну или что по вкусу другое)))

ZeVVS, 2009-09-23 в 21:36:38

Народ. Перерыл весь инет, как настроить перебор комманд после написания первых нескольки символов? В линухе такая система:
"e\[A": history-search-backward
"e\[B": history-search-forwart
Во фре не работает. Заношу и в /etc/inputrc и в ~/.inputrc. Попробовал комбинацию от eJ:
# alternate mappings for "page up" and "page down" to search the history
"\e[5~": history-search-backward
"\e[6~": history-search-forward
Работает, но только под юзверем. Под рутом не пашет. Может кто знает, как историю стрелочками все же сделать?

nikll, 2009-09-24 в 9:35:46

cat /etc/inputrc
\"\\C-?\": delete-char
\"\\e[A\": history-search-backward
\"\\e[B\": history-search-forward

set show-all-if-ambiguous On

тоже самое каждому юзеру в ~/.inputrc
у меня уже который год работает идеально

nikll, 2009-09-24 в 9:36:10

"\C-?": delete-char
"\e[A": history-search-backward
"\e[B": history-search-forward

set show-all-if-ambiguous On

ZeVVS, 2009-09-24 в 16:03:45

Чувак! Респект тебе и уважуха ;)
Дело оказывается было всего в одном параметре:
set show-all-if-ambiguous On

Я несколько лет пользовался csh, но последнее время пришлось перелезть на bash, и без этой возможности чувствовал себя безруким :)

Mobilesfinks, 2009-10-27 в 15:12:28

Вопрос тупой
Возможно ли сделать в csh что бы при не дописанной команде и нажатии TAB выводился список возможных команд? В BASH мне эта функция очень нравится.

lissyara, 2009-10-27 в 15:13:46

lissyara$ grep autoli ~/.cshrc
       set autolist = TAB
lissyara$

Проходящий мимо, 2010-12-09 в 0:35:29

[url=http://kerzoll.ru/page/ustanovka-basha] помогли реально решить проблему!

Проходящий мимо, 2010-12-09 в 0:36:21

http://kerzoll.ru/page/ustanovka-basha помогли реально решить проблему! Спасибо!

Creator, 2011-04-19 в 14:10:01

в bash'е ковырял в сторону LSCOLORS - видимо не доковырял чего то.
суть: цвет фона по умолчанию у меня выставлен в Putty на 0,0,128 (голубой фон). по команде, например, "ls -lAG" - цвет каталогов практически невиден.
где его можно "осветлить"?

Антоша, 2011-07-23 в 20:08:40

Исправьте анкор к статье «настроЙка bash» =)

Dmitry, 2012-09-22 в 2:17:02

which bash
/usr/local/bin/bash

ls -l /bin/bash
ls: /bin/bash: No such file or directory

можно сделать ссылку, но правильно ли это.

Dmitry, 2012-09-22 в 2:19:52

ступил.

автор указал ключи после make.

а как же, если portupgrade -afrR делать будем.
сбросятся ключи же.

Dmitry, 2012-09-22 в 3:51:46

в приглашении теперь вот такое:
\[\033[03;34m\][\[\033[03;38m\]dmitry@freebsd\[\033[03;34m\] dmitry ]$ \[\033[00m\]

перепроверил раз 10 все.

вернулся назад.
видимо, статья старая. под старые версии bsd.

в однопользовательском режиме еще ругань стала "/bin/sh: Syntax error: Unterminated quoted string"

возврат не помогает.
откатился rsync'ом. благо, была копия. загрузившись с live cd.
все ок.

Затем, еще раз перечитал. блин. так же изменил rc.conf и  /etc/profile

Один хер. все те же глюки.

FreeBSD 9.0

gfyyjmntgh, 2013-01-16 в 18:25:43

Товaрищщи! Это пoля для ввoда комментариeв к стaтье, а нe для вопрoсoв. Сюдa пишитe найденныe бaги, или какиe-тo фичи :)
Для вопросов есть форум!

Александр, 2018-07-22 в 20:15:19

## Одна из главных вкусностей - aliases
alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'
alias lt='ls -lt'

## Colour Prompt
COLOR_RED="\[\033[1;31m\]"
COLOR_WHITE="\[\033[0;00m\]"
COLOR_GREEN="\[\033[0;32m\]"

export PS1="${COLOR_RED}\u${COLOR_WHITE}@${COLOR_RED}\h:${COLOR_WHITE}\w# "

Алекс, 2018-07-24 в 21:39:50

PS1='\t \[[\e[0;32m\]\u\[\e[m\]@\e[0;37m\]\h\[\e[m\] \[\e[1;34m\]\w\[\e[m\]]\[\e[0;31m\] \[\e[32;44m\]$(parse_git_branch)\[\e[0;31m\] \$\[\e[m\]\[\e[0;37m\] '

export PS1
date=`date "+%Y_%m_%d %H-%M"`;
datea=`date "+%A"`;
systt=`uname -r`;

  echo -e "                                                                 ";
  echo -e "\033[1;31;40m******************************************* \033[1;34;40m";
  echo -e "\033[1;31;40m*     Welcome in  \033[1;33;40m[ $date ]\033[1;31;40m    *\033[1;33;40m";
  echo -e "\033[1;31;40m*\033[1;37;40m   $systt  =   $datea          \033[1;31;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;33;40m2:462/46\033[1;31;40m        *\033[1;33;40m";
  echo -e "\033[1;31;40m******************************************* \033[1;37;40m";
  echo -e "                                      ";
  echo -e " - начинаем работу с создания скрина: # screen -a";
  echo -e " - создание окон screen_name: # screen -t screen_name";
  echo -e " - создание нового окна: [ Ctrl + a + c ]";
  echo -e " - удаление окна: [ Ctrl + d ]";
  echo -e " - переключение между двумя последними открытыми окнами: [ Ctrl + a ]";
  echo -e " - переключение на следующее открытое окно: [ Ctrl + a + n ]";
  echo -e " - переключение на предыдующее открытое окно: [ Ctrl + a + p ]";
  echo -e " - отключение от окон: [ Ctrl + a + d ]";
  echo -e " - подключение к окнам: # screen -dr";
  echo -e " - после выхода к сессии можно вернуться при помощи: # screen -r";
  echo -e " - после аварийного выхода, отсоединение от скрина не всегда регистрируется,";
  echo -e "   при попытке повторного подключения выдается сообщение о том, что скрин активен, подключиться невозможно.";
  echo -e "   Подключение к такому скрину выполняется при помощи: # screen -x";
  echo -e "                                                                 ";

  echo    " Welcome in server [ $date ]" >> /var/log/rob.log ;

Алекс, 2018-07-24 в 21:45:56

PS1='\t \[[\e[0;32m\]\u\[\e[m\]@\e[0;37m\]\h\[\e[m\] \[\e[1;34m\]\w\[\e[m\]]\[\e[0;31m\] \$\[\e[m\]\[\e[0;37m\] '

незнаю что ето  parse_git_branch  

Алекс, 2018-07-24 в 21:49:14

# install bash
# chsh -s /usr/local/bin/bash root

Алекс, 2018-07-25 в 11:55:29

самое прикольное
alias he='cat /usr/home/sh/hellp'
alias se='echo service'
alias log='cd /var/log'
alias etc='cd /etc'
alias etc2='cd /usr/local/etc'
alias sh='cd  /usr/home/sh'
alias ftpp='cd  /usr/home/ftp'
alias sa='cd  /mnt'
alias db='cd  /var/db/mysql'
alias rc='cd  /usr/local/etc/rc.d'

Алекс, 2018-07-25 в 11:56:38

alias lx='ls -lXB'              # сортировка по расширению
alias lk='ls -lSr'              # сортировка по размеру
alias lc='ls -lcr'              # сортировка по времени изменения
alias lu='ls -lur'              # сортировка по времени последнего обращения
alias lr='ls -lR'               # рекурсивный обход подкаталогов
alias lt='ls -ltr'              # сортировка по дате

Alekd, 2018-07-25 в 15:24:39

https://www.opennet.ru/docs/RUS/bash_scripting_guide/a15124.html

как визивать

function ll(){ ls -l "$@"| egrep "^d" ; ls -lXB "$@" 2>&-| egrep -v "^d|total "; }

Alekd, 2018-07-25 в 16:02:22

Создаем файл  /etc/.inputrc у нужного пользователя командой touch
# touch /root/.inputrc
и добавляем в него  2 строчки
"\e[A": history-search-backward
"\e[B": history-search-forward
  Для чего это сделано: если вы помните начало предыдущих команд, вводите несколько символов, а потом стрелками верх-вниз выбираете - офигенно удобно.
Ну вот теперь стало намного удобнее работать.

Alexs, 2018-07-25 в 21:34:15

alias moscow='curl -4 wttr.in/Moscow'

)) погода

александр, 2019-03-15 в 22:53:11

alias engl='/root/engll.sh'

 echo " ===== Словник английська мова  ======== " ;
#  echo "  ";
#+    filename=/root/man/engl.txt  ;


rrrr=$(jot -r 1 1 4081)

# echo "-  -  -";
rrr=$rrrr
rrr1=$((rrr+1))
rrr2=$((rrr+2))
rrr3=$((rrr+3))
rrr4=$((rrr+4))
sed -n  $rrr"p"  < /root/man/engl.txt
sed -n  $rrr1"p"  < /root/man/engl.txt
sed -n  $rrr2"p"  < /root/man/engl.txt
sed -n  $rrr3"p"  < /root/man/engl.txt
sed -n  $rrr4"p"  < /root/man/engl.txt
 echo "======  Технічних  СКОРОЧЕНЬ  ===========";
# englteh.txt
rrrr=$(jot -r 1 1 1045)
rrr=$rrrr
rrr1=$((rrr+1))
rrr2=$((rrr+2))
rrr3=$((rrr+3))
rrr4=$((rrr+4))
sed -n  $rrr"p"  < /root/man/englteh.txt
sed -n  $rrr1"p"  < /root/man/englteh.txt
sed -n  $rrr2"p"  < /root/man/englteh.txt
sed -n  $rrr3"p"  < /root/man/englteh.txt


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 8 чел.
За последние 30 мин было: 35 человек
За сегодня было
8458 показов,
972 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0617 секунд
Из них PHP: 18%; SQL: 82%; Число SQL-запросов: 86 шт.
Исходный размер: 151116; Сжатая: 26662