"Learning" Linux [chiuso]


10

Sono stato interessato ai computer per molto tempo e ho armeggiato con un sacco di cose che includono Linux. Ho iniziato con Red Hat quando ero giovane (circa 13) e ho perso tutti i dati, convertendo un disco FAT32 in qualcos'altro. Più tardi fu Knoppix che fu davvero utile nel recupero e così via. Quindi, è stato Ubuntu. Inoltre, ho armeggiato con Arch per qualche tempo, ma si rompe troppo spesso per i miei gusti (forse, avrei dovuto essere più attento).

Comunque, attualmente uso Ubuntu 9.04. Voglio scavare più a fondo nel mondo Linux ora. Voglio imparare come funzionano le cose e usare di più il terminale. Anch'io sono un programmatore, quindi sarà di grande aiuto.

Quindi, la cosa che volevo chiedere erano:

  • Buoni libri per imparare e capire Linux

  • Buone abitudini per usare Linux in modo più efficiente.

  • Buoni strumenti su cui dovrei sapere.

  • Tempo dedicato a conoscere cose nuove ogni giorno.

  • Come programmatore, come installi e usi Linux in modo efficiente.

Lunga lista. Sarò grato ai rispondenti.

Risposte:


9

Per me, la cosa che pensavo mi insegnasse di più su Linux era l'esecuzione di un'installazione Gentoo.

Per chi non lo sapesse, Gentoo non ha un programma di installazione in sé, ma scarica un'immagine di avvio, crea manualmente volumi e filesystem, quindi inizia a compilare un sacco di codice sorgente per darti un sistema funzionante.

Sono passati alcuni anni da quando ho usato Gentoo, supponendo che non sia cambiato molto, lo consiglierei sicuramente a chiunque abbia voglia di imparare.

I forum di documentazione e supporto non erano secondi a nessuno quando l'ho usato.


2
Le mie installazioni dal 1 ° al 5 ° di Gentoo sono quando ho davvero imparato il funzionamento interno di Linux e le distribuzioni.
RateControl

Senti senti! Gentoo è ottimo per gli studenti entusiasti! +1
wzzrd,

5
  1. Riviste come "Linux Format" e "Linux Journal". Possono essere acquistati presso le librerie, abbonati o trovati su Internet. Le vecchie edizioni di Linux Format sono su http://www.linuxformat.com/modules.php?op=modload&name=NewArchives&listpdfs=1 , e le vecchie edizioni di Linux Journal sono su http://www.linuxjournal.com/magazine .

  2. Ottieni il Linux Journal / Tux Radar "Linux Starter Pack". Sono 130 pagine di pura vittoria. Copre praticamente tutto ciò che un utente di Windows in migrazione potrebbe voler sapere subito. È disponibile su http://www.tuxradar.com/linuxstarterpack .

  3. Partecipa a un forum. Dato che usi Ubuntu, ti consiglio di iniziare con http://ubuntuforums.org/ . Un altro forum degno di nota è www.LinuxQuestions.org. Anche ServerFault funziona. ;)

  4. Leggi la guida di Rute. Ti aiuterà con la riga di comando e ti introdurrà ad altri concetti formativi di Linux. http://rute.2038bug.com/

  5. Comandi come "man nome-programma" e "info nome-programma" sono inestimabili.

  6. E, naturalmente, sentiti sempre libero di porre domande. Avere qualcuno che ti aiuti ad imparare un sistema operativo semplifica sempre il processo, quindi trova un tutor se puoi.


5

Forse iniziare dal Linux Documentation Project .

La sezione Guide fornisce alcuni libri molto interessanti:

  • Introduzione a Linux - Una guida pratica
  • Linux From Scratch
  • La guida per amministratori di sistema Linux

Le sezioni HowTo forniscono un aiuto specifico per argomento.


3

Scopri come cavartela in un terminal. Questo significa imparare le corde dei programmi di navigazione, piping e Unix come grep e sed. Ubuntu e altre distro stanno rendendo Linux sempre più user-friendly, ma alla fine, il più grande vantaggio per l'apprendimento risiede nelle sue radici CLI.

Questo sito Web ha una manciata di buoni tutorial sulla shell.


Qualche libro che sarà utile?
Strider,

2

Consiglio vivamente la programmazione avanzata in ambiente UNIX. Questo è un libro brillante sulla programmazione generale del sistema per UNIX.


2

Usa Non ripetere te stesso filosofia. Esegui attività comuni con il terminale: copia, crea, sposta, rimuovi file, cerca informazioni al loro interno (usa grep), cerca file (trova) e così via. Prova a combinare tutti questi comandi tra loro più lo script bash e awk. Questo ti porterà alle buone pratiche e sentirai la potenza di Linux :-).

Ad esempio, se è necessario rimuovere alcuni file in cui il nome del file rappresenta un modello, è possibile cercare in ogni cartella ed eliminarli manualmente. Ecco che arriva DRY: basta unire find e rm, e lo farai da una linea terminale.

Inoltre, come qualcuno ha pubblicato prima, imposta un server di casa. Condividi Internet su di esso, esegui webserver, configura stampante di rete, ecc.


2

ls / bin, / usr / bin, / sbin e / usr / sbin. Quindi scansiona / leggi le pagine man per ogni comando che vedi. Non ricorderai tutto se non sei una specie di prodigio. Tuttavia ti esporrà alla maggior parte dei comandi sul tuo sistema e avrai una vaga idea di quello che fanno. Quindi, quando è necessario fare qualcosa, si spera di ricordare comandi che potrebbero essere rilevanti.

Avrai anche voglia di leggere le altre pagine man alla fine, che troverai dovunque punti il ​​tuo MANPATH, ma prima comincerei con i comandi.

Questo è quello che facevo quando ero in helpdesk ma non c'erano chiamate in arrivo e l'ho trovato immensamente utile.


2

Un po 'di un suggerimento sulla barra laterale, ma io uso Mnemosyne (apt-get install mnemosyne) per creare schede flash di utili comandi e suggerimenti Linux che trovo. Un paio di volte a settimana, sfoglio alcune delle schede flash e cerco di mantenerle fresche nella mia mente.

Il tuo chilometraggio può variare, ma ho trovato che questo è un buon modo per conservare i comandi che potrei non usare su base giornaliera in modo da poterli richiamare rapidamente quando ne ho bisogno (o almeno sapere quali pagine man sfogliare) .

Lo faccio anche per altre cose, come le battiture di Vim, le API Python, ecc.


2

Un buon modo per entrare in Linux è fondamentalmente usarlo.

Il potere di Linux è nella riga di comando. Quando usi Linux molto probabilmente entrerai presto nella riga di comando. Fare attività ripetitive nella GUI ti fa chiedere se potrebbe esserci un modo migliore per fare le cose. In questo modo si ottiene lentamente più a suo agio utilizzando l'interfaccia della riga di comando.

Quando mi è stato insegnato C a scuola, abbiamo scritto programmi in Emacs e li abbiamo compilati sulla riga di comando. Mi è stato più comodo lavorare sulla riga di comando e ho imparato nuovi trucchi man mano che avanzavamo. Inoltre, se impari C, puoi approfondire il modo in cui Linux è costruito e come funziona come è scritto principalmente in C.


1

Un buon libro generale è "L'arte della programmazione Unix". Unix e Linux condividono le stesse filosofie, anche se sono leggermente diverse.

A parte questo, consiglierei di imparare una shell (come bash) e di imparare un linguaggio di scripting come Perl o Python. Per imparare una shell, vorrei iniziare con le pagine man e magari prendere un libro (i libri di O'Reilly sono buoni).



1

Mi hai chiesto di utilizzare Linux in modo efficiente come programmatore: in questo caso avrei pensato che lo scripting della shell sarebbe stato essenziale (se fosse sapere come passare i parametri dentro o fuori, o per evitare di scrivere codice per realizzare qualcosa che può già essere fatto dall'esistente commamnds). Prova il riferimento O'Reilly "Classic Shell Scripting".


1

Utente Linux

Il programmatore troverebbe utili molti strumenti da riga di comando di Linux. Alcuni di essi sono:

  • ls -lrt
  • trova - troppo tempo per leggere tutto. Usa come riferimento.
  • xargs
  • bash - troppo tempo per leggerlo tutto. Usa come riferimento.
  • bagno
  • crontab

Ci sono molti libri per utenti intermedi di Linux e non ci sono buoni libri per utenti avanzati. Ho usato la seguente pratica per entrare in Linux:

  • Per prima cosa segui un corso o leggi un libro per principianti. Nessuna GUI dovrebbe essere studiata nel processo.
  • La pratica è necessaria nel passaggio successivo. Utilizzare il PC o il server e consultare i manuali per i comandi necessari per eseguire le attività quotidiane. Se non sai quale comando fa quello di cui hai bisogno, chiedi al tuo amico o comunità competente.
  • Terzo arriva lo scripting della shell. Non solo offre una buona opportunità per automatizzare le attività quotidiane, ma offre anche l'esperienza necessaria per utilizzare la shell interattiva in modo efficiente.

L'amministrazione e la configurazione di Linux sono fatte allo stesso modo ma tendono ad avere più googling.


1

Ho iniziato con SuSE quando ero giovane. Più tardi è stato Knoppix anche per me. Quindi, era Ubuntu e attualmente uso Ubuntu 9.04.

Ho imparato quasi tutto ciò che so su Linux da Internet e dagli amici.

L'unico libro che mi ha aiutato a imparare e comprendere meglio Linux è Andrew S. Tanenbaums Modern Operating Systems .


1

Un buon modo per conoscere Linux è fare qualcosa con esso. Potresti provare a configurare un box Linux sulla tua connessione Internet a casa o in una macchina virtuale.

Prova a configurare alcune applicazioni server:

  • server web (ad es. apache)
  • sistema di gestione dei contenuti (ad es. drupal)
  • database (ad es. mysql)
  • mailserver (ad es. corriere) con un filtro antispam (ad es. spamassassin)

Questo ti aiuterà a familiarizzare con gli strumenti e le pratiche comuni di Linux.


0

I libri possono essere buoni, ma cerca di trovare un mentore umano. Quando ero più giovane ho avuto la fortuna di avere un amministratore di sistemi unix che mi mostrasse le corde, dopo un paio d'anni di lavoro sotto di loro, ho persino superato le loro conoscenze.

Unix è una strana bestia, puoi chiedere a 10 amministratori unix di eseguire un'azione e probabilmente otterrai 10 risposte diverse. Probabilmente nessuna delle risposte sarà errata, è perché lo strumento è così flessibile che può fare le cose in più di un modo.

non è definitivamente il "one microsoft way" di fare le cose :-)

A volte i canali irc di freenode possono essere di grande aiuto se rimani bloccato con concetti durante la lettura. Dai un'occhiata, sono amichevoli, se sei amichevole.

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.