O poder da combinação xargs, cut, tail, grep, seq
me surpreende. Que recurso devo procurar para obter um tutorial sobre os comandos linux mais úteis para programadores?
Estou interessado apenas nos que os programadores usam com mais frequência, que facilitarão minha vida.
command-line
wonk wonk
fonte
fonte
Respostas:
A melhor coisa que você pode fazer para aprender isso é encontrar problemas e resolvê-los. Acesse este site, veja todas as "Como faço para X no awk / sed / grep / etc." e tente você mesmo antes de olhar para as respostas. Veja se você fica preso ou para ver como os outros fizeram isso depois de encontrar uma maneira. Se você se encontra fazendo algo repetitivo no terminal, pare e pense em como você pode usar um ou mais utilitários para facilitar. Se você não encontrar uma maneira de fazer isso, poste aqui e nós o guiaremos.
fonte
seq
,head
, etail
(pelo menos as partes mais vulgarmente utilizados) são relativamente triviais. Sugiro que você comecegrep
a se familiarizar com a metade pesquisada das expressões regulares esed
(em paralelo, mas um pouco atrasadogrep
) a obter a metade substituta (salve ossed
comandos mais avançados para mais tarde),awk
porque é uma ferramenta bastante poderosa. Entãofind
entãoxargs
.O ambiente de programação Unix de Kernighan e Pike é o clássico sobre o assunto. É antigo, mas ainda está impresso, o que deve lhe dizer uma coisa.
A arte da programação UNIX da esr é muito mais recente. Achei interessante e útil, mas com um pouco mais de "advocacy" do que achei necessário. (Eufemismo por "partidarismo espumante".) Esteja preparado para fazer comparações com outros sistemas operacionais com um pouco de sal, como me lembro de encontrar material desatualizado [1] mesmo quando o livro era novo, e os concorrentes * ix têm quase uma década de progresso desde aquela época.
[1] Lembro-me principalmente de fraquezas em sistemas operacionais não * * ix que foram eliminados antes da publicação do livro. O mesmo tipo de coisa que você encontra nos argumentos amadores do Windows x Mac x Linux em toda a rede.
fonte
Siga o plano de um dia. Comece listando tudo
/sbin
. Em seguida, execute um comando por dia, digiteman command
e descubra o que ele faz. Os comandos essenciais do núcleo são todos em/sbin
. Depois disso, vá para o trabalho/bin
e, quando terminar, vá para o trabalho/usr/sbin
e/usr/bin
. Você pode encurtar sua lista de comandos pulando qualquer um com mais de 5 letras no nome do comando e não perderá muitas coisas importantes.Mas o importante é que você aprenda algo novo todos os dias e, provavelmente, antes da metade do caminho, você entenderá tanto o básico, que poderá facilmente captar meia dúzia de novos comandos por dia.
Mas você precisa usá-los, todos e cada um deles, mesmo que seja apenas para mexer e fazer exercícios com eles.
fonte
/sbin
, dado o "para programadores" no título da pergunta. Em muitos sistemas,/sbin
e/usr/sbin
estão no padrãoPATH
apenas para raiz. Eu acho que você pode estar certo em vê-los como comandos "principais" no sentido de que eles são partes essenciais do sistema operacional, mas não são ferramentas que você usa tanto na programação quanto na administração do sistema.Uma das maneiras é começar a ler alguns blogs especializados em Unix / Linux.
Este blog thegeekstuff onde eu escrevo ocasionalmente, faz parte de um bom lugar para começar com ... Alguns artigos importantes que você pode estar interessado em são:
Onde há uma série de tutoriais sobre
sed
eawk
espero que seja útil para você ...fonte
Para o Bash, consulte tldp.org/LDP/abs/html/
fonte
Os programadores têm uma oportunidade única de dominar o Linux. Toda chance que tiver, em vez de escrever um programa para realizar uma tarefa, escreva um script de shell para fazê-lo.
Na verdade, tenho um desafio pessoal permanente de escrever tudo no Bash antes de escrever um programa - você ficaria surpreso e perturbado.
No que diz respeito a uma recomendação para um livro, pode parecer bobagem, mas o Linux Pocket Guide tem um lugar de honra na minha estante. É compacto e possui muitos programas úteis para Linux. Folhear é fácil e é uma ótima referência.
fonte
O Unix Power Tools é muito interessante para aprender alguns truques.
fonte
Vou sugerir que você se familiarize com estes: awk1line.txt e sed1line.txt .
fonte
fornece uma grande lista de comandos úteis, agrupados por contexto.
Você pode usar isso como um guia e aprender um comando por dia e, claro, como um repositório para pesquisar.
fonte
Eu adicionaria a linha de comando Linux® e a Bíblia de scripts de shell de Richard Blum . É fácil de entender, prático e cheio de muitos exemplos úteis.
fonte