Dove posso padroneggiare i comandi Linux più utili per i programmatori? [chiuso]


14

Il potere di combinare xargs, cut, tail, grep, seqmi stupisce. Quale risorsa dovrei cercare per un tutorial sui comandi Linux più utili per i programmatori?

Sono interessato solo a quelli che i programmatori usano più frequentemente, il che mi semplificherà la vita.


Benvenuto in Stack Exchange. Abbiamo scoperto che chiedere un elenco di risorse raramente funziona nel nostro formato di domande e risposte . Si prega di leggere le domande reali avere risposte . Suggerisco di navigare nel sito (in particolare le domande nelle informazioni sui tag per shell , elaborazione del testo , sed e così via.
Gilles 'SO- smetti di essere malvagio'

Risposte:


12

La cosa migliore che puoi fare per imparare questo è trovare i problemi e risolverli. Vai su questo sito, guarda tutto "Come posso fare X in awk / sed / grep / etc." e provali tu stesso prima di guardare le risposte. Guarda se rimani bloccato o per vedere come hanno fatto gli altri una volta trovato il modo. Se ti ritrovi a fare qualcosa di ripetitivo nel terminale, fermati e pensa a come potresti usare una o più utility per renderlo più semplice. Se non riesci a trovare un modo per farlo, pubblica qui e ti guideremo.


Sidenote: seq, heade tail(almeno per le parti più comunemente utilizzati) sono abbastanza banale. Ti suggerisco di iniziare a guardare grepper metterti comodo con la ricerca della metà delle espressioni regolari e sed(in parallelo ma un po 'indietro grep) per ottenere la metà di sostituzione (salva i sedcomandi più avanzati per dopo), quindi awkperché è uno strumento abbastanza potente. Quindi findallora xargs.
Kevin

9

L'ambiente di programmazione Unix di Kernighan e Pike è il classico sull'argomento. È antico ma ancora in stampa, che dovrebbe dirti qualcosa.

L'arte della programmazione UNIX di esr è molto più recente. L'ho trovato interessante e utile, ma con un po 'più di "difesa" di quanto ritenessi necessario. (Eufemismo per "schiumare partigianeria"). Preparati a portare i suoi confronti con altri sistemi operativi con un granello di sale, mentre ricordo di aver trovato materiale obsoleto [1] anche quando il libro era nuovo, e i concorrenti * ix hanno quasi un decennio di progressi da quel momento.

[1] Per lo più, ricordo i colpi alle debolezze nei sistemi operativi non * ix che erano stati eliminati prima della pubblicazione del libro. Lo stesso tipo di cose che trovi negli argomenti amatoriali di Windows vs Mac vs Linux in tutta la rete.


5

Segui il piano giornaliero. Inizia elencando tutto in /sbin. Quindi prendi un comando al giorno e digita man commande scopri cosa fa. I comandi essenziali di base sono tutti dentro /sbin. Dopodiché, vai a lavorare su /bine quando è finito, vai a lavorare su /usr/sbine /usr/bin. Puoi abbreviare il tuo elenco di comandi saltando qualsiasi con più di 5 lettere nel nome del comando e non perderai molte cose importanti.

Ma la cosa importante è che imparerai qualcosa di nuovo ogni giorno, e probabilmente prima di arrivare a metà strada, capirai così tante nozioni di base, che potrai facilmente raccogliere mezza dozzina di nuovi comandi al giorno.

Ma devi usarli, ognuno di loro, anche se si tratta solo di armeggiare e fare esercizi con loro.


2
Questa è una buona idea Impara i comandi uno per uno. Controlla cosa fanno e controllali.
Kamil

Non posso essere d'accordo su come iniziare /sbin, dato il "per programmatori" nel titolo della domanda. Su molti sistemi, /sbine /usr/sbinsono predefiniti PATHsolo per root. Penso che potresti aver ragione nel vederli come comandi "core", nel senso che sono parti chiave del sistema operativo, ma non sono strumenti che usi nella programmazione tanto quanto l'amministrazione del sistema.
Warren Young

3

Uno dei modi è iniziare a leggere alcuni blog specializzati in Unix / Linux ..

Questo blog thegeekstuff in cui scrivo di tanto in tanto è un buon punto di partenza con ... Alcuni articoli importanti che potrebbero interessarti sono:

Dove c'è una serie di tutorial su sede awk spero che ti sia utile ...


3
I 50 comandi sono la risposta perfetta a questa domanda! Esaminalo, studia esempi di ciascun comando e, se è interessante, segui il link (solitamente fornito) per ulteriori esempi. Quel collegamento è un custode!
Bill K

2

Per Bash darei un'occhiata a tldp.org/LDP/abs/html/


2
La famigerata guida "Advanced Bash Scripting" ti insegnerà a scrivere bug, non script. Mentre le intenzioni nello scrivere erano nobili, l'errata e la disinformazione sono troppo alte per raccomandarlo. mywiki.wooledge.org/BashGuide è una guida di gran lunga superiore.
Chris Down

Grazie @ Chris, ho pensato che il materiale introduttivo fosse un buon inizio.
Iman

1

I programmatori hanno un'opportunità unica per padroneggiare Linux. Ogni volta che ne hai la possibilità, invece di scrivere un programma per eseguire un'attività, scrivi uno script di shell per farlo.

In realtà ho una sfida personale permanente per scrivere tutto in Bash prima di scrivere un programma: saresti stupito e disturbato.

Per quanto riguarda una raccomandazione per un libro, potrebbe sembrare sciocco, ma la Linux Pocket Guide ha un posto d'onore nella mia libreria. È compatto e ha molti utili programmi Linux. Sfogliare è facile ed è un ottimo riferimento.




0
info coreutils

ti dà un grande elenco di comandi utili, raggruppati per contesto.

Puoi prenderlo come guida e imparare un comando al giorno e, naturalmente, come repository in cui cercare.


0

Vorrei aggiungere Linux® Command Line e Shell Scripting Bible di Richard Blum . È facile da capire, pratico e pieno di molti esempi utili.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.