Во многих дистрибутивах 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 и 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
# 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. Часто используемые команды: