Multimédia
- sox: o canivete suíço de processamento de som. Desde conversões de formatos a manipulação de efeitos, quase tudo é possível, da linha de comando.
- mplayer/mencoder: o
mplayer
é mais que um video player da linha de comando (até porque também funciona como audio player). Além de aguentar com praticamente qualquer formato conhecido, também permite fazer processamento e conversões. Omencoder
cria, ou converte, formatos de vídeo e som.mplayer -ao null FILE
para ver sem som, oumplayer -vo null FILE
para ouvir sem imagem, devem ser os comandos multimédia que mais uso. - ffmpeg: outro excelente processador / conversor / etc multimédia.
Sistemas, misto
- ddrescue: excelente ferramenta para tentar recuperar dados em drives que estão no processo de entrega de alma ao criador. O
ddrescue
não aborta a leitura em falhas de hardware e, através da manutenção de um ficheiro de log, permite várias passagens de leitura da drive, gravando apenas os blocos não lidos nas passagens anteriores. - htop: aquilo que o
top
devia ter sido :) - xtail: um
tail
que funciona em directorias, monitorizando todos os ficheiros lá existentes e novos que entretanto lá sejam criados. Não há que saber:xtail /var/log
control- para sair, control-c dá o status. buffer
, mbuffer: o comandobuffer
implementa um buffer ao nível da shell. O racional é simples: um processo produtor de dados, um processo consumidor de dados, um deles é mais lento que o outro e sofre uma enorme penalização de performance quando resume um bloqueio. Põe-se obuffer
no meio e já está :) Ombuffer
implementa o mesmo conceito com mais algumas funcionalidades interessantes.rename: às vezes as ideias simples são as mais interessantes.
rename FROM TO files...
renomeia os ficheiros substituindoFROM
porTO
no seu nome, em que ambos são strings banais (nada de expressões regulares). Por incrível que pareça a esmagadora maioria de renames que faço encaixam neste modelo:# xxx.jpeg => xxx.jpg rename .jpeg .jpg *.jpeg # t1.txt t2.txt ... t500.txt => t_001.txt t_002.txt ... t_500.txt rename t t_00 t?.txt rename t t_0 t??.txt rename t t_ t???.txt # t_001.txt t_002.txt ... t_500.txt => t1.txt t2.txt ... t500.txt rename t_00 t t_00?.txt rename t_0 t t_0??.txt rename t_ t t_???.txt
star: não sei ao certo o que significa o s antes do tar, provavelmente será s de Schilling, o nome do autor da ferramenta, que também tem outros utilitários começados por s. Independentemente disso, para mim o s é de super, isto é um super tar. Funciona como
tar
,cpio
oupax
e suporta as N variantes de formatos de arquivamento desenvolvidos ao longo da história do Unix. Tem opções de buffering builtin, lê listas de ficheiros a partir do stdin (não maistar -cf foo.tar `find . expr`
), correcto na preservação de todos os atributos dos ficheiros, usa expressõesfind
builtin, detecta compressão automaticamente, por aí fora.
Documentação
- pandoc: é o canivete suíço da documentação em texto com markup. À data a que escrevo isto, a versão 1.12.0.2 lê de 15 formatos diferentes e escreve para 35. Escrito em
haskell
, é bastante rápido. - asciidoc: formato de texto com markup para efeitos de documentação. A vantagem deste é ser bastante mais rico que as comuns alternativas (rst, markdown). A quantidade de features permite escrever um livro de alta qualidade tipográfica. Na verdade existem alguns livros em
asciidoc
. - Sphinx: um processador de reStructuredText (rst). Tem múltiplos formatos de saída (HTML, Latex, texto simples, entre outras), funcionalidades específicas para documentar código e uma integração especial para
python
já que foi criado como ferramenta de documentação oficial do projecto. - Docutils: outro processador de
reStructuredText
. - aspell: uma ferramenta da linha de comando para corrigir erros de escrita (validação simples contra dicionário). Útil para desenrascar.
XML
- XMLStarlet: processador de xml da linha de comando. Validações, queries
xpath
, transformaçõesxslt
, até reformatação, está lá tudo. Útil para pequenos scripts e verificações rápidas. Dica:xml fo <file>
para reformar xml. - jing-trang:
jing
valida xml contra schemas RELAX NG,trang
converte entre schemas. Bastante útil… quando é preciso. :)
Outros
- gestão de versões:
- svn: depois de ter morto o CVS, o subversion tornou-se no sistema de controlo de versões de facto… com repositório central. Continua a ser um bom sistema, provavelmente o mais usado, mas os novos DCVS têm-lhe diminuído a base de utilizadores.
- git: um sistema de controlo de versões distribuído: cada checkout está associado a um repositório local. Desenvolvido inicialmente pelo Linus Torvalds, popularizou-se brutalmente com a sua adopção pelo github.
- hg: como o
git
só que mais elegante e compreensível. :)
dirdiff: uma ferramenta gráfica de comparação de várias directorias, com capacidades de merging, cópia ou remoção de ficheiros. É um software antigo, em tcl/tk, ainda bastante útil. Depois de se apanhar o truque para editar os merges torna-se numa das ferramentas mais potentes para o efeito. Mas admito que o sistema escolhido seja um bocado confuso inicialmente.
nvi: o vi original há muito que passou a constar apenas nas tapes de arquivo dos sistemas BSD originais. Keith Bostic reimplementou-o como
nvi
(new vi), mantendo compatibilidade total face ao original com umas poucas funcionalidades extra de conveniência. Onvi
manteve o espírito e tradição do antigovi
, é rápido, correcto (não tem bugs), consome poucos recursos, corre bem as minhas macros – deixando teclas livres para o fazer! – e faz bem o que deve fazer: editar texto. Totalmente a antítese dovim
, mas isso são outras histórias.VirtualBox: um bom sistema de virtualização, relativamente rápido, é excelente para uso pessoal ou pequenas equipas. 100% manipulável da linha de comando:
vboxheadless -s vmname
para arrancar,vboxmanage ...
para todas as restantes tarefas.make
: é mais que uma ferramenta de construção de projectos – que aos poucos vai sendo substituído por ferramentas mais modernas e especializadas no domínio respectivo –, para mim funciona com um repositório de pequenas tarefas necessárias num contexto (ver: como são feitos estes artigos).units: um programa de linha de comando com uma enorme base de dados de unidades científicas e alguma inteligência associada na conversão.
# quantas milhas por galão correspondem 6 litros aos 100 km # notar que o programa detectou a inversão das grandezas (reciprocal conversion) units 6l/100km miles/gallon reciprocal conversion * 39.202431 / 0.025508622
Sem comentários:
Enviar um comentário