Sei sulla pagina 1di 4

Guidaall'usodeicomandinellashellcomandiUnixpiu'diffusi

Autore:StefanoPardini http://www.viareggiolinux.org LinuxUserGroup:ACROShttp://www.lugacros.org Premessa LashellsicuramenteunadellepartipiimportantidiunsistemaUnixesipudefinireun programmacheimplemental'interfacciaarigadicomandoecheesegueicomandidigitati dall'utente. Attraverso la shell possibile concatenare una serie di comandi riuscendo a realizzare compiti anche complessi con estrema velocit e flessibilit. La shell uno strumentomoltopotenteel'unicomodoperimparareadusarlautilizzarla.Virenderete contochenonpotetefareamenodiimparareaconoscereedusarelashellpergestireal meglioilvostrosistemaGNU/Linux.EsistonomolteshellUnixdiverse,mamoltedelleloro funzionidipendonodallashellBourne,o/bin/sh.GNU/Linuxutilizzaunaversionemigliorata dellashellBourne,chiamatabash.Bashlashellpredefinitaperlamaggiorpartedeisistemi GNU/Linux. Durantel'installazione diunsistemaGNU/Linuxsolitamente siimpostauna password di root (superuser) e si crea un utente comune per poter lavorare senza dover accederealsistemacomeroot.Avoltelavorandoconlashellsareteobbligatiadiventareroot perpotereseguirecerticomandi,adesempioseavretelanecessita'dimodificareunfiledi configurazione del vostro sistema GNU/Linux. Diamoci da fare ed iniziamo subito a richiamareunafinestradellashell.Lafinestradellashellunafinestradelterminalecheasua volta pu essere definita una interfaccia per l'utente, cio un programma che accetta i comandi digitati e disegnai caratterisulloschermo.Inpraticailterminaleunintermediariofralashelle l'utente. Apriamo quindiunterminale qualekonsole ecominciamoavederequali sono i comandibasepidiffusi: cat ilcomandocatunodeipiu'semplici,questocomandostampailcontenutodiunfileedesce, catottimoperiniziarealavorare,provateadigitare: catnomefileevedetecosasuccede... catvirestituirilcontenutodelfile,seprovateadigitaresolocatsenzaalcunfilediinpute batteteinvio,noteretechenontorneretealpromptdellashellperchcatancorain esecuzione.Sedigitateoraqualsiasicosaepremeteinvio,catripeterlarigaprecedente finchnonusciretepremendocontrolD; cat/proc/cpuinfo un'altroesempiodicosasipufareconcat,questarigadicomandovimostralaCPUinuso sullavostramacchinaconinformazionidettagliate; ls ilcomandolselencailcontenutodiunadirectoryepucontenerediverseopzioni,sedigitate lslotteneteunelencodettagliato,sedigitatelsfotteneteinformazionisultipodifile,se digitatelsavisualizzereteancheifilesnascosti,lsivimostrerl'inodeassociatoalfile; cp ilcomandocpservepercopiareunfile,adesempio: cpnomefile1nomefile2; mentrecpnomefile1dircopiailfilenomefile1nelladirectorydir; cpr

copialedirectoryricorsivamente; cpa siutilizzapercopiareifilemantenendointattiipermessi;

mv ilcomandomvsiusaperrinominareospostareunfile,adesempio: mvnomefile1nomefile2rinominanomefile1; mvnomefile1dirspostanomefile1indir; rm ilcomandormcancellaunfiledefinitivamenteenonpotressererecuperabilequindi okkio!!!!!!!!!!!!!!!!!!. Conl'opzioneivisarchiestaconfermaprimadell'eliminazionedelfile; cd ilcomandocdservepercambiaredirectory,adesempio: cdtest(supponendocheabbiatenormalmenteapertounterminaleall'internodellavostra homeecheabbiateunadirectorytestsemprenellavostra"home"); cd dasoloviportaallavostrahome; cd.. viriportaalladirectoryprecedente(okkioallospazio!); duh ilcomandoduhvisualizzalaquantitdispaziousatanelladirectoryesottodirectoryinkb emb; df ilcomandodfmostralepartizionimontate; top ilcomandotopmostraiprocessiinusodallacpu(perinterrompreCtrl+c); ps mostraunaselezionedeiprocessiattivi; psaux ilcomandopsauxVisualizzaiprocessiedemoniincorsoconirelativipid; kill ilcomandokilluccideunprocesso; kill9 ilcomandokill9forzalachiusuradelprocesso; killall ilcomandokillalluccidetuttiiprocessi; mkdir ilcomandomkdircreaunanuovadirectory,adesempio: mkdirtest; rmdir ilcomandormdireliminaladirectorydirsupponendocheessasiavuota,se nonlopotetecomunquecancellarlaconrmrfdir; pwd ilcomandopwdvimostradovesiete...provatepervederecosaviriportail terminale; diff

ilcomandodiffvimostraledifferenzefraduefile,adesempio: diffnomefile1nomefile2; file senonsietecertidelformatodiunfileprovateascrivere: filenomefileevedetecosaviriportailterminale;

less ilcomandolessmoltousatopervisualizzareunfileespostarsiall'internodeltestoconle freccesuegidellatastiera,comodoancheseadesempiononvoleteaprireuneditordi testo,esisteancheun'altrocomandochemoremalesspipotenteepiutilizzato,provate adigitare: lessnomefileepremeteinvioperscorrereiltestodelfile; lns ilcomandolnssiusapercreareunlinksimbolico; df ilcomandodfmostralepartizionimontate; free ilcomandofreemostralamemoriarameswap; find ilcomandofindsiusapercercareunfile,adesempio: findnomefiledir; head ilcomandoheadvisualizzarapidamenteunaporzionediunfile,adesempio: head/home/stefano/nomefilevimostraleprimerighediquestofile; tail ilcomandotailvisualizzaanch'essounaporzionedifile,adesempio: tail/home/stefano/nomefilevimostraleultimerighediquestofile; touch ilcomandotouchcreaunfile,adesempio: touchnomefilecreanomefile; grep ilcomandogrepmoltoutilepercercareadesempiounavoceall'internodiunfileed comodissimoquandosidevelavoraresupifilessimultaneamente,adesempiopercercarela parolarootall'internodituttiifilechesonoinunadeterminatadirectoryprovateascrivere: greproot/dir/*; whoami mostral'utenteassociatoall'IDcorente; unamea ilcomandouname avimostralaversionediGNU/Linuxinusosulvostrosistema; dmesg Ilcomandodmesgriproponeimessaggivisualizzatidalkerneldurantel'avviodelsistema. shutdownrnow ilcomandoshutdownrnowriavviailvostrocomputer; reboot

comesopra; halt ilcomandohaltspegneilvostrocomputer; fdformat ilcomandofdformat/dev/fd0formattailfloppydisk; /devstaperdevice(ciodispositivocheinquestocasoilfloppy),fd0appuntoilfloppy diskvistodaGNU/Linux; eject eject/dev/deviceespelleilcddvddallettoreottico; cal ilcomandocalvisualizzailcalendario; lspci ilcomandolspcivirendeinformazioniutilisull'hardwareinstallato; zip ilcomandizipcomprimeunfileadesempio: ziptest.ziptest.txtcreaunfilezippatoapartiredalfiletest.txt,unziptest.zip estraeilfile. lpr ilcomandolprmandainstampaunfile; man manilpaginatoredeimanualidelsistema.Disolitoognunodegliargomentipaginadatia manilnomediunprogramma,diunutilityodiunafunzione,lapaginadimanuale associataconognunodiquestiargomentivienepoitrovataemostrata; exit ilcomandoexitchiudeilterminale(siusaancheperusciredarooteritornareutentenormale all'internodiunterminaleaperto,senzadoveraprireun'altraschedaoun'altroterminale). Questasolounapanoramicadeicomandibasecheutilizzereteechevipermetterannodi lavorarecolvostrocomputertramiteilterminale,ricordatechelashellmoltopotente,vi pufacilitareillavoromapoteteanchefaredannisenonlautilizzateconlaconsapevolezzadi quellochestatefacendonel momentoincuidigitateuncertocomando.Cercatediprendereconfidenzacoicomandienon eseguiteoperazionipotenzialmentepericolosecomelacancellazionedifiledisistemaedi configurazione,fatesempreunbackupdeivostrifileprimadieffettuaredellemodifiche, almenofinoachenonavreteacquisitounacertapadronanzadelvostrosistemaGNU/Linux. EnjoywithGnu/Linux...

Questo/aoperapubblicatasottounaLicenzaCreativeCommons.

Potrebbero piacerti anche