Você está na página 1de 9

8.

Escapes especiais para usar no prompt (PS1)


Escape Lembrete \a \d \e \h \H \j \l \n \r \s \t \T \@ \A \u \v \V \w \W \! \# \$ \nnn \\ \[ \] Alerta Data Escape Hostname Hostname Jobs Tty Newline Return Shell Time Time At At Usurio Verso Verso Alerta (bipe) Data no formato "Dia-da-semana Ms Dia" (Sat Jan 15) Caractere Esc Nome da mquina sem o domnio (dhcp11) Nome completo da mquina (dhcp11.empresa) Nmero de jobs ativos Nome do terminal corrente (ttyp1) Linha nova Retorno de carro Nome do shell (basename $0) Horrio no formato 24 horas HH:MM:SS Horrio no formato 12 horas HH:MM:SS Horrio no formato 12 horas HH:MM am/pm Horrio no formato 24 horas HH:MM Login do usurio corrente Verso do Bash (2.00) Verso+subverso do Bash (2.00.0) Expande para...

Working Dir Diretrio corrente, caminho completo ($PWD) Working Dir Diretrio corrente, somente o ltimo (basename $PWD) Histrico Nmero ID Octal Backslash Escapes Escapes Nmero do comando corrente no histrico Nmero do comando corrente Mostra "#" se for root, "$" se for usurio normal Caractere cujo octal nnn Barra invertida \ literal Inicia uma seqncia de escapes (tipo cdigos de cores) Termina uma seqncia de escapes

9. Escapes reconhecidos pelo comando echo


Escape Lembrete \a \b \c \e \f Alerta EOS Escape Descrio Alerta (bipe) Termina a string Caractere Esc

Backspace Caractere Backspace

Form feed Alimentao

\n \r \t \v \\ \nnn \xnn

Newline Return Tab Vtab Octal Hexa

Linha nova Retorno de carro Tabulao horizontal Tabulao vertical Caractere cujo octal nnn Caractere cujo hexadecimal nn

Backslash Barra invertida \ literal

10. Formatadores do comando date


Formato %a %A %b %B %c %y %Y %m %d %j %H %M %S %s %% %t %n Descrio Nome do dia da semana abreviado (Dom..Sb) Nome do dia da semana (Domingo..Sbado) Nome do ms abreviado (Jan..Dez) Nome do ms (Janeiro..Dezembro) Data completa (Sat Nov 04 12:02:33 EST 1989) Ano (dois dgitos) Ano (quatro dgitos) Ms (01..12) Dia (01..31) Dia do ano (001..366) Horas (00..23) Minutos (00..59) Segundos (00..60) Segundos desde 1 de Janeiro de 1970 Um % literal Um TAB Uma quebra de linha

11. Formatadores do comando printf


Formato %d %o %x %X %f %e %E Descrio Nmero decimal Nmero octal Nmero hexadecimal (a-f) Nmero hexadecimal (A-F) Nmero com ponto flutuante Nmero em notao cientfica (e+1) Nmero em notao cientfica (E+1)

%s

String

12. Letras identificadoras de arquivos no comando ls -l


Letra Lembrete d l b c s p r w x X s S t T Link Block Char Socket Pipe Read Write Directory Diretrio Link simblico Dispositivo de blocos (HD) Dispositivo de caracteres (modem serial) Socket mapeado em arquivo (comunicao de processos) FIFO ou Named Pipe (comunicao de processos) Permisses do Arquivo (prximos nove caracteres) Permisso desativada Acesso de leitura Acesso de escrita Tipos de Arquivo (primeiro caractere) Arquivo normal

Letra Lembrete

eXecute Acesso de execuo (ou acesso ao diretrio) eXecute Acesso ao diretrio somente Set ID Set ID sTicky sTicky Usurio/grupo para execuo (SUID, SGID) - permisso 'x' ativada Usurio/grupo para execuo (SUID, SGID) - permisso 'x' desativada Usurios s apagam seus prprios arquivos - permisso 'x' ativada Usurios s apagam seus prprios arquivos - permisso 'x' desativada

13. Curingas para nomes de arquivo (glob)


Curinga * ? Qualquer coisa Um caractere qualquer Casa com... *.txt arquivo-??.zip [Aa]rquivo.txt [^A-Z]*.txt Exemplo

[...] Qualquer um dos caracteres listados [^...] Qualquer um caractere, exceto os listados

{...} Qualquer um dos textos separados por vrgula arquivo.{txt,html}

17. Cdigos de cores (ANSI)


Cor Preto Vermelho Verde Amarelo Letra 30 31 32 33 Fundo 40 41 42 43

Azul Rosa Ciano Branco Atributo Reset Negrito Sublinhado Piscando Reverso

34 35 36 37

44 45 46 47 Valor 0 1 4 5 7

Exemplos: ESC [ <N>;<N> m Texto normal (desliga cores) Negrito Amarelo Fundo azul, letra cinza Vermelho piscando ESC[m ESC[1m ESC[33;1m ESC[44;37m ESC[31;5m

Na linha de comando echo -e '\e[33;1m amarelo \e[m' echo -e '\033[33;1m amarelo \033[m'

18. Os metacaracteres das expresses regulares


Meta . [] ? * + ^ $ \b \ | () Nome Ponto Lista Opcional Asterisco Mais Circunflexo Cifro Borda Escape Ou Grupo Curinga de um caractere Casa qualquer um dos caracteres listados O item anterior pode aparecer ou no (opcional) O item anterior pode aparecer em qualquer quantidade O item anterior deve aparecer no mnimo uma vez O item anterior deve aparecer na quantidade indicada {mn,mx} Casa o comeo da linha Casa o fim da linha Limita uma palavra (letras, nmeros e sublinhado) Escapa um meta, tirando seu poder Indica alternativas (usar com o grupo) Agrupa partes da expresso, quantificvel e multinvel Descrio

[^] Lista negada Casa qualquer caractere, exceto os listados

{,} Chaves

\1 \2 .* ?? *?

Retrovisor Retrovisor Curinga

Recupera o contedo do grupo 1 Recupera o contedo do grupo 2 (segue at o \9) Casa qualquer coisa, o tudo e o nada

Opcional NG Idem ao opcional comum, mas casa o mnimo possvel Asterisco NG Idem ao asterisco comum, mas casa o mnimo possvel Idem ao mais comum, mas casa o mnimo possvel Idem s chaves comuns, mas casa o mnimo possvel

+? Mais NG {}? Chaves NG

19. Metacaracteres que so diferentes nos aplicativos


Programa Opc Mais Chaves Borda Ou Grupo awk ed egrep emacs expect find gawk grep mawk perl php python sed vim ? \? ? ? ? ? ? \? ? ? ? ? \? \= + \+ + + + + + \+ + + + + \+ \+ \{,\} {,} {,} \{,\} {,} {,} {,} \{,\} \{,} \b \b \b \b \<\> \b \b \b \b \<\> \<\> | \| | \| | \| | \| | | | | \| \| () \(\) () \(\) () \(\) () \(\) () () () () \(\) \(\)

20. Caracteres ASCII imprimveis (ISO-8859-1) - texto


$ zzascii 32 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' 40 ( 41 ) 42 * 43 + 44 , 45 46 . 47 / 48 0 49 1 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 @ A B C D E F G H I J K L M N O P Q 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 ` a b c d e f g h i j k l m n o p q 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243

50 51 52 53 54 55 56 57 58 59 60 61 62 63

2 3 4 5 6 7 8 9 : ; < = > ?

82 83 84 85 86 87 88 89 90 91 92 93 94 95

R S T U V W X Y Z [ \ ] ^ _

114 115 116 117 118 119 120 121 122 123 124 125 126 161

r s t u v w x y z { | } ~

180 181 182 183 184 185 186 187 188 189 190 191 192 193

212 213 214 215 216 217 218 219 220 221 222 223 224 225

244 245 246 247 248 249 250 251 252 253 254 255

21. Caracteres ASCII imprimveis (ISO-8859-1) - imagem

22. Cdigos prontos para copiar e colar


Condicionais com o IF if [ -f "$arquivo" ]; then echo 'Arquivo encontrado'; fi if [ ! -d "$dir" ]; then echo 'Diretrio no encontrado'; fi if [ $i -gt 5 ]; then echo 'Maior que 5'; else echo 'Menor que 5'; fi if [ $i -ge 5 -a $i -le 10 ]; then echo 'Entre 5 e 10, incluindo'; fi if [ $i -eq 5 ]; then echo '=5'; elif [ $i -gt 5 ]; then echo '>5'; else echo '<5'; fi if [ "$USER" = 'root' ]; then echo 'Oi root'; fi if grep -qs 'root' /etc/passwd; then echo 'Usurio encontrado'; fi Condicionais com o E (&&) e OU (||) [ -f "$arquivo" ] && echo 'Arquivo encontrado' [ -d "$dir" ] || echo 'Diretrio no encontrado' grep -qs 'root' /etc/passwd && echo 'Usurio encontrado' cd "$dir" && rm "$arquivo" && touch "$arquivo" && echo 'feito!' [ "$1" ] && param=$1 || param='valor padro' [ "$1" ] && param=${1:-valor padro} [ "$1" ] || { echo "Uso: $0 parmetro" ; exit 1 ; } Adicionar 1 varivel $i i=$(expr $i + 1) i=$((i+1)) let i=i+1

let i+=1 let i++ Loop de 1 10 for i in 1 2 3 4 5 6 7 8 9 10; do echo $i; done for i in $(seq 10); do echo $i; done for ((i=1;i<=10;i++)); do echo $i; done i=1 ; while [ $i -le 10 ]; do echo $i ; i=$((i+1)) ; done i=1 ; until [ $i -gt 10 ]; do echo $i ; i=$((i+1)) ; done Loop nas linhas de um arquivo ou sada de comando cat /etc/passwd | while read LINHA; do echo "$LINHA"; done grep 'root' /etc/passwd | while read LINHA; do echo "$LINHA"; done while read LINHA; do echo "$LINHA"; done < /etc/passwd while read LINHA; do echo "$LINHA"; done < <(grep 'root' /etc/passwd) Curingas nos itens do comando case case "$dir" in /home/*) echo 'dir dentro do /home';; esac case "$user" in root|joao|maria) echo "Oi $user";; *) echo "No te conheo";; esac case "$var" in ?) echo '1 letra';; ??) echo '2 letras';; ??*) echo 'mais de 2';; esac case "$i" in [0-9]) echo '1 dgito';; [0-9][0-9]) echo '2 dgitos';; esac Caixas do Dialog dialog --calendar 'abc' 0 0 31 12 1999 dialog --checklist 'abc' 0 0 0 item1 'desc1' on item2 'desc2' off dialog --fselect /tmp 0 0 (echo 50; sleep 2; echo 100) | dialog --gauge 'abc' 8 40 0 dialog --infobox 'abc' 0 0 dialog --inputbox 'abc' 0 0 dialog --passwordbox 'abc' 0 0 dialog --menu 'abc' 0 0 0 item1 'desc1' item2 'desc2' dialog --msgbox 'abc' 8 40 dialog --radiolist 'abc' 0 0 0 item1 'desc1' on item2 'desc2' off dialog --tailbox /tmp/arquivo.txt 0 0 dialog --textbox /tmp/arquivo.txt 0 0 dialog --timebox 'abc' 0 0 23 59 00 dialog --yesno 'abc' 0 0 Dica1: dialog ... && echo 'Apertou OK/Yes' || echo 'Apertou

Cancel/No' Dica2: resposta=$(dialog --stdout --TIPODACAIXA 'abc' ...)

23. Atalhos da linha de comando (set -o emacs)


Atalho Descrio Tecla Similar Home Delete End Backspace Tab Enter Ctrl+A Move o cursor para o incio da linha Ctrl+B Move o cursor uma posio esquerda Ctrl+C Envia sinal EOF() para o sistema Ctrl+D Apaga um caractere direita Ctrl+E Move o cursor para o fim da linha Ctrl+F Move o cursor uma posio direita Ctrl+H Apaga um caractere esquerda Ctrl+I Ctrl+J Completa arquivos e comandos Quebra a linha

Ctrl+K Recorta do cursor at o fim da linha Ctrl+L Limpa a tela (igual ao comando clear) Ctrl+N Prximo comando Ctrl+P Comando anterior Ctrl+Q Destrava a shell (veja Ctrl+S) Ctrl+R Procura no histrico de comandos Ctrl+S Trava a shell (veja Ctrl+Q) Ctrl+T Troca dois caracteres de lugar Ctrl+U Recorta a linha inteira Ctrl+V Insere caractere literal Ctrl+W Recorta a palavra esquerda Ctrl+X Move o cursor para o incio/fim da linha (2x) Home/End

Ctrl+Y Cola o trecho recortado

24. A caixa de ferramentas do shelleiro


Comando cat cut date diff echo find Funo Mostra arquivo Extrai campo Mostra data Compara arquivos Mostra texto Encontra arquivos -n, -s -d -f, -c -d, +'...' -u, -Nr, -i, -w -e, -n -name, -iname, -type f, -exec, -or Opes teis

fmt grep head od paste printf rev sed seq sort tac tail tee tr uniq wc xargs

Formata pargrafo Encontra texto Mostra incio Mostra caracteres Paraleliza arquivos Mostra texto Inverte texto Edita texto Conta nmeros Ordena texto Inverte arquivo Mostra final Arquiva fluxo Transforma texto Remove duplicatas Conta letras

-w, -u -i, -v, -r, -qs, -n, -l, -w -x, -A -B -C -n, -c -a, -c, -o, -x -d, -s nenhuma nenhuma -n, -f, s/isso/aquilo/, p, d, q, N -s, -f -n, -f, -r, -k -t, -o nenhuma -n, -c, -f -a -d, -s, A-Z a-z -i, -d, -u -c, -w, -l, -L

Gerencia argumentos -n, -i