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.

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:

Como comprar:

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 ♥

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