Comandos do Linux e Unix: Sistema; Processos; Sistema de Arquivos; Rede; SSH SCP; VPN com SSH; RSYNC; SUDO; Arquivos Encriptados; Partições Encriptadas; Certificados SSL; CVS; SVN; Comando Úteis; Instalar Software; Converter Mídia; Impressão; Banco de Dados; Quota de Disco; Shells; Scripting; Programação

Comando Shells Linux

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ção
  • sed   Busca e substitui strings ou caracteres
  • cut   Imprime colunas específicas a partir de um marcador
  • sort   Ordena alfabeticamente ou numericamente
  • uniq   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).

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *