Оболочки
Во многих дистрибутивах Linux, в качестве системной оболочки, используется bash, в BSD семействе, в основном tcsh, bourne shell используется только для скриптов.
Фильтры, весьма полезная штука при работе в системной оболочке, могут работать через конвейер "|":
- grep Совпадение с образцом
- sed Найти и заменить строки или символы
- cut Печать определенной колонки из совпадения
- sort Цифровая или алфавитная сортировка
- uniq Удалить из вывода(файла) дубликаты строк
# ifconfig | sed 's/ / /g' | cut -d" " -f1 | uniq | grep -E "[a-z0-9]+" | sort -r # ifconfig | sed '/.*inet addr:/!d;s///;s/ .*//'|sort -t. -k1,1n -k2,2n -k3,3n -k4,4nПервый символ в образце команды sed, табуляция, что-бы написать его в консоли, используйте ctrl-v ctrl-tab.
Системная оболочка bash
Перенаправления ввода/вывода и пайпы в bash и sh:# cmd 1> file # Пренаправить stdout (стандартный вывод) в файл. # cmd 2> file # Перенаправить stderr (стандартный вывод ошибок ) в файл. # cmd 1>> file # Перенаправить stdout и дописать его в файл. # cmd &> file # Перенаправить все stdout и stderr в файл. # cmd >file 2>&1 # Пренаправить stderr в stdout и потом в файл. # cmd1 | cmd2 # Пайп stdout на вход команды cmd2 # cmd1 2>&1 | cmd2 # Пайп stdout и stderr команде cmd2Настройка оболочки в файле конфигурации ~/.bashrc ( так-же может быть ~/.bash_profile ).
# in .bashrc bind '"\e[A"':history-search-backward # Использовать клавиши "вверх" и "вниз" для поиска. bind '"\e[B"':history-search-forward # История введенных команд set -o emacs # Установить emacs режим в bash (см. ниже) set bell-style visible # Не подавать звуковой сигна, инверировать цвета # Настройка приглашения строки [user@host]/path/todir> PS1="\[\033[1;30m\][\[\033[1;34m\]\u\[\033[1;30m\]" PS1="$PS1@\[\033[0;33m\]\h\[\033[1;30m\]]\[\033[0;37m\]" PS1="$PS1\w\[\033[1;30m\]>\[\033[0m\]"Что-бы посмотреть используемые псевдонимы(alias) команд, используйте команду alias
alias ls='ls -aF' # Добавить индикатор (один из */=>@|) alias ll='ls -aFls' # Лмстинг файлов и каталогов alias la='ls -all' alias ..='cd ..' alias ...='cd ../..' export HISTFILESIZE=5000 # Увеличить историю export CLICOLOR=1 # Использовать цвета (если возможно) export LSCOLORS=ExGxFxdxCxDxDxBxBxExEx
Системная оболочка tcsh
Перенаправления и пайпы для tcsh и csh (> и >> действуют как в sh):# cmd >& file # Перенаправить stdout и stderr в файл. # cmd >>& file # Добавить вывод stdout и stderr в конец файла. # cmd1 | cmd2 # Перенаправить stdout на вход cmd2 # cmd1 |& cmd2 # Перенаправить stdout и stderr на вход cmd2Настройка оболочки csh(tcsh), делается в файле ~/.cshrc, перезагрузить можно командой source .cshrc. Примеры:
# in .cshrc alias ls 'ls -aF' alias ll 'ls -aFls' alias la 'ls -all' alias .. 'cd ..' alias ... 'cd ../..' set prompt = "%B%n%b@%B%m%b%/> " # Приглашение командной строки: user@host/path/todir> set history = 5000 set savehist = ( 6000 merge ) set autolist # Список возможного дописывания команд по нажатию Tab set visiblebell # Не выдавать звуковой сигнал, инвертировать цветаЦепляем клавиши и цвета:
bindkey -e Select Emacs bindings # Использовать сочетания клавиш emacs для редактирования командной строки bindkey -k up history-search-backward # Использовать и для поиска bindkey -k down history-search-forward setenv CLICOLOR 1 # Использовать цвета (если возможно) setenv LSCOLORS ExGxFxdxCxDxDxBxBxExExРежим emacs, включает горячие клавиши в стиле emacs, для редактирования командной строки. Это очень удобно и не только для пользователей emacs. Часто используемые команды:
- C-a Переместить курсор в начало строки
- C-e Переместить курсор в конец строки
- M-b Переместить курсор на одно слово назад
- M-f Переместить курсор на одно слово вперед
- M-d Удалить слово слева
- C-w Удалить слово справа
- C-u Удалить все до курсора
- C-k Удалить все после курсора
- C-y Вставить в строку последнее вырезанное
- C-_ Назад