Muitas distribuições Linux utilizam o shell bash enquanto os BSDs utilizam o tcsh, o bourne shell é utilizado somente para scripts. Filtros são muito úteis e pode ser canalizados:
grep
Parametro de combinaçãosed
Busca e substitui strings ou caracterescut
Imprime colunas específicas a partir de um marcadorsort
Ordena alfabeticamente ou numericamenteuniq
Remove linhas duplicadas de um arquivo
Utilizados todos de uma so vez por exemplo:
# 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
O primeiro carácter no parâmetro do sed é uma guia. Para escrever uma guia no console, utilize ctrl-v ctrl-tab.
bash
Redireciona e canaliza para o bash e para o sh:
# cmd 1> file # Redireciona a saída padrão (stdout) para o arquivo. # cmd 2> file # Redireciona o erro padrão (stderr) para o arquivo. # cmd 1>> file # Redireciona e anexa saída padrão para o arquivo. # cmd &> file # Redireciona ambas (stdout e stderr) para o arquivo. # cmd >file 2>&1 # Redireciona erro padrão para saída padrão e depois para o arquivo. # cmd1 | cmd2 # canaliza saída padrão para cmd2 # cmd1 2>&1 | cmd2 # canaliza stdout e stderr para o cmd2
Modificar sua configuração em ~/.bashrc (pode ser também ~/.bash_profile). As seguintes entradas são uteis, recarrega com “. .bashrc”. Com o cygwin utilize ~/.bash_profile; com o rxvt cole com o shift + left-click.
# in .bashrc bind '"\e[A"':history-search-backward # Utiliza setas para cima e para baixo para busca bind '"\e[B"':history-search-forward # O history. Inastimável! set -o emacs # Define o modo emacs no (veja abaixo) set bell-style visible # Não bipa, inverte cores # Define um propt agradavel como [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\]"
# Para verificar os apelidos (aliases) ativos atualmente, simplesmente digite alias alias ls='ls -aF' # Anexa indicador (um de */=>@|) alias ll='ls -aFls' # Listar alias la='ls -all' alias ..='cd ..' alias ...='cd ../..' export HISTFILESIZE=5000 # History maior export CLICOLOR=1 # Utiliza cores (se possivel) export LSCOLORS=ExGxFxdxCxDxDxBxBxExEx
tcsh
Redirecionar e canlizar para o tcsh e o csh (simples > e >> são os mesmo que no sh):
# cmd >& file # Redireciona ambos os padrões (stdout e stderr) para o arquivo. # cmd >>& file # Uni ambos os padrões (stdout e stderr) para o arquivo. # cmd1 | cmd2 # canaliza a saída padrão para o cmd2 # cmd1 |& cmd2 # canaliza saída padrão e de erro para o to cmd2
As configurações para o csh/tcsh são definidas em ~/.cshrc
, recarregam com o “source .cshrc”. Exemplos:
# 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%/> " # como user@host/path/todir> set history = 5000 set savehist = ( 6000 merge ) set autolist # Reporta possíveis conclusões com tab set visiblebell # Não bipa, inverte cores
# Bindkey and colors bindkey -e Select Emacs bindings # Utiliza chaves do emacs para editar o prompt de comando bindkey -k up history-search-backward # Utilize cetas para cima e para baixo para busca bindkey -k down history-search-forward setenv CLICOLOR 1 # Utiliza cores (se possível) setenv LSCOLORS ExGxFxdxCxDxDxBxBxExEx
O modo do emacs habilita para uso das chaves de atalhos do emacs para modificar o prompt de linha de comando. Isso é extremamente útil (não somente para usuários do emacs). O comandos mais utilizados são:
- C-a Move o cursor para o inicio da linha
- C-e Move o cursor para o final da linha
- M-b Move o cursor uma palavra de volta
- M-f Move o cursor uma palavra a frente
- M-d Corta a próxima palavra
- C-w Corta a ultima palavra
- C-u Corta tudo antes do cursor
- C-k Corta tudo depois do cursor (o resto da linha)
- C-y Cola a ultima coisa cortada (simplesmente cola)
- C-_ Desfaz
Nota: C- = pressione control, M- = pressione meta (que geralmente é o alt ou a tecla escape).