miniman

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! :)

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 Recursive 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 ^ $ . * [ ? + | ( ) { }
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
— EOF —

Aprenda mais sobre Shell Script