Você também boceja quando lê aquelas chatíssimas man pages? Milhares de opções, explicações confusas, textos em inglês, formatação arcaica, chato, chato, chato.
Que tal uma versão rápida, resumida, com tabelas que listam somente as opções mais utilizadas dos comandos mais utilizados?
Esta é a miniman, a sua "mini man page", para aqueles momentos de pressa em que você precisa lembrar daquela opção mágica daquele comandinho safado.
 |
Estas tabelas fazem parte do meu livro Shell Script Profissional, estão no Apêndice D — Caixa de ferramentas (páginas 425 a 456). O livro é um estudo aprofundado do Shell e suas ferramentas. Fiz questão de escrevê-lo numa linguagem direta, clara e didática, para ser BEM DIFERENTE dos textos chatos das man pages! :) |
Veja também: Canivete Suíço do Shell
Quer sugerir outras opções ou comandos novos? Fala que eu te escuto
cat
| Opção |
Lembrete |
Descrição |
| -n |
Number |
Numera as linhas (Formato: Espaços, Número, TAB, Linha) |
| -s |
Squeeze |
Remove as linhas em branco excedentes |
cut
| Opção |
Lembrete |
Descrição |
| -d |
Delimiter |
Escolhe o delimitador (o padrão é o TAB) |
| -f |
Field |
Mostra estes campos (veja tabela seguinte) |
| -c |
Chars |
Mostra estes caracteres (veja tabela seguinte) |
| -f e -c |
Abrange |
Significa |
| 2,5 |
2 5 |
O segundo e o quinto |
| 2-5 |
2 3 4 5 |
Do segundo ao quinto |
| 2- |
2 3 4 5 … |
Do segundo em diante |
| -5 |
1 2 3 4 5 |
Até o quinto |
| 2,5- |
2 5 6 7 … |
O segundo e do quinto em diante |
| 2,3,5-8 |
2 3 5 6 7 8 |
O segundo, o terceiro e do quinto ao oitavo |
date
| Opção |
Lembrete |
Descrição |
| -d |
Date |
Especifica a data (Ex.: tomorrow, 2 days ago, 5 weeks) |
| +%? |
|
Formato da data – veja tabela seguinte (Ex.: %Y-%m-%d) |
| Formato |
Descrição do caractere de formatação |
| %a |
Nome do dia da semana abreviado (Dom..Sáb) |
| %A |
Nome do dia da semana (Domingo..Sábado) |
| %b |
Nome do mês abreviado (Jan..Dez) |
| %B |
Nome do mês (Janeiro..Dezembro) |
| %c |
Data completa (Sat Nov 04 12:02:33 EST 1989) |
| %y |
Ano (dois dígitos) |
| %Y |
Ano (quatro dígitos) |
| %m |
Mês (01..12) |
| %d |
Dia (01..31) |
| %j |
Dia do ano (001..366) |
| %H |
Horas (00..23) |
| %M |
Minutos (00..59) |
| %S |
Segundos (00..60) |
| %s |
Segundos desde 1º de Janeiro de 1970 |
| %% |
Um % literal |
| %t |
Um TAB |
| %n |
Uma quebra de linha |
diff
| Opção |
Lembrete |
Descrição |
| -u |
Unified |
Formato unificado (com contexto e os sinais de + e -) |
| -C |
Context |
Indica a quantidade de linhas usadas para o contexto |
| -r |
Recusive |
Varre todo o diretório |
| -N |
New file |
Considera arquivos não-encontrados como vazios |
| -i |
Ignore case |
Ignora a diferença entre maiúsculas e minúsculas |
| -w |
White space |
Ignora a diferença de linhas e espaços em branco |
echo
| Opção |
Lembrete |
Descrição |
| -n |
Newline |
Não quebra a linha no final |
| -e |
Escape |
Interpreta os escapes especiais (ver tabela seguinte) |
| Escape |
Lembrete |
Descrição |
| \a |
Alert |
Alerta (bipe) |
| \b |
Backspace |
Caractere Backspace |
| \c |
EOS |
Termina a string |
| \e |
Escape |
Caractere Esc |
| \f |
Form feed |
Alimentação |
| \n |
Newline |
Linha nova |
| \r |
Return |
Retorno de carro |
| \t |
Tab |
Tabulação horizontal |
| \v |
Vtab |
Tabulação vertical |
| \\ |
Backslash |
Barra invertida \ literal |
| \nnn |
Octal |
Caractere cujo octal é nnn |
| \xnn |
Hexa |
Caractere cujo hexadecimal é nn |
find
| Opção |
Descrição |
| -name |
Especifica o nome do arquivo (ou *parte* dele) |
| -iname |
Ignora a diferença entre maiúsculas e minúsculas no nome |
| -type |
Especifica o tipo do arquivo (f=arquivo, d=diretório, l=link) |
| -mtime |
Mostra os arquivos modificados há N dias |
| -size |
Mostra os arquivos que possuem o tamanho especificado |
| -user |
Mostra os arquivos de um usuário específico |
| -ls |
Mostra os arquivos no mesmo formato do comando ls |
| -printf |
Formatação avançada para mostrar os nomes dos arquivos |
| -exec |
Executa um comando com os arquivos encontrados |
| -ok |
Executa um comando com os arquivos encontrados, com confirmação |
| -and, -or |
E, OU lógico para as condições |
| -not |
Inverte a lógica da expressão |
| Detalhes das opções -exec e -ok |
| A string {} representa o nome do arquivo encontrado |
| O comando deve ser passado sem aspas |
| O comando deve ser terminado por um ponto-e-vírgula escapado \; |
| Tem que ter um espaço antes do ponto-e-vírgula escapado |
| Mover os arquivos .txt para .txt.old: find . -name '*.txt' -exec mv {} {}.old \; |
fmt
| Opção |
Lembrete |
Descrição |
| -w |
Width |
Define o número máximo de colunas (o padrão é 75) |
| -u |
Uniform |
Remove espaços excedentes |
grep
| Opção |
Lembrete |
Descrição |
| -i |
Ignore case |
Ignora a diferença entre maiúsculas e minúsculas |
| -v |
Invert |
Mostra as linhas que não casam com o padrão |
| -r |
Recursive |
Varre subdiretórios também |
| -q |
Quiet |
Não mostra as linhas que encontrar (usar com o test) |
| -s |
Silent |
Não mostra os erros (usar com o test) |
| -n |
Number |
Mostra também o número da linha |
| -c |
Count |
Conta o número de linhas encontradas |
| -l |
Filename |
Mostra apenas o nome o arquivo que casou |
| -w |
Word |
O padrão é uma palavra inteira, e não parte dela |
| -x |
Full line |
O padrão é uma linha inteira, e não parte dela |
| -A |
After |
Mostre N linhas de contexto depois do padrão |
| -B |
Before |
Mostre N linhas de contexto antes do padrão |
| -C |
Context |
Mostre N linhas de contexto antes e depois do padrão |
| As identidades do grep |
| grep |
Procura por uma expressão regular básica |
| egrep ou grep -E |
Procura por uma expressão regular estendida |
| fgrep ou grep -F |
Procura por uma string |
| Metacaracteres |
| Expressão regular básica |
^ $ . * [ \? \+ \| \( \) \{ \} |
| Expressão regular estendida |
^ $ . * [ ? + | ( ) { } |
head
| Opção |
Lembrete |
Descrição |
| -n |
Lines |
Mostra as N primeiras linhas (o padrão é 10) |
| -c |
Char |
Mostra os N primeiros caracteres (incluindo \n) |
od
| Opção |
Lembrete |
Descrição |
| -a |
Name |
Mostra os nomes dos caracteres |
| -c |
ASCII |
Mostra os caracteres ASCII |
| -o |
Octal |
Mostra os códigos em octal |
| -x |
Hexa |
Mostra os códigos em hexadecimal |
paste
| Opção |
Lembrete |
Descrição |
| -d |
Delimiter |
Escolhe o delimitador (o padrão é o TAB) |
| -s |
Serial |
Transforma todas as linhas em apenas uma |
printf
| Formato |
Lembrete |
Descrição |
| %d |
Decimal |
Número decimal |
| %o |
Octal |
Número octal |
| %x |
Hexa |
Número hexadecimal (a-f) |
| %X |
Hexa |
Número hexadecimal (A-F) |
| %f |
Float |
Número com ponto flutuante |
| %e |
|
Número em notação científica (e+1) |
| %E |
|
Número em notação científica (E+1) |
| %s |
String |
String |
sed
| Opção |
Lembrete |
Descrição |
| -n |
Not print |
Só mostra a linha caso usado o comando p |
| -e |
Expression |
Especifica os comandos de edição |
| -f |
File |
Lê os comandos de edição de um arquivo |
| Comando |
Lembrete |
Ação |
| s/// |
Substitute |
Troca um texto por outro |
| p |
Print |
Mostra a linha na saída |
| l |
List |
Mostra a linha na saída, com \t, \a, … |
| d |
Delete |
Apaga a linha |
| q |
Quit |
Sai do sed |
| r |
Read |
Lê o conteúdo de um arquivo |
| N |
Next line |
Junta a próxima linha com a atual |
| Endereço |
Abrange… |
| 1 |
A primeira linha |
| 1,5 |
Da primeira linha até a quinta |
| 5,$ |
Da quinta linha até a última |
| /sed/ |
A(s) linha(s) que contém a palavra “sed” |
| 5,/sed/ |
Da quinta linha até a linha que contém “sed” |
| /sed/,/grep/ |
Da linha que contém “sed” até a que contém “grep” |
| 1,5! |
Todas as linhas, exceto da primeira a quinta |
| /sed/! |
A(s) linha(s) que não contém a palavra “sed” |
| s/// |
Exemplo |
Descrição |
| g |
s/a/b/g |
Modificador Global, para trocar todas as ocorrências |
| p |
s/a/b/gp |
Modificador Print, para mostrar o texto substituído |
| & |
s/./& / |
Expande para todo o trecho casado na primeira parte |
| \1 |
s/\(.\)/\1 / |
Expande para o conteúdo do primeiro grupo marcado com \(…\) |
seq
| Opção |
Lembrete |
Descrição |
| -s |
Separator |
Define o separador (o padrão é \n) |
| -f |
Format |
Define o formato do número (o padrão é %g) |
sort
| Opção |
Lembrete |
Descrição |
| -n |
Numeric |
Ordena numericamente (o padrão é alfabeticamente) |
| -r |
Reverse |
Reverte a ordenação (de Z para A, de 9 para 0) |
| -f |
Ignore case |
Ignora a diferença entre maiúsculas e minúsculas |
| -k |
Key |
Ordena pela coluna N (a primeira é 1) |
| -t |
Separator |
Escolhe o separador para o -k (o padrão é o TAB) |
| -o |
Output |
Grava a saída no arquivo especificado |
tail
| Opção |
Lembrete |
Descrição |
| -n |
Lines |
Mostra as N últimas linhas (o padrão é 10) |
| -c |
Char |
Mostra os N últimos caracteres (incluindo \n) |
| -f |
Follow |
Monitora o arquivo ad infinitum |
tee
| Opção |
Lembrete |
Descrição |
| -a |
Append |
Anexa ao final do arquivo (o padrão é sobrescrever) |
tr
| Opção |
Lembrete |
Descrição |
| -s |
Squeeze |
Espreme caracteres iguais consecutivos para apenas um |
| -d |
Delete |
Apaga todos os caracteres listados |
| -c |
Complement |
Inverte a lista de caracteres (-c 0-9 é similar a [^0-9]) |
| Argumento |
Engloba |
| abc |
“a” e “b” e “c” |
| a7z |
“a” e “7” e “z” |
| a-z |
de “a” até “z” |
| 0-7 |
de zero a sete |
uniq
| Opção |
Lembrete |
Descrição |
| -i |
Ignore case |
Ignora a diferença entre maiúsculas e minúsculas |
| -d |
Duplicate |
Mostra apenas as linhas que são repetidas |
| -u |
Unique |
Mostra apenas as linhas que não são repetidas |
wc
| Opção |
Lembrete |
Descrição |
| -c |
Char |
Conta o número de caracteres (bytes) |
| -w |
Word |
Conta o número de palavras |
| -l |
Line |
Conta o número de linhas |
| -L |
Longest |
Mostra o tamanho da linha mais comprida |
xargs
| Opção |
Lembrete |
Descrição |
| -n |
Number |
Use N argumentos por linha de comando |
| -i |
Replace |
Troca a string {} pelo argumento da vez |
miniman em PDF
Gostou do miniman?
Que tal imprimi-lo para ter sempre à mão nos momentos de dúvida?
Versão PDF:
- São quatro colunas dentro de uma única página (A4).
- Você pode deixar sobre a mesa ou colar na parede.
- Você pode dobrar fazendo um folheto pequeno e prático de carregar.
- Você pode consultar o arquivo no seu smartphone, PDA, netbook…
- Consulta rápida: comandos em destaque (tarjas pretas) e em ordem alfabética.
- Personalizado: eu coloco seu nome no rodapé, gero o PDF e envio para o seu email.
Como comprar:
- O arquivo PDF custa apenas R$ 5,00.
- Ele é enviado para o seu email logo após o pagamento.
(exceto finais de semana, pois o envio é manual)
- Clique aqui para comprar (PagSeguro)
- É rápido e fácil, aceita pagamento online, cartões de crédito e boleto.
- Se preferir, você também pode pagar pelo PayPal.
ATENÇÃO: Estarei viajando entre os dias 18/12/2009 e 05/01/2010. Se você comprar o PDF neste período, só poderei enviá-lo no dia 06/01/2010.
Muito obrigado ♥
- Comprando este PDF você também me ajuda a manter este site no ar.
Depoimentos
- Ótima iniciativa Aurélio! O Shell não é exatamente complicado, mas é muito comando mesmo. Uma miniman assim faz MUITA falta. É muito comum eu ficar escrevendo os parâmetros num papel enquanto leio a man com um pequeno resumo deles. Chega num ponto que tu não lembra mais o que o -a faz quando tá no -x.
-
— Bruno Merino-Bailón
- O miniman é muito bom mesmo. Economiza o que temos de mais precioso que é o nosso tempo. Valeu Aurélio!
-
— Marcelo Nomoto
- Recebi o miniman enviado pelo Aurélio, quero compartilhar com todos a felicidade de ter disponível uma ferramenta como esta! É conciso porém claro e explicativo, as principais opções das principais ferramentas shell apresentadas juntas, poupando-nos o trabalho (muitas vezes cansativo) de ficar por aí caçando um exemplo de aplicação. Já está impresso, dentro de uma pasta que levo pra cima e pra baixo, e outra cópia vai ficar do ladinho do pc!
-
— Claudinei
- Pô, 5 pilas tá de graça!!!
-
— LES
- Recebi o miniman e é simplesmente maravilhoso, ótimo para consultas principalmente quando precisa rápido da informação e não quer perder tempo procurando no man ou na internet. Vale a pena ótimo material para consultas.
-
— Sandro M. Silva
- Recebi o miniman hoje de tarde, ele vai me economizar um tempão de alternância entre o editor de textos e as manpages quando estiver fazendo um script ou trabalhando no shell. Para quem usa o shell diariamente, digo que vale mais que os cinco mangos.
-
— Guilherme Gall
- Já tá aqui impresso num lugar bem acessível. Obrigado pela iniciativa, vai me ajudar muito. Recomendo fortemente.
-
— Fabricio B. Ferreira
- É simples, prático e direto. Resume bem os comandos utilizados pelo sysadmin no nosso shell de cada dia.
-
— Flamarion Jorge
- Esse miniman era tudo o que faltava para o shell se tornar 100% prático. Ficar usando --help e lendo man pages o tempo todo, por mais que seja um aprendizado, é muito frustrante quando você só quer fazer um script rápido pra processar alguns arquivos ou ajeitar alguns textos.
-
— Piteco
- Transformei o miniman no wallpaper do meu pc, agora tenho agilidade pra achar as coisas os detalhes mais comuns dos principais comandos. Valeu mesmo.
-
— Jeferson A. dos Santos
- Muito bom esse miniman, já está colado em minha mesa de trabalho.
-
— Rodrigo Felix
- Dê sua opinião
-
Aprenda mais sobre Shell Script