O poder da
linha de comando
Aurelio Jargas
http://aurelio.net
@oreio
Slide 2
Slide 2 text
Dominação mundial, sem pressa
1970 — AT&T Unix
1991 — Linux
2001 — Mac OS X
2016 — Windows 10
Slide 3
Slide 3 text
Feito para power users
Modern computing environments tend to favor
form over function: the primary objective in
their design is ease of use for non-experts.
Unix is a naked celebration of function over form.
The premium is on control, efficiency and flexibility.
Its audience is the power user.
— Survival guide for Unix newbies
Slide 4
Slide 4 text
A Filosofia do Unix
“This is the Unix philosophy:
Write programs that do one thing and do it well.
Write programs to work together.
Write programs to handle text streams,
because that is a universal interface.”
— Doug McIlroy, inventou o pipe em 1970
Slide 5
Slide 5 text
KISS
Keep it simple, stupid
Slide 6
Slide 6 text
Pra quê?
Criar estrutura básica de pastas e arquivos do projeto
Edição em massa em vários arquivos
Renomear vários arquivos de uma vez
Extrair dados dos logs do Apache ou Nginx
Encontrar rapidamente um texto no projeto
Usar as diversas ferramentas já existentes
Automatizar tarefas repetitivas e manuais
Criar suas próprias ferramentas
Redirecionamento de entrada e saída
lessc source_file.less > compiled_file.css
jade --watch < index.jade > index.html
stylus --compress < source_file.scss > compiled_file.css
find projeto -name ".css" > lista.txt
find projeto -name ".js" >> lista.txt
Slide 16
Slide 16 text
Crie seus próprios comandos
alias readme='atom -n README.md'
alias limpa='rm -rf tmp/* cache/*'
alias gs='git status'
alias gl='git log -n 20 --oneline --reverse'
alias reset='git reset --hard HEAD'
alias u='uglifyjs --mangle --compress'
É sobre texto
“The shell is a string processing language.”
— Steve Bourne, criou o sh original em 1978
Slide 19
Slide 19 text
Brincando com textos
Slide 20
Slide 20 text
Lorem ipsum dolor sit amet, id
nonumes suscipiantur necessitatibus
mea. Ea rebum omnes usu. No mutat
ornatus impedit nec, nec cu bonorum
omnesque. Cetero reprimique no has,
pri dictas commune vituperata ea,
sumo omnium probatus per id. Eu
qui quidam eleifend, albucius
contentiones has cu. Quo te accusam
constituam. Vis ex aperiam recteque
hendrerit. Porro vivendo patrioque
cu sed. Nominavi iudicabit
periculis qui no, duo cu tempor
eirmod, ei sea suas iisque. Ne
primis similique ius. Duo posse
ubique mediocritatem ei. Harum
clita habemus ei ius, est at quando
possit. Ut nam veritus detracto
consequat. Qui facilisi adipisci
tincidunt ut, pro ad error commodo
Slide 21
Slide 21 text
Extrair linhas e colunas
Slide 22
Slide 22 text
head -n 4
sed 1,4d
Lorem ipsum dolor sit amet, id
nonumes suscipiantur necessitatibus
mea. Ea rebum omnes usu. No mutat
ornatus impedit nec, nec cu bonorum
omnesque. Cetero reprimique no has,
pri dictas commune vituperata ea,
sumo omnium probatus per id. Eu
qui quidam eleifend, albucius
contentiones has cu. Quo te accusam
constituam. Vis ex aperiam recteque
hendrerit. Porro vivendo patrioque
cu sed. Nominavi iudicabit
periculis qui no, duo cu tempor
eirmod, ei sea suas iisque. Ne
primis similique ius. Duo posse
ubique mediocritatem ei. Harum
clita habemus ei ius, est at quando
possit. Ut nam veritus detracto
consequat. Qui facilisi adipisci
tincidunt ut, pro ad error commodo
tail -n 4
grep vivendo
grep -v vivendo
sed -n 11p
sed 11d
Slide 23
Slide 23 text
Lorem ipsum dolor sit amet, id
nonumes suscipiantur necessitatibus
mea. Ea rebum omnes usu. No mutat
ornatus impedit nec, nec cu bonorum
omnesque. Cetero reprimique no has,
pri dictas commune vituperata ea,
sumo omnium probatus per id. Eu
qui quidam eleifend, albucius
contentiones has cu. Quo te accusam
constituam. Vis ex aperiam recteque
hendrerit. Porro vivendo patrioque
cu sed. Nominavi iudicabit
periculis qui no, duo cu tempor
eirmod, ei sea suas iisque. Ne
primis similique ius. Duo posse
ubique mediocritatem ei. Harum
clita habemus ei ius, est at quando
possit. Ut nam veritus detracto
consequat. Qui facilisi adipisci
tincidunt ut, pro ad error commodo
cut -c 11-20
cut -c 1,2,3,4,5
Slide 24
Slide 24 text
Modificar o texto
Slide 25
Slide 25 text
LOREM IPSUM DOLOR SIT AMET, ID
NONUMES SUSCIPIANTUR NECESSITATIBUS
MEA. EA REBUM OMNES USU. NO MUTAT
ORNATUS IMPEDIT NEC, NEC CU BONORUM
OMNESQUE. CETERO REPRIMIQUE NO HAS,
PRI DICTAS COMMUNE VITUPERATA EA,
SUMO OMNIUM PROBATUS PER ID. EU
QUI QUIDAM ELEIFEND, ALBUCIUS
CONTENTIONES HAS CU. QUO TE ACCUSAM
CONSTITUAM. VIS EX APERIAM RECTEQUE
HENDRERIT. PORRO VIVENDO PATRIOQUE
CU SED. NOMINAVI IUDICABIT
PERICULIS QUI NO, DUO CU TEMPOR
EIRMOD, EI SEA SUAS IISQUE. NE
PRIMIS SIMILIQUE IUS. DUO POSSE
UBIQUE MEDIOCRITATEM EI. HARUM
CLITA HABEMUS EI IUS, EST AT QUANDO
POSSIT. UT NAM VERITUS DETRACTO
CONSEQUAT. QUI FACILISI ADIPISCI
TINCIDUNT UT, PRO AD ERROR COMMODO
tr a-z A-Z
tincidunt ut, pro ad error commodo
consequat. Qui facilisi adipisci
possit. Ut nam veritus detracto
clita habemus ei ius, est at quando
ubique mediocritatem ei. Harum
primis similique ius. Duo posse
eirmod, ei sea suas iisque. Ne
periculis qui no, duo cu tempor
cu sed. Nominavi iudicabit
hendrerit. Porro vivendo patrioque
constituam. Vis ex aperiam recteque
contentiones has cu. Quo te accusam
qui quidam eleifend, albucius
sumo omnium probatus per id. Eu
pri dictas commune vituperata ea,
omnesque. Cetero reprimique no has,
ornatus impedit nec, nec cu bonorum
mea. Ea rebum omnes usu. No mutat
nonumes suscipiantur necessitatibus
Lorem ipsum dolor sit amet, id
tac
clita habemus ei ius, est at quando
consequat. Qui facilisi adipisci
constituam. Vis ex aperiam recteque
contentiones has cu. Quo te accusam
cu sed. Nominavi iudicabit
eirmod, ei sea suas iisque. Ne
hendrerit. Porro vivendo patrioque
Lorem ipsum dolor sit amet, id
mea. Ea rebum omnes usu. No mutat
nonumes suscipiantur necessitatibus
omnesque. Cetero reprimique no has,
ornatus impedit nec, nec cu bonorum
periculis qui no, duo cu tempor
possit. Ut nam veritus detracto
pri dictas commune vituperata ea,
primis similique ius. Duo posse
qui quidam eleifend, albucius
sumo omnium probatus per id. Eu
tincidunt ut, pro ad error commodo
ubique mediocritatem ei. Harum
sort -f
cat 1.txt 2.txt
Lorem ipsum dolor sit
amet, id nonumes susci
piant necessitati mea.
Ea rebum omnes usu. No
mutat ornatus impedit nec,
nec cu bonorum
omnesque. Cetero repri
no has, pri dictas com
mune vituperata ea, sumo
omnium probatus per id. Eu
qui quidam eleifend,
albucius contentiones
has cu. Quo te accusam
constituam. Vis ex aperi
Nominavi iudicabit peri
culis qui no, duo cu
tempor eirmod, ei sea suas
iisque. Ne primis
similique ius. Duo posse
ubique mediocritatem ei.
Harum clita habemus ei
ius, est at quando possi
Ut nam veritus detracto
consequat. Qui facilisi
adipisci tincidunt ut, pro
ad error commodo ex ius
putent epicurei, mea in.
Scripta legendos ius
Slide 35
Slide 35 text
paste 1.txt 2.txt 3.txt
Lorem ipsum dolor sit
amet, id nonumes susci
piant necessitati mea.
Ea rebum omnes usu. No
mutat ornatus impedit nec,
nec cu bonorum
omnesque. Cetero repri
no has, pri dictas com
mune vituperata ea, sumo
omnium probatus per id. Eu
qui quidam eleifend,
albucius contentiones
has cu. Quo te accusam
constituam. Vis ex aperi
Nominavi iudicabit peri
culis qui no, duo cu
tempor eirmod, ei sea suas
iisque. Ne primis
similique ius. Duo posse
ubique mediocritatem ei.
Harum clita habemus ei
ius, est at quando possi
Ut nam veritus detracto
consequat. Qui facilisi
adipisci tincidunt ut, pro
ad error commodo ex ius
putent epicurei, mea in.
Scripta legendos ius
Eu graeci molestiae per,
mel eu adipisci hendre
rit. Lorem veniam conven
ire mei ex, ius noster
apeirian reprehendunt
cu. At pro nisl iuvaret,
qui suas prodesset
rationibus cu. Ei quo elit
sensibus. Nec ex blandit
lucilius vituperata. Duo
ne prima mazim lobortis,
natum prodesset sea ea.
Est in zril offendit, vel
natum
Slide 36
Slide 36 text
Demo time!
Slide 37
Slide 37 text
Hora do sorteio :)
Slide 38
Slide 38 text
Comandos essenciais para lidar com textos
cat Mostra arquivo
cut Extrai campo ou coluna
echo Mostra texto
grep Encontra texto
head Mostra linhas iniciais
rev Inverte texto
sed Edita texto
seq Conta números
sort Ordena texto
tac Inverte arquivo
tail Mostra linhas finais
tr Transforma texto
uniq Remove linhas duplicadas
wc Conta letras, palavras, linhas