h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano GNU/Linux Básicam e n te Antonio Pe rpiñan Fundación Código Lib re Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Pág 2 Fundación Código Libre Dom inicano UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano GNU BASiCO SEGUND A E D ICIÓN Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano h ttp://w w w .codigol ib re .org e -m ail : ape rpinan@ codigol ib re .org Pág 4 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Fundación Código Lib re D om inicano h ttp://w w w .codigol ib re .org e -m ail : info@ codigol ib re .org (1) Be nigno Fil om e no Rojas, Esq uina Padre Pina No. 102, Z ona Unive rsitaria, Santo D om ingo Re púb l ica D om inicana (2) Cal l e Estre l l a Sadh al á No. 5 Jardine s M e tropol itanos, Santiago Re púb l ica D om inicana D iagram ación y D ise ño de portada: Nicaury Be níte z Cortorre al ISBN 88-9 9 9 9 9 -9 9 -9 D e pósito l e gal : b 8888.9 9 Im pre so y e ncuade rnado por IM PR ESO S GAM M A Cal l e # 12 Los R íos Santo D om ingo, Re púb l ica D om inicana Escrito Bajo l a Lice ncia GNU FD L2007 Im pre so e n Re púb l ica D om inicana Printe d in Th e D om inican Re pub l ic Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Nota de CopyLe ft Este docum e nto se pue de distrib uir y m odificar b ajo l os térm inos de l a Lice ncia Lib re de D ocum e ntación Ge ne ralde lGNU - FD L. © 2004-07 Antonio Pe rpiñan. Este m anual e s softw are l ib re ; pue de re distrib uirl o y m odificarl o b ajo l os térm inos de l al ice ncia GNU de D ocum e ntacion Lib re pub l icada por l a Fre e Softw are Foundation;tanto e n su ve rsión 2 com o (a su opción) e n cual q uie r ve rsión poste rior. Este m anualse distrib uye con e lánim o de ayudar, pe ro sin garantía al guna;ni siq uie ra l a im pl ícita de se r com e rcial izab l e ol a de se r apto para un propósito e n particul ar. Para m ás de tal l e s, ve a l a Lice ncia Púb l ica Ge ne ral de GNU (CO PY-LEFT). Tie ne a su disposición una copia de l a Lice ncia Púb l ica Ge ne ralde GNU (CopyLe ft) e n l a distrib ución GNU/Linux q ue acom paña e ste Lib ro o e n nue stra página w e b . Tam b ién pue de ob te ne rl a e scrib ie ndo a l a Fre e Softw are Foundation, Inc., 59 Te m pl e Pl ace Suite 330, Boston, M A 02111-1307, USA. En e lánim o de col ab orar se rue ga a q uie n util ice e n totalo e n parte e n cual q uie r m ate rial q ue de élde rive , y q ue se re spe te n l os térm inos de l a Lice ncia b ajo l os cual e s e le s l ib e rado. Si m odifica y m e jora e ste docum e nto, rogam os se l o indiq ue a sus autore s original e s, m e diante info@ codigol ib re .org. Pág 6 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Pról ogo Elsiste m a ope rativo GNU/Linux e s una pode rosa pl ataform a para com putadoras. Está dise ñado para se r e stabl e , se guro, y funciona igualde bie n e n se rvidore s com o e stacione s de trabajo. Este l ibro e s producto de l as e xpe rie ncias de num e rosos cursos y ch arl as im partidos e n todo e lpaís por su autor Antonio Pe rpiñan, pre side nte de l a Fundación Código Libre D om inicano. Este l ibro e s e lproducto de l a pe rse cusión de cre ar una ce rtificación l e gítim a de lsoftw are l ibre . La inform ación aq uí conte nida e s producto de todo una inve stigación de q ue ne ce sita un jove n para de sarrol l arse de sde ce ro h asta un Júnior SysAdm in de siste m as GNU/Linux. Elúnico fin de e ste e s de pode r l l e gar a se r una fue nte de inform ación para aq ue l l os usuarios q ue com ie nzan a dar sus prim e ros pasos e n l os siste m as GNU/Linux, aunq ue obviam e nte l e pue de l l e gar a se r de util idad a un usuario avanzado, dándol e así a conoce r de tal l e s de l os dife re nte s aspe ctos q ue com pone n GNU/Linux. Para aq ue l l os usuarios m ás avanzados, e spe ro pue dan e ncontrar e ste l ibro se r una guía de re fe re ncia básica, y q ue pue dan pasárse l a a sus am igos novatos cuando te pre gunte n "¿Cóm o pue do iniciarm e e n GNU/Linux?"o cuando digan: "¿D onde pue do e ncontrar inform ación e n e spañolsobre GNU/Linux?". Lo único q ue l e s pe diré, se rá q ue si l l e garan a e ncontrar al gún probl e m a e n e ste l ibro o tuvie se n al guna suge re ncia, o si e ncue ntran q ue al guna se cción no se e ncue ntra de bidam e nte bie n e xpl icada, por favor h ázm e l o sabe r, ya q ue sol o así podré se guir actual izando e ste h um il de l ibro q ue e spe ro l e s sirva a m uch os. Para l o ante rior l e s pido m e e nvíe n un e -m aila ape rpinan@ codigol ibre .org, de sde ya m uch as gracias y e spe ro disfrute n e lconte nido de e ste l ibro. Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Introducción H ol a a Todos l o q ue util izan M inix, e stoy cre ando un siste m a ope ractivo gratuito e s sol o un h obby, no se trata de nada e norm e ni profe sionalcom o GNU, e s para l os cl one s 386, 486, m e gustaria re cibir todos l os com e ntarios re pe cto a l o q ue l a ge nte pie nsa de m inix, por q ue m i siste m a ope rativo se pare ce un poco alsuyo. Todas l as suge re ncias se rán bie n re cibidas aunq ue no prom e to q ue l a vaya a incl uir todas. ....LinusTorval ds@ col um na.h e l sink i.fi Bie nve nidos a GNU/Linux Este l ibro e s producto de una jornada de cursos, tal l e re s y ch arl as sobre e lSoftw are Libre y e n particul ar su siste m a ope rativo y col um na ve rte bralGNU/Linux, ofre cie ndo una orie ntación para ayudar a obte ne r l as ce rtificacione s ofre cidas por l a nue stra fundación q ue pronto de be rá e star disponibl e e n todos l os paíse s q ue l a adopte n ya q ue se rá l a prim e ra ve rdade ra ce rtificación LIBRE. Este l ibro contie ne n todas l as inform acione s ne ce sarias para pre pararl e e n sus e studios para pode r e m pe zar a e studiar para e stas ce rtificacione s. GNU/Linux Eje rcicios e s para ayudarl e a pre pararse para pode r continuar con l os siguie nte s vol úm e ne s dise ñados para pre pararl e para e le xam e n GNU CERTIFIED , y una carre ra com o Adm inistrador de Siste m as GNU/Linux y un am pl io conocim ie nto de l os siste m as basados e n Softw are Libre e n ge ne ral . En e ste l e introducire m os a l a h istoria, l os com andos básicos com o l os son l s, cp y m v, e luso de lsh e l lbash , e lsiste m a de arch ivos, e n fin l a parte básica de GNU/Linux q ue todo aspirante a titul o de SysAdm in de be dom inar. Alcom pl e tar e ste l ibro uste d de be te ne r una iniciación sól ida y bie n e ncam inado para introducirl e en apre nde r l os q ue h ace re s básicos de ladm inistrador de siste m as GNU/Linux. Alfinalde l a Se rie GNU CERTIFIED (4 e n total ) uste d pose e rá todo e lconocim ie nto ne ce sario para conve rtirse e n un ve rdade ro Adm inistrador de Siste m as GNU/Linux y oste ntar para l as ce rtificacione s GNU CERTIFIED ofre cidas por nue stra fundación. Pág 8 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano ¡Envíe nos su O pinión! Com o todo e n Softw are Libre , e ll e ctor de e ste l ibro, e s un col aborador y pue de aportar a q ue e ste l ibro m e jore y q ue con sus críticas se de sarrol l e. Que re m os sabe r q ue opinas, si te gusto tam bién y si no con m ás razón, déjanos sabe r q ue e stá m aly l o m e jorare m os y si cre e s q ue tie ne s al go q ue aportar ayúdanos. Com o autor, l e dam os bie nve nidas a sus com e ntarios. Pue de s e nviarnos sus e m ail s dire ctam e nte de q ue l e gusta y q ue no l e gusta de e ste l ibro –y su opinión de com o m e jorarl o. Tom e nota q ue no pode m os re sponde r todas l as pre guntas ace rca de apre ndizaje de GNU/Linux ya q ue re cibim os un vol um e n m uy al to pe ro tratam os de re sponde r l as m ás q ue pode m os, pe ro sus pre guntas técnicas de be n se r dirigidas alforum e n nue stra paginas w e b de nue stro portalde Softw are Libre . h ttp://w w w .codigol ibre .org Cuando nos contacte favor re cordar incl uir su nom bre y e m aile n e lcuall es pode m os contactar e n caso de q ue te ngam os al gunas pre guntas de se guim ie nto. Fundación Código Libre D om inicano Padre Pina # 102 Z ona Univ. Santo D om ingo TEL: 809 -476-7758 Estre l l a Sadh al a #5 Jardine s de lEste , Santiago TEL: 809 -724-5543 Re públ ica D om inicana Em ail : ape rpinan@ codigol ibre .org Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Cap Conte nido 1 Introducción, Unix, Linux y e lGNU 22 2 Los Inicios 32 3 Ge stionar Arch ivos de sde e lCLI 50 4 M ane jo de Arch ivos de Te xto 66 5 Com andos Básicos 124 6 Entrada/Sal ida y Expre sione s Re gul are s 136 7 Control , Adm inistración y M onitore o de Proce sos y Job s 156 8 Conce ptos de M ane jo de Siste m as de Arch ivos y Pe rm isos 172 9 Adm inistrar Particione s y Siste m as de Arch ivos 184 10 Conce ptos de Arrancar y D e te ne r e lSiste m a 204 Apéndice A Com andos D O S - GNU 214 Apéndice B Com andos Básicos 216 Apéndice C Com pil ar e lKe rne l 222 Apéndice D Gl osario Inform ático Ingl és - Español 227 Pág 10 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano IND ICE Introducción..................................................................................................................................................iv Bie nve nidos a GNU/Linux..........................................................................................................................iv ¡Envíe nos su O pinión! ................................................................................................................................v IND ICE.......................................................................................................................................................vi Capítul o 1......................................................................................................................................................1 Unix, Linux y e lGNU ....................................................................................................................................1 Los O bje tivos de e ste Capítul o son:................................................................................................................1 Unix, Linux y e lGNU .................................................................................................................................2 ¿Qué e s UNIX?.........................................................................................................................................2 ¿Qué e s BSD ?............................................................................................................................................2 Fil osofía Unix.........................................................................................................................................3 Todo e s un Arch ivo ................................................................................................................................3 M ul ti-Usuario ........................................................................................................................................3 M ul ti-Tare a.............................................................................................................................................3 La navaja Suiza......................................................................................................................................3 M anuale n Líne a ...................................................................................................................................3 Arq uite ctura de l os Siste m as Unix ........................................................................................................4 ¿Qué e s GNU?..........................................................................................................................................4 ¿Qué e s Linux?.........................................................................................................................................4 Qué son l as distribucione s.....................................................................................................................5 Softw are Libre ......................................................................................................................................6 Usando GNU/Linux..................................................................................................................................6 M odo Gráfico - M odo Consol a ..............................................................................................................6 Com e nzando l a Se sión..........................................................................................................................7 Te rm inar l a se sión.................................................................................................................................7 Com andos Unix ....................................................................................................................................7 Estándare s y conve ncione s Unix ........................................................................................................7 Nom bre s de Arch ivo ..........................................................................................................................8 D ire ctorios .........................................................................................................................................8 Práctica1 .......................................................................................................................................................9 Eje rcicio 1 .............................................................................................................................................9 Eje rcicio 2 .............................................................................................................................................9 Capítul o2.....................................................................................................................................................11 Los Inicios ...................................................................................................................................................11 Los O bje tivos de Este Capítul o son: .............................................................................................................11 Los Inicios.................................................................................................................................................12 Prim e ros Com andos Básicos....................................................................................................................12 Cre ar arch ivos con e lcom ando cat.......................................................................................................12 D e spl e gar arch ivos con e lcom ando cat................................................................................................12 Borrar arch ivos con rm ........................................................................................................................13 M e nsaje s de l os com andos Unix ..........................................................................................................13 Copiando arch ivos con cp ...................................................................................................................13 Re nom brar y m ove r arch ivos con m v...................................................................................................13 Com pl e tando nom bre s e n e lSh e l lBash ..............................................................................................13 H istorialde l os com andos “h istory” ....................................................................................................14 Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano O tras com binacione s de te cl as ............................................................................................................14 Arch ivos y D ire ctorios............................................................................................................................14 Rutas/Path s Absol utos y Re l ativos .......................................................................................................15 D ire ctorio Actual.................................................................................................................................15 Ruta (path ) Re l ativa Path s...................................................................................................................15 D ire ctorios de D ot (.)(..) Espe cial e s ....................................................................................................16 Util izando l os D ire ctorios D ot (.) e n su Ruta........................................................................................16 Arch ivos O cul tos .................................................................................................................................16 Ruta a l os D ire ctorios h om e ................................................................................................................16 Buscando arch ivos e n e lSiste m a.........................................................................................................17 Eje cutando Program as ........................................................................................................................17 Espe cificar M úl tipl e s Arch ivos ............................................................................................................17 Buscar l a D ocum e ntación de l os Program as .......................................................................................17 Espe cificando Arch ivos con M e tacarácte re s ........................................................................................18 M e tacarácte re s re l acionados con arch ivos ..........................................................................................18 M e tacarácte re s re l acionados con com andos .......................................................................................19 O tros m e tacarácte re s...........................................................................................................................20 Entrada y Sal ida..................................................................................................................................20 Encade nando Program as ....................................................................................................................21 Inte rface s Grafica y Te xto....................................................................................................................21 Editore s de Te xto.................................................................................................................................22 Práctica2 .....................................................................................................................................................23 Eje rcicio 1 ...........................................................................................................................................23 Eje rcicio 2 ...........................................................................................................................................23 Eje rcicio 3 ...........................................................................................................................................23 Eje rcicios 4...........................................................................................................................................24 Eje rcicios 5...........................................................................................................................................24 Eje rcicios 6...........................................................................................................................................24 Eje rcicios 7...........................................................................................................................................25 Eje rcicios 8...........................................................................................................................................25 Eje rcicios 9 ...........................................................................................................................................25 Capítul o3.....................................................................................................................................................27 Ge stión de Arch ivos de sde l a Líne a de Com ando ........................................................................................27 Los O bje tivos de e ste Capítul o son:..............................................................................................................27 Trabajar e n l a Líne a de Com andos.............................................................................................................28 Los Sh e l l s...............................................................................................................................................28 ElSh e l lBash Sh e l l................................................................................................................................28 Com andos de lSh e l l............................................................................................................................28 Argum e ntos de l a Líne a de Com andos ................................................................................................29 ElSintaxis de l as O pcione s de l a Líne a de Com ...................................................................................29 Eje m pl os de O pcione s de l os Com andos ..........................................................................................29 Variabl e s de lSh e l l............................................................................................................................29 Variabl e s de Am bie nte ......................................................................................................................29 D onde e stán l os Program as al m ace nados ...........................................................................................30 Configuración de l as Variabl e s de Bash ............................................................................................30 Usando e lcom ando H istory ...............................................................................................................30 Pág 12 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Re h usando l os Íte m s de lH istory .....................................................................................................31 Extrae r Argum e ntos de sde e lH istory ..............................................................................................31 Re sum e n de l as te cl as de e ditar de lBash .........................................................................................31 Com binar m ás de un Com ando e n una l íne a...................................................................................32 Re pe tir Com andos con for ..................................................................................................................32 Substitución de Com andos .................................................................................................................32 Buscar arch ivos con l ocate ..................................................................................................................32 Buscar arch ivos con m ás fl e xibil idad: find..........................................................................................33 Expre sione s de búsq ue da ...................................................................................................................34 M e tacaracte re s Soportados.................................................................................................................34 Expre sione s de Acción.........................................................................................................................35 O pe radore s .........................................................................................................................................35 Expre sione s Avanzadas........................................................................................................................36 Eje m pl os..............................................................................................................................................36 Eje m pl os Avanzados............................................................................................................................38 Práctica3 .....................................................................................................................................................39 Eje rcicios 1...........................................................................................................................................39 Eje rcicios 2...........................................................................................................................................39 Eje rcicios 3...........................................................................................................................................39 Eje rcicio 4 ...........................................................................................................................................39 Capítul o4.....................................................................................................................................................41 M ane jo de Arch ivos de Te xto.......................................................................................................................41 Los O bje tivos de e ste Capítul o son:..............................................................................................................41 Trabajar con Arch ivos de Te xto..................................................................................................................42 Líne as de Te xto .....................................................................................................................................42 Fil trar Te xto y Tube rías .......................................................................................................................42 D e spl e gar Arch ivos con l e ss o m ore ....................................................................................................43 Contar Pal abras y Líne as con w c..........................................................................................................43 Sorte ar Líne as de Te xto con sort .........................................................................................................43 Sorte os Sim pl e s ................................................................................................................................43 O pcione s Ge ne ral ..............................................................................................................................44 O pcione s O rde n de sort.....................................................................................................................44 Eje m pl os Sim pl e s de sort ....................................................................................................................45 Sorte ar e n O rde n al fabética y de D iccionario....................................................................................45 Sorte ar e n O rde n Num érica.................................................................................................................47 Sorte ar M e se s .....................................................................................................................................48 Sorte ar con l a opción de Única............................................................................................................48 Sorte ar con l a opción de Re visar/Ch e ck .............................................................................................49 Sorte ar col um nas con sort ..................................................................................................................49 O pcione s de Sorte ar Col um na.............................................................................................................50 Espe cificar l al l ave de Sort para l a opción -k .........................................................................................50 M odificadore s de Tipo..........................................................................................................................51 M ás e n com o e spe cificar CNum .......................................................................................................52 Eje m pl o de sorte ar col um nas............................................................................................................53 Eje m pl os Avanzados: O rde nar Col um nas..........................................................................................56 Fusionando/M e rging............................................................................................................................58 Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Eje m pl os: Fusionar/M e rging ..........................................................................................................58 Elcom ando uniq ................................................................................................................................61 D e scripción .........................................................................................................................................61 Eje m pl os............................................................................................................................................62 Se l e ccionar Parte s de Líne as con cut....................................................................................................65 D e scripción........................................................................................................................................65 Eje m pl os.........................................................................................................................................66 Eje m pl os Avanzados..........................................................................................................................67 Expandir l a Tabul ación a Espacios con e xpand .................................................................................68 Usar fm t para dar Form ato a Arch ivos de Te xto.................................................................................68 Le e r l as prim e ras Líne as de arch ivo con h e ad....................................................................................68 Le e r l as úl tim as Líne as de un arch ivo con tail...................................................................................68 Enum e rar Líne as de un arch ivo con nlo cat .....................................................................................68 Vol car Byte s de D ata Binaria con od..................................................................................................69 Conve rtir de Te xto a com paginados pr con .......................................................................................69 Elcom ando spl it ...............................................................................................................................69 D e scripción .........................................................................................................................................69 Eje m pl os............................................................................................................................................70 Elcom ando diff.................................................................................................................................72 D e scripción..........................................................................................................................................72 Eje m pl os............................................................................................................................................74 M ás Eje m pl os....................................................................................................................................74 Eje m pl o de Com parar D ire ctorios .................................................................................................75 Com andos Patch y D iff D istribuir Cam bios.....................................................................................76 Usar e d para Conve rtir Arch ivo1 a Arch ivo2..................................................................................76 Eje m pl o D ife re ncia de Conte xto ....................................................................................................77 Avanzado: Eje m pl o de Estatus de Exit ...........................................................................................78 Invirtie ndo arch ivos con tac ..............................................................................................................79 Traducir Conjunto de Caracte re s con tr ............................................................................................79 D e scripción .........................................................................................................................................79 Eje m pl os tr ....................................................................................................................................79 Espe cificar l as Cade nas (Strings) ...................................................................................................80 Eje m pl os............................................................................................................................................81 Eje m pl os: Com prim ir Caracte re s ...................................................................................................81 Eje m pl os: El im inar Caracte re s .......................................................................................................82 Eje m pl os: Sustituir Caracte re s........................................................................................................82 Eje m pl os Avanzados...........................................................................................................................83 M odificar Arch ivos con se d ...............................................................................................................83 Sustituir con se d................................................................................................................................83 Elcom ando paste ..............................................................................................................................84 D e scripción .........................................................................................................................................84 Col ocar arch ivos e n col um nas con paste ...........................................................................................84 Eje m pl os............................................................................................................................................85 Elcom ando join.................................................................................................................................87 D e scripción .........................................................................................................................................87 Eje m pl os............................................................................................................................................89 Pág 14 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Eje m pl os Avanzados..............................................................................................................................9 1 Eje m pl o de Substitución ....................................................................................................................9 1 D ife re nte s Se paradore s......................................................................................................................9 2 D ando Form ato a l a Sal ida ...................................................................................................................9 2 D ar Form ato a Sal ida no Pare ada ......................................................................................................9 3 Logrando Joins tipo Base de D atos con join ..........................................................................................9 5 Práctica4 .......................................................................................................................................................9 6 Eje rcicio 1 .............................................................................................................................................9 6 Eje rcicio 2 .............................................................................................................................................9 6 Eje rcicio 3 .............................................................................................................................................9 6 Eje rcicio 4 .............................................................................................................................................9 6 Capítul o5.......................................................................................................................................................9 7 M ane jo de Arch ivos de Te xto.........................................................................................................................9 7 Los O bje tivos de e ste Capítul o son:................................................................................................................9 7 O bje tos de Siste m a de Arch ivos ..................................................................................................................9 8 D ire ctorios y l os Nom bre s de Arch ivos...................................................................................................9 8 Arch ivos y sus Exte nsione s.....................................................................................................................9 8 Re gre sando alD ire ctorio Ante rior..........................................................................................................9 9 Com pl e tar Nom bre de Arch ivos.............................................................................................................9 9 Patrone s de Com odine s (W il dcard) .......................................................................................................9 9 Copiar Arch ivos con cp..........................................................................................................................9 9 Eje m pl os de cp ....................................................................................................................................100 M ove r Arch ivos con m v.......................................................................................................................100 Borrando l os Arch ivos con rm ..............................................................................................................100 Borrar arch ivos con nom bre s Pe cul iare s..............................................................................................100 Cre ar D ire ctorios con m k dir.................................................................................................................100 Re m ove r D ire ctorios con rm dir............................................................................................................101 Ide ntificar l os Tipos de Arch ivos .........................................................................................................101 Cam biar Fe ch a de Acce so con touch ....................................................................................................101 Elcom ando date ..................................................................................................................................101 D e scripción ...........................................................................................................................................101 Espe cificando e lform ato de lcom ando date .......................................................................................102 Form atos de date .................................................................................................................................102 Ge ne ral............................................................................................................................................102 Form atos de lM e s.............................................................................................................................102 Form atos de lD ía..............................................................................................................................102 Form atos de l os días de l a se m ana...................................................................................................103 Form atos de lAño..............................................................................................................................103 Form atos de lTie m po ..........................................................................................................................103 Ge ne ral............................................................................................................................................103 Form ato de H ora ..............................................................................................................................103 Form ato de M inuto ..........................................................................................................................103 Form ato de Se gundos.......................................................................................................................103 Form ato Com binado de Fe ch a y Tie m po...........................................................................................104 Form ato Espe cial..............................................................................................................................104 Eje m pl os..............................................................................................................................................104 Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Eje m pl os Avanzados..........................................................................................................................104 Práctica5 ......................................................................................................................................................106 Eje rcicio 1 ............................................................................................................................................106 Eje rcicio 2 ............................................................................................................................................106 Capítul o6......................................................................................................................................................107 Arch ivos Entrada y Sal ida y Expre sione s Re gul are s......................................................................................107 Los O bje tivos de e ste Capítul o son:...............................................................................................................107 Fl ujo (Stre am s), Tube rías y Re dire ccionar...................................................................................................108 Arch ivos Estándar ..................................................................................................................................108 Standard Input (Entrada Estándar) .......................................................................................................108 Standard O utput (Sal ida Estándar) .......................................................................................................108 Standard Error .......................................................................................................................................108 Pipe s - Tube rías.......................................................................................................................................109 Cone ctando Program as a Arch ivos.......................................................................................................109 Agre gándol e a Arch ivos........................................................................................................................109 Re dire ccionando M úl tipl e s Arch ivos.....................................................................................................109 Re dire ccionar con e lD e scriptor de Arch ivos ........................................................................................109 Elcom ando xargs .................................................................................................................................110 D e scripción.............................................................................................................................................110 O pcione s ................................................................................................................................................110 Eje m pl os...............................................................................................................................................111 Xargs Básico..........................................................................................................................................111 Xargs vs. Substitución de Com andos –Proce sar Líne as de Com andos..................................................112 Xargs Caracte rísticas de Ech o ...............................................................................................................112 Eje . Com ando cada N Pal abras/Líne as Entrada.....................................................................................113 Argum e ntos de l a E/S junto con O tros..................................................................................................114 Im prim ir/Cue stionar Ante s de Eje . Com andos.....................................................................................115 Elcom ando te e ....................................................................................................................................115 Buscar e n Arch ivos con Expre sione s Re gul are s...........................................................................................115 Elcom ando gre p...................................................................................................................................115 D e scripción ............................................................................................................................................116 Buscar Arch ivos con gre p......................................................................................................................116 Igual ar Patrone s ...................................................................................................................................116 Igual ar Patrone s Re pe tidos....................................................................................................................116 Igual ando Patrone s Al te rnativos...........................................................................................................117 Sintaxis de Expre sione s Re gul are s Exte ndidas......................................................................................117 Eje m pl os...............................................................................................................................................118 Elcom ando se d....................................................................................................................................120 Uso de lSh e l lAvanzado..............................................................................................................................121 M ás Ace rca de l as Com il l as ..................................................................................................................121 Com il l as: Se ncil l as ...............................................................................................................................121 Citar: Back sl ash e s.................................................................................................................................121 Citar: Com il l as D obl e ...........................................................................................................................121 Citar: Com binar l os M e canism os uso Com il l as......................................................................................121 Re capitul ar: Espe cificar Arch s con Com odine s......................................................................................121 Pág 16 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Expre sione s Gl ob a Arch ivos de ntro de D ire ctorios.............................................................................122 Expre sion Gl ob para Igual ar un Carácte r Sim pl e ................................................................................122 Expre sion Gl ob Igual ar Caracte re s Espe cial e s......................................................................................122 Ge ne rar Nom bre s de Arch ivos: {}.......................................................................................................122 Program ación Sh e l l ..............................................................................................................................122 Práctica6 .....................................................................................................................................................124 Eje rcicio 1 ...........................................................................................................................................124 Eje rcicio 2 ...........................................................................................................................................124 Eje rcicio 3 ...........................................................................................................................................124 Eje rcicio 4 ...........................................................................................................................................124 Capítul o7.....................................................................................................................................................125 Control , Adm inistración y M onitore ar Jobs, Ps y Prioridade s.......................................................................125 Los O bje tivos de e ste Capítul o son:..............................................................................................................125 Controlde Job ...........................................................................................................................................126 Job Control..........................................................................................................................................126 Los jobs ...............................................................................................................................................126 ElPrim e r Pl ano fg ...............................................................................................................................127 ElSe gundo Pl ano bg............................................................................................................................127 Cre ar, M onitore ar, y El im inar (Kil l ) Proce sos.............................................................................................127 ¿Que e s un Proce so?...........................................................................................................................127 Propie dade s de l os Proce sos................................................................................................................127 Proce sos Padre s e H ijos .......................................................................................................................127 M onitore ando Proce sos: ps .................................................................................................................128 O pcione s de ps.....................................................................................................................................128 M onitore ar Proce sos: pstre e ................................................................................................................128 O pcione s pstre e ...................................................................................................................................128 M onitore ar Proce sos: top .....................................................................................................................129 O pcione s de lcom ando top ...................................................................................................................129 Inte ractuando con e lcom ando top........................................................................................................129 Enviar Se ñal es a l os Proce sos ...............................................................................................................129 Se ñal e s Com une s Para Uso Inte ractivo .................................................................................................129 Enviar Se ñal e s: k il l...............................................................................................................................130 Enviar Se ñal es a l os D ae m ons: pidof ....................................................................................................130 Elcom ando at ......................................................................................................................................130 D e scripción........................................................................................................................................130 Espe cificar Tim e ................................................................................................................................131 Espe cificación de D ate .......................................................................................................................131 Espe cificar e lIncre m e nto...................................................................................................................132 M ás sobre e spe cificacione s de Tim e y D ate ........................................................................................132 ¿Que Sh e l lUsa At?.............................................................................................................................133 Eje m pl os................................................................................................................................................133 Eje m pl os Avanzados..............................................................................................................................135 M odificar Prioridade s de Proce sos...............................................................................................................137 Conce ptos .............................................................................................................................................137 Elcom ando nice ...................................................................................................................................137 ElCom ando re nice ...............................................................................................................................137 Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Práctica7 .....................................................................................................................................................138 Eje rcicio 1 ...........................................................................................................................................138 Eje rcicio 2 ...........................................................................................................................................138 Eje rcicio 3 ...........................................................................................................................................138 Capítul o8.....................................................................................................................................................139 Conce ptos Siste m as de Arch . M ane jo de Pe rm isos......................................................................................139 Los O bje tivos de e ste Capítul o son:.............................................................................................................139 Conce ptos de Siste m as de Arch ivos (Fil e Syste m )......................................................................................140 Siste m as de Arch ivos.............................................................................................................................140 Siste m a de Arch ivos Unificado..............................................................................................................140 Tipos de Arch ivos................................................................................................................................140 Inode s (Inodos) y D ire ctorios..............................................................................................................141 Cre ar y Cam biar Víncul os H ard y Sim ból icos............................................................................................141 Víncul os Sim ból icos (Link s)..................................................................................................................141 Exam inando y Cre ando Enl ace s Sim ból icos........................................................................................141 Enl ace s D uros o H ard Link s.................................................................................................................142 Il ustrando un Sym l ink s y un H ard Link s .............................................................................................142 Com parando sal idas de l os h ardl ink s ...................................................................................................142 Sym l ink s H ard l ink s.............................................................................................................................142 Exam inar y Cre ar H ard Link s ..............................................................................................................143 Pre se rvar Link s ...................................................................................................................................143 Encontrar Sym bol ic Link s a un arch ivo...............................................................................................143 Encontrar H ard Link s a un Arch ivo.....................................................................................................143 Adm inistrar l os Pe rm isos...........................................................................................................................144 Usuarios y Grupos ...............................................................................................................................144 ElSupe rusuario: root ..........................................................................................................................144 Cam biar Pe rm isos de Propie dad con ch ow n........................................................................................144 Cam biar Grupos de Arch ivos con ch grp...............................................................................................144 Cam biar e lApode ram ie nto D ir y su Conte nido...................................................................................145 Cam biar Apode ram ie nto Usuarios y Grupos........................................................................................145 Pe rm isos y Controlde lAcce so a Arch ivos .................................................................................................145 Conce ptos Básicos: Pe rm isos e n Arch ivos ...........................................................................................145 Conce ptos Básicos: Pe rm isos e n D ire ctorios........................................................................................145 Conce ptos Básicos: Pe rm isos ..............................................................................................................146 Exam inar Pe rm isos: l s -l......................................................................................................................146 Pre se rvar Pe rm isos para Copiar Arch ivos ...........................................................................................146 Com o se Apl ican l os Pe rm isos ............................................................................................................146 Cam biar Pe rm isos Arch /D irs: ch m od...................................................................................................146 Espe cificar Pe rm isos con ch m od..........................................................................................................146 Cam biar Pe rm isos de D ire ctorio y Conte nido .....................................................................................147 Pe rm isos Espe cial e s de D ire ctorios: ‘Stick y’.........................................................................................147 Pe rm isos Espe cial e s de D ire ctorios: Se tgid .........................................................................................147 Pe rm isos Espe cial e s de Arch ivos: Se tgid .............................................................................................147 Pe rm isos Espe cial e s de Arch ivos: Se tuid .............................................................................................147 D e spl e gar Pe rm isos no Usual .................................................................................................................148 Pág 18 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Pe rm isos com o Núm e ros ......................................................................................................................148 Pe rm isos por D e fe cto: um ask ................................................................................................................148 Práctica8 ......................................................................................................................................................149 Eje rcicio 1 ............................................................................................................................................149 Eje rcicio 2 ............................................................................................................................................149 Eje rcicio 3 ............................................................................................................................................149 Eje rcicio 4 ............................................................................................................................................150 Capítul o9 ......................................................................................................................................................151 Cre ar, M ontar, M ante ne r y Adm Particione s y FS..........................................................................................151 Los O bje tivos de e ste Capítul o son:..............................................................................................................151 Cre ar Particione s y Siste m as de Arch ivos ..................................................................................................152 Conce ptos: D iscos y Particione s .............................................................................................................152 Nom bre de l os discos............................................................................................................................152 Usar e lfdisk ..........................................................................................................................................153 Usar e lcfdisk ........................................................................................................................................153 Cre ar nue va Particione s .......................................................................................................................153 Cam biar Tipos de Particione s...............................................................................................................153 Cre ar Siste m a de Arch ivos con m k fs....................................................................................................153 M ontar y D e sm ontar Siste m as de Arch ivos................................................................................................154 M ontar Siste m a de Arch ivos...................................................................................................................154 M ontar un Siste m a de Arch ivos: m ount ..............................................................................................154 M ontar O tros Siste m as de Arch ivos .....................................................................................................154 D e sm ontar un Siste m a de Arch ivos: um ount........................................................................................154 Configurar m ount: /e tc/fstab ..............................................................................................................154 Tipos de Siste m as de Arch ivos..............................................................................................................155 O pcione s de M ount...............................................................................................................................155 O tras col um nas e n /e tc/fstab ..............................................................................................................155 M ontar un Arch ivo ..............................................................................................................................156 M ante ne r l a Inte gridad de lSiste m a de Arch ivos .......................................................................................156 Conce ptos de Siste m as de Arch ivos........................................................................................................156 Probl e m as Pote ncial e s .........................................................................................................................156 M onitore ar e lEspacio e n D iscos: df......................................................................................................156 M onitore ar l os Inode s: df ....................................................................................................................157 M onitore ar Uso de lD isco: du ..............................................................................................................157 O pcione s de du ......................................................................................................................................157 D e scripción de l as O pcione s ................................................................................................................157 Encontrar y Re parar Siste m as de Arch ivos Corrom pidos: fsck .............................................................158 Eje cutar fsck ........................................................................................................................................158 Encontrar y Col ocar Arch ivos e n su Lugar .................................................................................................158 O rganizar de un Siste m a de Arch ivos Unix...........................................................................................158 Estándar de lSiste m a de Arch ivos Je rárq uico.......................................................................................158 D ata com partibl e y no-com partibl e .................................................................................................... 158 D ata Estática y D inám ica..................................................................................................................... 159 Vistazo alFH S..................................................................................................................................... 159 FH S: Softw are Instal ado .................................................................................................................... 159 Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano FH S: O tros D ire ctorios de bajo de /usr................................................................................................ 159 FH S: D ire ctorios D e bajo de /var ........................................................................................................ 160 FH S: O tros D ire ctorios ....................................................................................................................... 160 FH S: O tros D ire ctorios ....................................................................................................................... 160 Encontrar Program as con w h ich ......................................................................................................... 160 Elcom ando Buil t-in type .................................................................................................................... 160 Re visar Com andos Propios de lSh e l lcon type ..................................................................................... 161 Elcom ando unam e ............................................................................................................................ 161 D e scripción...................................................................................................................................... 161 Eje m pl os............................................................................................................................................. 162 Eje m pl os Avanzados........................................................................................................................... 163 # !bin/sh ............................................................................................................................................. 164 Actual izar l a base de datos de l ocate ................................................................................................. 164 update db.conf .................................................................................................................................... 164 Elcom ando w h atis............................................................................................................................. 164 Encontrar páginas M an con apropos.................................................................................................. 165 Establ e ce r y Ve r Cuotas de D iscos............................................................................................................ 165 ¿Que son l as Quotas?........................................................................................................................... 165 Lim ite s H ard y Soft ............................................................................................................................ 165 Cuotas Por-Usuario y Por-Grupo ........................................................................................................ 165 Lim ite s de Bl ock e Inode .................................................................................................................... 165 M ostrar Lím ite s de Quota: q uota........................................................................................................ 166 O pcione s e n /e tc/fstab ....................................................................................................................... 166 H abil itar Quota: q uotaon.................................................................................................................... 166 Cam biar Lím ite s de Cuota: se tq uota................................................................................................... 166 ELcom ando e dq uota ......................................................................................................................... 166 Elcom ando re pq uota ......................................................................................................................... 167 Práctica9 .................................................................................................................................................... 168 Eje rcicio 1 .......................................................................................................................................... 168 Eje rcicio 2 .......................................................................................................................................... 168 Eje rcicio 3 .......................................................................................................................................... 168 Capítul o10.................................................................................................................................................. 169 Conce ptos de Arrancar y D e te r e lSiste m a ................................................................................................. 169 Los O bje tivos de e ste Capítul o son:............................................................................................................ 169 Arrancar e lSiste m a ................................................................................................................................. 170 Boot Loade rs (Cargadore s de Inicio).................................................................................................. 170 GRUB ................................................................................................................................................. 170 Eje m pl o Arch ivo de Configuración m e nu.l st....................................................................................... 170 Se l e ccionando q ue Arrancar................................................................................................................ 171 O tra m ane ra de Iniciar GNU/Linux..................................................................................................... 171 Espe cificar Parám e tros de lKe rne l ....................................................................................................... 171 Espe cificar Parám e tros de lKe rne lde sde GRUB .................................................................................. 171 Parám e tros Útil e s de lKe rne l ............................................................................................................... 172 M e nsaje s de Arranq ue (Boot M e ssage s)............................................................................................. 172 Pág 20 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano M ódul os de lKe rne l............................................................................................................................... 172 Runl e ve l s y Apagar o Re iniciar e lSiste m a .................................................................................................. 172 Ente nde r l os Runl e ve l s ......................................................................................................................... 172 Runl e ve l s Típicos .................................................................................................................................... 173 D e scripción de l os Runl e ve l s ................................................................................................................ 173 Usuario Único (Singl e -Use r M ode ) y e lsul ogin .................................................................................... 173 Apagar y re iniciar e lSiste m a ................................................................................................................ 173 Establ e ce r e lRunl e ve lPor D e fe cto ........................................................................................................ 173 Se l e ccionar D ife re nte Runl e ve lalInicio ............................................................................................... 173 D e te rm inar e lRunl e ve lActual............................................................................................................. 174 Cam biar de Runl e ve l............................................................................................................................ 174 Se rvicios e n cada Runl e ve l : e ldire ctorio init.d .................................................................................... 174 Víncul os Sim ból icos e n rcN.d ............................................................................................................... 174 Arrancar y D e te ne r Se rvicios Individual e s .............................................................................................174 Práctica10 ..................................................................................................................................................... 176 Eje rcicio 1 .............................. 176 Eje rcicio 2 .............................. 176 Eje rcicio 3 .............................. 176 Eje rcicio 4 .............................. 177 Eje rcicio 5 .............................. 177 Gl osario .............................. a Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Introd u cción Unix, Linux y e lGNU Los O b je tivos de e ste Capítul o son: 1.Qué e s Unix, BSD y l os de rivados 2.Fil osofía Unix 3.Fil osofía GNU 4.ElKe rne lLinux 5.Elsiste m a ope rativo GNU/Linux 6.Las caracte rísticas de lGNU/Linux Pág 22 Capítu l o1 H azl o sim pl e : tan sim pl e com o se a posib l e, pe ro no m ás. --A. Einste in UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Unix, Linux y e lGNU ¿Qué e s UNIX? UNIX e s un siste m a ope rativo m ul titare a, m ul tiusuario, cre ado e n 19 69 por l os inve stigadore s Th om pson y Ritch ie de l os Laboratorios Be l l , en l os Estados Unidos. Las prim e ras ve rsione s fue ron e scritas e n assam bl e r, pe ro m uy pronto fue re -e scrito e n l e nguaje C. En sus prim e ros años, no se l o util izó com e rcial m e nte , sino q ue se usaba para proye ctos de inve stigación e n l aboratorios y se distribuya gratuitam e nte e n l as unive rsidade s, donde tuvo m uch a ace ptación. En 19 75, Be l lde cidió com e rcial izarl o. D ado q ue e lsiste m a se ve ndía con una l ice ncia q ue pe rm itía m odificarl o y re distribuirl o, a l ol argo de ltie m po fue ron surgie ndo una gran varie dad de siste m as de rivados de lUNIX original . Los m ás conocidos, actual m e nte , son: Sol aris, AIX, H PUX, SCO , BSD . Por e sta razón, varias ve ce s se h izo ne ce sario norm al izar e stos siste m as, para q ue cum pl an con de te rm inadas norm as (PO SIX, UNIX9 5, e tc.), para pe rm itir l a com patibil idad e ntre l os dife re nte s siste m as. D e e stas norm as, e lsiste m a ope rativo GNU/Linux satisface l a norm a PO SIX-1, y casi com pl e tam e nte l a PO SIX-2. ¿Qué e s BSD ? La Unive rsidad de Be rk e l e y e stuvo re l acionada con e lde sarrol l o de l os siste m as ope rativos UNIX. Re cibió de AT& T una ve rsión gratuita de UNIX, y a partir de e ntonce s com e nzó a prom ove r e l de sarrol l o de apl icacione s para UNIX de ntro de l a unive rsidad. M ás ade l ante , de sarrol l ó su propio siste m a ope rativo UNIX, sin util izar e lcódigo fue nte de AT& T. Elk e rne lfué cre ado de sde Be rk e l e y, pe ro l as h e rram ie ntas util izadas son e n su m ayoría GNU, e s de cir l as m ism as q ue e n e lsiste m a GNU/Linux. Existe n actual m e nte 3 siste m as ope rativos l ibre s, de rivados de lBSD : Fre e BSD , O pe nBSD y Ne tBSD . Fil osofía Unix ¿Por q ué tuvo tanto éxito e le nfoq ue de UNIX? Apare nte m e nte , su sim pl icidad fue un factor de cisivo. En su dise ño, sus cre adore s ante pusie ron l a facil idad de com pre nsión a l a e ficie ncia, de m ane ra q ue e ra fácile nte nde r e lcódigo y, por e nde , adaptarl oal as ne ce sidade s de otros. UNIX no e s una re l iq uia de lpasado;de h e ch o, l a m ayor parte de l os siste m as ope rativos actual e s son una e vol ución de UNIX. Por e so convie ne conoce r l os principios e n l os q ue se fundam e nta, pue sto q ue e sos m ism os principios e starán pre se nte s (de una u otra m ane ra) e n l os siste m as q ue h oy podam os m ane jar. Todo e s un Arch ivo Esta ide a, propia de l a orie ntación a obje tos (si bie n l a pre ce de ), consiste e n q ue l a unidad básica para l a inte racción con e lsiste m a e s una e ntidad l l am ada arch ivo q ue , com o l os arch ivos e n pape l , pue de abrirse , l e e rse , avanzar h ojas h acia de l ante y h acia atrás, e scribir e n él , y ce rrarse . Este m ode l o tan se ncil l o pue de pare ce r inge nuo, pe ro h a probado se r e xtre m adam e nte val ioso. Pe rm ite a un program a acce de r transpare nte m e nte a un docum e nto de te xto o a un pue rto de Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano com unicacione s. M ul ti-Usuario En un siste m a m ul tiusuario, cuando al guie n q uie re acce de r a l a m áq uina, de be ide ntificarse , para pode r se r re conocido por ésta y pe rm itirl e l a e ntrada alsiste m a, si se trata de un usuario autorizado. Este proce so e s e lq ue se conoce com o l ogging in. D urante e ste proce so, l a m áq uina nos pre guntará nue stro nom bre de usuario (l ogin) y nue stra contrase ña (passw ord). Es e l adm inistrador de lsiste m a (root) q uie n de be cre arnos una cue nta e n l a m áq uina y q uie n nos dará l os datos. Una ve z e ntre m os a nue stra cue nta, nos e ncontrare m os de ntro de nue stro dire ctorio H O M E (e ldire ctorio q ue nos asigna e ladm inistrador para q ue guarde m os nue stros trabajos), y se nos apare ce rá e lprom pt de lsiste m a: e sto e s un sím bol o q ue nos indica q ue l a m áq uina e stá l ista para re cibir com andos. Pue de se r al go pare cido a: Linux: /h om e /Usuario# o bie n o cam biando # por $, pe ro e n todos l os siste m as apare ce n de form a pare cida a e sta. Elnom bre ante rior a l os dos puntos e s e lnom bre de l a m áq uina e n l a q ue trabaja. Elsím bol o ~ en l a ruta significa q ue e stam os e n nue stro dire ctorio H O M E. H ay siste m as UNIX q ue m ue stran e ldire ctorio com pl e to, y l os h ay q ue no, para sabe r si e stam os e n nue stro H O M E, e xiste e se sím bol o de ~ . M ul ti-Tare a La pal abra m ul titare a de scribe l a h abil idad de e je cutar varios program as al m ism o tie m po. GNU/LINUX util iza l al l am ada m ul titare a pre ve ntiva, l a cualase gura q ue todos l os program as q ue se e stán util izando e n un m om e nto dado se rán e je cutados, sie ndo e l siste m a ope rativo e l e ncargado de ce de r tie m po de m icroproce sador a cada program a. La navaja Suiza UNIX incorpora un conjunto de h e rram ie ntas q ue guardan cie rta anal ogía con una navaja m ul tiusos. Son sim pl e s, pe ro h ace n m uy bie n su trabajo. En l ugar de construir program as m uy com pl e jos, UNIX proporcionaba m uch as pe q ue ñas h e rram ie ntas, y un e sq ue m a para pode r com binarl as de form a e fe ctiva. Este dise ño e scal a m uy bie n, pe rm itie ndo al siste m a cre ce r, incorporar nue vas h e rram ie ntas y, a l a ve z, se r com patibl e h acia atrás. M anuale n Líne a Cuando Th om pson y Ritch ie e staban de sarrol l ando UNIX, sol icitaron a sus je fe s un com putador m ás pote nte (D EC PD P-11) a cam bio de de sarrol l ar un siste m a com pl e to de tipografía (no l e s dije ron nada ace rca de UNIX). Con e lnue vo orde nador de sarrol l aron UNIX sobre C y, Joe F. O ssanna de sarrol l ó troff (de type se tting run-off). Este siste m a fue incl uido e n e lpropio UNIX, de m ane ra q ue e l m anualde lsiste m a fue e scrito con él , e stando disponibl e en l íne a de sde e ntonce s (a través de l Pág 24 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano program a m an). Arq uite ctura de l os Siste m as Unix 1. Elsh e l ly e lXw indow son program as 2. Program as sol o pue de n acce de r e lh ardw are vía e lk e rne l ¿Qué e s GNU? La sigl a GNU sim pl e m e nte significan GNU is Not Unix. En 19 84, Rich ard Stal l m an fundó e lProye cto GNU con e lobje tivo de ope rativo l ibre y abie rto. Esto e s, un siste m a ope rativo talq ue l os usuarios código fue nte , m odificarl o, y re distribuirl o. A partir de e se m om e nto, col aboradore s se fue ron sum ando alproye cto, de sarrol l ando softw are l ibre una de l as h e rram ie ntas de lsiste m a UNIX. conse guir un siste m a pue dan usarl o, l eer el un gran núm e ro de para re e m pl azar cada La fil osofía GNU apoya e lcre cim ie nto de l a socie dad com o un conjunto, h acie ndo e spe cial h incapié e n l a val oración de l as l ibe rtade s pe rsonal e s, aún cuando e sto pue de e star e n confl icto con inte re se s e m pre sarial e s. ¿Qué e s Linux? En 19 9 1, Linus Torval ds com pl e tó e lsiste m a con su k e rne l(l a apl icación e ncargada de com unicar l os proce sos con e lh ardw are de l a com putadora). A e ste k e rne lse l e bautizó Linux. D e e sta m ane ra, se form ó e lsiste m a GNU/Linux. Al gunas de l as caracte rísticas de GNU/Linux son: *M ul titare a: La pal abra m ul titare a de scribe l a h abil idad de e je cutar varios program as alm ism o tie m po. Linux util iza l a l l am ada m ul titare a pre ve ntiva, l a cualase gura q ue todos l os program as q ue se e stán util izando e n un m om e nto dado se rán e je cutados, sie ndo e lsiste m a ope rativo e le ncargado de ce de r tie m po de m icroproce sador a cada program a. *M ul tiusuario: M uch os usuarios usando l a m ism a m aq uina alm ism o tie m po. *M ul tipl ataform a: Las pl ataform as e n l as q ue e n un principio se pue de util izar Linux son 386-, 486-. Pe ntium , Pe ntium Pro, Pe ntium II, Am iga y Atari, tam bién e xiste n ve rsione s para su util ización e n otras pl ataform as, com o Al ph a, ARM , M IPS, Pow e rPC y SPARC. *M ul tiproce sador: Soporte para siste m as m ul tiproce sador e stan disponibl e para Inte ly SPARC. Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano *M onol ítico: Se basa e n un gran núcl e o q ue se e ncarga de l a ge stión y controlde todo e lsiste m a. A dife re ncia de e stos, l os m icronúcl e os re parte n sus tare as e ntre varios se gm e ntos de código de dicados a m e ne ste re s m ás particul are s, gozándose de gran fl e xibil idad y ve rsatil idad. *Funciona e n m odo prote gido 386 * Prote cción de l a m e m oria e ntre proce sos, de m ane ra q ue uno de e l l os no pue da col gar e l siste m a. *Carga de e je cutab l e s por de m anda: Linux sól ol e e de ldisco aq ue l l as parte s de un program a q ue e stán sie ndo usadas actual m e nte . *Pol ítica de copia e n e scritura para l a com partición de páginas e ntre e je cutab l e s: Esto significa q ue varios proce sos pue de n usar l a m ism a zona de m e m oria para e je cutarse . Cuando al guno inte nta e scribir e n e sa m e m oria, l a página (4Kb de m e m oria) se copia a otro l ugar. Esta pol ítica de copia e n e scritura tie ne dos be ne ficios: aum e nta l a ve l ocidad y re duce e luso de m e m oria. *M e m oria virtualusando paginación (sin inte rcam b io de proce sos com pl e tos) a disco: A una partición o un arch ivo e n e lsiste m a de arch ivos, o am bos, con l a posibil idad de añadir m ás áre as de inte rcam bio sobre l a m arch a Un totalde 16 zonas de inte rcam bio de 128M b de tam año m áxim o pue de n se r usadas e n un m om e nto dado con un l ím ite te órico de 2Gb para inte rcam bio. Este l ím ite se pue de aum e ntar fácil m e nte con e lcam bio de unas cuantas l íne as e n e lcódigo fue nte . * La m e m oria se ge stiona com o un re curso unificado para l os program as de usuario y para e l cach é de disco, de talform a q ue toda l a m e m oria l ibre pue de se r usada para cach é y ésta pue de a su ve z se r re ducida cuando se e je cute n grande s program as. *Libre rías com partidas de carga dinám ica (D LL's) y l ibre rías e státicas. Se re al izan vol cados de e stado (core dum ps) para posibil itar l os anál isis post-m orte m , pe rm itie ndo e luso de de puradore s sobre l os program as no sól o e n e je cución sino tam bién tras abortar éstos por cual q uie r m otivo. *Com patibl e con PO SIX, Syste m Vy BSD a nive lfue nte . *Em ul ación de iBCS2, casi com pl e tam e nte com patibl e con SCO , SVR3 y SVR4 a nive lbinario. * Todo e lcódigo fue nte e stá disponibl e , incl uye ndo e lnúcl e o com pl e to y todos l os drive rs, l as h e rram ie ntas de de sarrol l o y todos l os program as de usuario;ade m ás todo e l l o se pue de distribuir l ibre m e nte . H ay al gunos program as com e rcial e s q ue e stán sie ndo ofre cidos para Linux actual m e nte sin código fue nte , pe ro todo l o q ue h a sido gratuito sigue sie ndo gratuito. *Controlde tare as PO SIX. Pág 26 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano *Pse udo-te rm inal e s (pty's). * Em ul ación de 387 e n e lnúcl e o, de talform a q ue l os program as no te ngan q ue h ace r su propia e m ul ación m ate m ática. Cual q uie r m áq uina q ue e je cute Linux pare ce rá dotada de coproce sador m ate m ático. Por supue sto, si e lorde nador ya tie ne una FPU (unidad de com a fl otante ), e sta se rá usada e n l ugar de l a e m ul ación, pudie ndo incl uso com pil ar tu propio k e rne lsin l a e m ul ación m ate m ática y conse guir un pe q ue ño ah orro de m e m oria. * Soporte para m uch os te cl ados nacional e s o adaptados y e s bastante fácil añadir nue vos dinám icam e nte . * Consol as virtual e s m úl tipl e s: varias se sione s de l ogin a través de l a consol a e ntre l as q ue se pue de cam biar con l as com binacione s ade cuadas de te cl as (total m e nte inde pe ndie nte de l h ardw are de vide o). Se cre an dinám icam e nte y pue de s te ne r h asta 64. *Soporte para varios siste m as de arch ivo com une s, incl uye ndo m inix-1, Xe nix y todos l os siste m as de arch ivo típicos de Syste m V , y tie ne un avanzado siste m a de arch ivos propio con una capacidad de h asta 4 Tb y nom bre s de arch ivos de h asta 255 caracte re s de l ongitud. * Acce so transpare nte a particione s M S-D O S (o a particione s O S/2 FAT) m e diante un siste m a de arch ivos e spe cial : no e s ne ce sario ningún com ando e spe cialpara usar l a partición M S-D O S, e sta pare ce un siste m a de arch ivos norm alde Unix (e xce pto por al gunas re striccione s e n l os nom bre s de arch ivo, pe rm isos, y e sas cosas). Las particione s com prim idas de M S-D O S 6 no son acce sibl es e n e ste m om e nto, y no se e spe ra q ue l o se an e n e lfuturo. Elsoporte para VFAT, FAT32 (W NT, W indow s 9 5/9 8) se e ncue ntra soportado de sde l a ve rsión 2.0 de lnúcl e o y e lNTFS de W NT de sde l a ve rsión 2.2 (Este ul tim o sol o e n m odo l e ctura). * Un siste m a de arch ivos e spe ciall l am ado UM SD O S q ue pe rm ite q ue Linux se a instal ado e n un siste m a de arch ivos D O S. *Soporte e n sól ol e ctura de H PFS-2 de lO S/2 2.1 Siste m a de arch ivos de CD -RO M q ue l e e todos l os form atos e stándar de CD -RO M . TCP/IP, incl uye ndo ftp, te l ne t, NFS, e tc. Appl e tal k. *Softw are cl ie nte y se rvidor Ne tw are . *LAN M anage r / W indow s Native (SM B), softw are cl ie nte y se rvidor. *D ive rsos protocol os de re d incl uidos e n e lk e rne l : TCP, IPv4, IPv6, X.25, IPX, Ne trom , e tc. ?Qué son l as distrib ucione s? Elcódigo fue nte de lsiste m a GNU y de lk e rne lLinux e stá acce sibl e a todo e lm undo, sin e m bargo, h ace r funcionar un siste m a a partir de lcódigo fue nte e s bastante difícil . Por e so, un siste m a Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano ope rativo se distribuye (norm al m e nte ) e n form ato binario, e s de cir ya com pil ado. Poco de spués de q ue apare cie ra e lk e rne lLinux, com e nzaron a apare ce r l as prim e ras distribucione s, q ue agrupaban ve rsione s probadas de varios program as, junto con e lk e rne l , de talm ane ra q ue form aban un siste m a ope rativo l isto para usar. A m e dida q ue fue pasando e ltie m po, al gunas distribucione s se fue ron h acie ndo m ás sofisticadas, otras de sapare cie ron, otras se h icie ron com e rcial e s y apare cie ron m uch a m ás. Existe n distribucione s de m uch os tipos: distribucione s q ue ocupan 1 disq ue te y distribucione s q ue l l e gan a ocupar 10 CD s; distribucione s orie ntadas a una final idad e n e spe cial(re de s, se guridad, e tc) y distribucione s de uso ge ne ral . Cada usuario de GNU/Linux sue l e el e gir l a distribución con l a q ue se sie nte m ás cóm odo, y no tie ne se ntido e ntrar e n discusione s ace rca de cuále s m e jor. A m e nos q ue acl are m os l o contrario, l o q ue se e nse ña e n e ste curso e s apl icabl e a l a gran m ayoría de l os siste m as UNIX, y a cual q uie ra de l as distribucione s de GNU/Linux. Softw are Libre A l o l argo de todo e ste curso, sie m pre util izam os Softw are Libre . Por l o ge ne ral , e ste softw are l o h e m os obte nido gratuitam e nte , sin e m bargo, de be m os e nte nde r q ue e lh e ch o de q ue e lsoftw are se a l ibre e stá re l acionado con l a l ibe rtad q ue nos otorga a l os usuarios de util izarl o, m odificarl o y distribuirl o, no con e lpre cio alcuall o pode m os obte ne r. Alh abl ar de softw are l ibre se sue l e n cl asificar l os distintos grados de l ibe rtad a l os q ue pode m os te ne r acce so l os usuarios. Lib e rtad 0: Elsoftw are se pue de usar. Es l al ibe rtad q ue nos otorga casi cual q uie r softw are . Lib e rtad 1: Elsoftw are se pue de m odificar. Es de cir, se pue de pe rsonal izar, m e jorar, adaptar para l as ne ce sidade s particul are s de un de te rm inado usuario. Lib e rtad 2: Elsoftw are se pue de distribuir. Es de cir, se pue de copiar, ve nde r, pre star o com partir a l as pe rsonas q ue e lusuario de se e , sin te ne r q ue pe dir pe rm iso alautor de lsoftw are . Lib e rtad 3: Elsoftw are se pue de distribuir m odificado. Se trata de una sum a de l a1yl a 2. Pe rm ite q ue l as m e joras q ue un usuario l e h aya h e ch o a un de te rm inado softw are pue dan com partirse con otros usuarios. Para pode r conside rar q ue una de te rm inada apl icación cum pl e con l os re q uisitos de softw are l ibre e s ne ce sario q ue e stén dadas e stas cuatro l ibe rtade s para cual q uie r usuario. En particul ar para pode r te ne r l al ibe rtad de m odificar e lsoftw are , e s ne ce sario te ne r acce so alcódigo fue nte de lprogram a e n cue stión, y no sol am e nte alcódigo binario (l l am am os código binario a aq uélq ue e s e nte ndido por l a com putadora) ya q ue para pode r m odificar corre ctam e nte e lsoftw are e s ne ce sario pode r acce de r al código fue nte original . Estas ide as de softw are l ibre com o l as conoce m os h oy fue ron de sarrol l adas y trabajadas durante m uch o tie m po por Rich ard Stal l m an y sus se guidore s, m ie m bros de l a “Fre e Softw are Fundation” (Fundación de lSoftw are Libre ). Pág 28 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano En ge ne rall as ide as de lsoftw are l ibre buscan prom ove r l a ge ne ración de m e jor softw are (a través de l a sum a de l os pe q ue ños aporte s de cada pe rsona), y col aborar para q ue toda l a socie dad se ve a be ne ficiada con l os avance s de lsoftw are . Es de cir, l ogram os m e jorar l a socie dad alte ne r disponibl es m ás y m e jore s h e rram ie ntas. Para m ás inform ación sobre e lsoftw are l ibre pue de n visitar e lsitio de Inte rne t de lProye cto GNU (h ttp://w w w .gnu.org), q ue tie ne una gran cantidad de docum e ntos re l acionados con l a fil osofía de l softw are l ibre . Usando GNU/Linux M odo Gráfico - M odo Consol a Com o ya dijim os ante riorm e nte , GNU/Linux pue de util izar e lM odo Gráfico, si util iza l a apl icación XFre e 86. Por otro l ado, l l am am os M odo Consol a, alm odo q ue e s puram e nte te xto. Gran cantidad de l os te m as q ue se e nse ñan e n e ste curso se pue de n probar e n m odo consol a, o bie n e n una consol a gráfica, de ntro de lm odo gráfico. Com e nzando l a Se sión D ado q ue UNIX e s un siste m a m ul tiusuario, para pode r com e nzar a util izarl o de be m os ingre sar e l usuario y passw ord q ue nos ide ntifica. Esto l o pode m os h ace r tanto e n m odo gráfico com o e n m odo consol a. M uch as ve ce s, cuando ingre se m os nue stra contrase ña a un siste m a UNIX, no ve re m os l os caracte re s (ni siq uie ra un ’*’). Esto se de be a q ue de e sta m ane ra e s m ás difícilq ue un obse rvador se pa l a cantidad de caracte re s q ue contie ne nue stra contrase ña. Una ve z q ue h ayam os ingre sado, te ndre m os acce so a nue stros arch ivos, y podre m os e je cutar una gran cantidad de apl icacione s, se gún l os pe rm isos q ue se l e h ayan dado a nue stro usuario. Es de cir q ue , cada usuario q ue util ice e lsiste m a te ndrá un tratam ie nto distinto. A e sto nos re fe rim os Cuando de cim os q ue todo siste m a de rivado de UNIX e s m ul tiusuario. En particul ar, e xiste un usuario q ue e s e le ncargado de adm inistrar e lsiste m a, e s e lusuario q ue tie ne acce so a l os arch ivos de configuración, a instal ar y de sinstal ar e lsiste m a. Este usuario sue l e te ne r e l nom bre de root, o tam bién supe rusuario. Te rm inar l a se sión Para sal ir de lsh e l l , use e lcom ando e xit, o pre sione l as te cl as CTRL+ D de sde e lPRO M PT. Si se e ncue ntra e n e l m odo gráfico de be rá e je cutar de sde e lm e nú de inicio => l ogout => e lsiste m a l e pre se ntara una ve ntana de dial ogo y e l e girá sal ir o re iniciar. Elm odo de te rm inalo consol a: # e xit $l ogout Se rán suficie nte s. D e spués de sal ir de lsiste m a, e lsiste m a pre se ntará de nue vo un l ogin PRO M PT si e stá e n m odo Sh e l lo un de sk top si e n e lm odo gráfico. Com andos Unix Los com andos se e je cutan de sde un sh e l l . Se e scribe n e n e lPRO M PT de lsh e l ly l ue go se pre siona ENTRE. Elsh e l ltrata de inte rpre tar e lcom ando, si e s re conocido se e je cuta;si no de vue l ve un e rror (pre ce dido por un $ si e s usuario norm alo # si e s l a cue nta de root). Al gunos com andos re q uie re n parám e tros, tam bién conocidos com o argum e ntos. Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Eje m pl os: $date Th u Jun 14 12:28:05 BST 2001 Elsím bol o de $e s e lprom pt y cl aro e stá no l o e scriba e n l al íne a de com andos. $e ch o Sal udo Todos Sal udo Todos Los com andos dife re ncian e ntre m ayúscul a y m inúscul a, y casi sie m pre son e scritos e n m inúscul a $e ch o re píte l o re píte l o $ECH O R EPITELO b ash : ECH O : com m and not found (com ando no e ncontrado) Estándare s y conve ncione s Unix *Existe n dife re ncias e ntre l os siste m as ope rativos GNU/Linux y Unix *Espe cial m e nte e n l o q ue concie rne l a adm inistración de lsiste m a *A m e nudo cosas e spe cíficas de GNU/Linux e n e stas áre as Nom b re s de Arch ivo En Unix, cada arch ivo tie ne un nom bre q ue l e da e lusuario para pode r util izarl o. Un nom bre de arch ivo pue de se r casi cual q uie r cade na de caracte re s, donde e lúnico carácte r ASCII q ue no se pue de usar e s e lsl ash (/), q ue e n Unix se usa com o se parador de dire ctorios y arch ivos. Existe n otros caracte re s q ue se re com ie nda no usarl os pue s tie ne n significado e spe cial para e l intérpre te de com andos de Unix, com o son (! # & ( ) *‘“ `;| < > @ $^ { }¿?: \) e spacio back space tab + - y l os caracte re s de control . Las m ayúscul as y m inúscul as son conside radas distintas e n Unix y, por e je m pl o, l os nom bre s CARTA, carta y Carta corre sponde n a tre s arch ivos distintos. Se re com ie nda q ue l os nom bre s de arch ivo no te ngan m ás de 14 caracte re s porq ue , sal vo casos e spe cial e s, Unix conside ra igual e s a dos arch ivos si coincide n e n l os prim e ros 14 caracte re s (e sto no e s e lcaso para ve rsione s m ode rnas de Unix, l as q ue pue de n ace ptar nom bre s de arch ivo de m ás de 80 caracte re s). D ire ctorios Los dire ctorios son l a base de lsiste m a je rárq uico de arch ivos de Unix. Son grupos de arch ivos q ue sirve n para cl asificarl os y organizarl os de acue rdo a l as ne ce sidade s de l os usuarios. Un dire ctorio pue de conte ne r otros dire ctorios y arch ivos, y así suce sivam e nte . En te oría, no e xiste l im itación de l núm e ro de arch ivos y dire ctorios q ue se pue dan cre ar e n un dire ctorio, con e xce pción de ltam año de l dispositivo donde se al m ace na. Elsiste m a de dire ctorios y arch ivos se pue de graficar e n l o q ue se conoce com o e structura de árbol . Pág 30 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Práctica 1 Eje rcicio 1 1)¿Qué e s Unix? 2)Nom b re Cinco varie dade s de Unix 3)¿Qué e s PO SIX? 4)Nom b re 5 Pe rsonaje s de Softw are Lib re . 5)Nom b re 5 proye ctos de lSoftw are Lib re . Eje rcicio 2 1)Ingre se alSiste m a (Log in). 2)Sal ga de lSiste m a (Log out). 3)Ingre se de nue vo (Login). Ab ra un te rm inale n e lXW indow . 4)Sal ga de lsh e l l ;l a ve ntana de lte rm inalde b e ce rrarse . 5)Inicie otro sh e l l . Eje cute l os siguie nte s com andos e n e ste orde n. # date # w h oam i # h ostnam e # unam e # uptim e Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Los Inicios Los O b je tivos de e ste Capítul o son: 1. M ane jo de l os com andos b ásicos 2. Com pl e tar com andos con TAB 3. Uso de lcom ando h istory 4. Arch ivos y D ire ctorios 5. Encade nam ie nto de com andos 6. Tub e rías y Re dire ccionam ie nto Pág 32 Capítu l o2 Todos l os niños apre nde n sob re todo jugando, por e so fue de ve rdad m uy im portante q ue Linus e ntrara alm undo de l a inform ática, e n un m om e nto e n q ue l os com putadore s e ran todavía m uy sim pl e s. Para un niño de 10 o 12 años e ra fácildarse cue nta de l o q ue h ab ía e n e linte rior de l os com putadore s, com pre nde r su e se ncia. Para l os niños y l as niñas de h oy día, e s m uch o m ás difícilcom pre nde r e lm ism o tipo de cosas, por q ue h ay de m asiado nive l es y el e m e ntos com pl icado e n l os com putadore s actual e s, para q ue pue dan adq uirir e ltipo de instinto y com pre sión q ue " Linus " adq uirió a través de ljue go. Nil s Torval ds …Padre de Linus Torval ds UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Prim e ros com andos básicos Cre ar arch ivos con e lcom ando cat Eje cutando cat arch ivo podre m os ve r e lconte nido de arch ivo. Este com ando pue de re cibir una se rie de arch ivos, y e lre sul tado se rá q ue nos m ostrará un arch ivo a continuación de lotro. Un caso e spe cialse produce cuando e je cutam os cat sin ningún nom bre de arch ivo. En e ste caso, e l com ando e spe rará a q ue nosotros l e de m os una e ntrada, y l a irá re producie ndo l íne a por l íne a. H asta q ue pre sione m os l a com binación Ctrl + d, q ue indica q ue l a e ntrada h a te rm inado. Una de l as m ane ras m ás se ncil l a de cre ar un arch ivo e s con e lcom ando cat: $cat > l istado.txt Fe l ipe Carl os Luisa M anue l Note e lsím bol o de (> ) - e s ne ce sario para cre ar e larch ivo. Elte xto q ue e scribas se rá e scrito al arch ivo e spe cificado com o argum e nto e n e ste caso l istado.txt Pre sione Ctrl + d de spués de l a úl tim a e ntrada para de notar e lfin de arch ivo. D e spl e gar arch ivos con e lcom ando cat Existe n m uch as m ane ras de de spl e gar un arch ivo a pantal l a para l e e r, una de l as m ane ras m ás fácile s con e lcom ando cat: $cat l istado.txt Fe l ipe Carl os Luisa M anue l Note q ue no se e sta util izando e lsím bol os (> ). Elconte nido e s de spl e gado de inm e diato. Borrar arch ivos con rm Para borrar arch ivos util izam os e lcom ando rm . H ay q ue usarl o cuidadosam e nte , porq ue una ve z q ue l os arch ivos h an sido borrados, no pue de n re cupe rarse de ninguna form a. Si de se am os q ue rm nos pre gunte si q ue re m os borrar o no un arch ivo, de be m os util izar l a opción -i, m ie ntras q ue si de se am os q ue no nos pre gunte util izam os l a opción -f. D e pe nde rá de l a configuración de lsiste m a cualde e stas dos opcione s e s l a q ue e stá se l e ccionada por om isión. $rm arch ivo_b orrar.txt Ale je cutar e ste com ando e larch ivo arch ivo_borrar.txt e s e l im inado y: No e xiste un SAFACO N No e xiste e lcom ando unrm Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano M e nsaje s de l os com andos Unix Típicam e nte , com andos e xitosos no de vue l ve n ningún m e nsaje . M e nsaje s son de spl e gados sol o en caso de e rror. Tom ando por e je m pl o e lcom ando ante rior de rm si e ncontró e larch ivo y l o l ogro borrar con éxito no nos inform a de nada, pe ro si por al guna razón e lcom ando fal l a nos de vue l ve un m e nsaje . Copiando arch ivos con cp Elcom ando cp e s e lq ue se util iza para copiar arch ivos. Si e scribim os cp vie jo nue vo, copiare m os e larch ivo vie jo con e lnom bre nue vo. Es de cir, e larch ivo orige n se e scribe prim e ro y a continuación e larch ivo q ue se va a cre ar. Una ve z h e ch a l a copia, te ndre m os dos arch ivos dife re nte s, con e lm ism o conte nido. Por otro l ado, tam bién pode m os e je cutar: $cp arch ivo1 arch ivo2 dire ctorio de form a q ue l os arch ivos arch ivo1 y arch ivo2 se copiarán de ntro de dire ctorio. $cp arch ivo.pdf otro-nom b re -arch ivo.pdf Re nom b rar y m ove r arch ivos con m v M uy sim il ar a cp, e lcom ando m v e s e lq ue se util iza para m ove r arch ivos de un l ugar a otro, o para cam biarl e e lnom bre a un arch ivo. Si e je cutam os, m v vie jo nue vo, e larch ivo vie jo h abrá pasado a l l am arse nue vo. $m v vie jo nue vo Por otro l ado, si e je cutam os m v arch ivo1 arch ivo2 dire ctorio, l os arch ivos arch ivo1 y arch ivo2 se m ove rán de ntro de dire ctorio. $m v arch ivo1 arch ivo2 dire ctorio Com pl e tando nom b re s e n e lSh e l lBash O tro instrum e nto para e vitar pe rde r tie m po e s e lde com pl e tar l os com andos. Si te cl e a parte de un arch ivo, un com ando o una ruta y de spués pul sa l a te cl a Tab, l a bash l e m ostrará o l a parte de l nom bre de larch ivo/ruta q ue fal ta o e m itirá un bip. Si e scuch a un bip, bastará con q ue pul se l a te cl a Tab para obte ne r una l ista de arch ivos/rutas q ue se corre sponde n con l o q ue e stá te cl e ando. Por e je m pl o, si se ol vida de lcom ando update db, pe ro re cue rda parte de lm ism o, pue de util izar su para conve rtirse e n root, e n e lprom pt de l a sh e l lte cl e e up, y pul se l a te cl a Tab dos ve ce s, e ntonce s ve rá una l ista de posibl e s com andos q ue e m pie zan con l a síl aba “up”, com o update db y uptim e . Añadie ndo l al e tra “d” a up y pul sando otra ve z l a te cl a Tab, e lcom ando se rá com pl e tado. D e e sta m ane ra aunq ue l a m áq uina se a apagada alfinalde ldía, no re sul ta difícilactual izar l a base de datos sl ocate : Existe n m uch as posibil idade s de q ue e lcom ando se a sal vado e n e larch ivo h istory o bie n pue de util izar l a te cl a Tab para com pl e tar e lnom bre de lcom ando (sie m pre y cuando re cue rde al m e nos cóm o e m pie za e lnom bre de lcom ando). Por e je m pl o: $rm arch Pre sionar Tab pue de re tornar al go así: Pág 34 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano $rm arch ivo.txt Tam bién funciona con nom bre s de com andos Por e je m pl o, startg pue de se r com pl e tado a startgnom e si ningún otro com ando e m pie za con “startg” H istorialde l os com andos “h istory” Si uste d te cl e a h istory, ve rá una l ista num e rada, q ue l e m ostrará l os úl tim os 500 com andos q ue h a util izado. Uste d probabl e m e nte no ne ce sitará ve r todos l os úl tim os 500 com andos, por e so e l com ando h istory 20 podrá re sul tarl e útil . D e e sta m ane ra, sól ol os 20 úl tim os com andos introducidos se rán visual izados (pue de usar cual q uie r núm e ro con e ste com ando). O tras com b inacione s de te cl as Aq uí se m ue stran otras com binacione s de te cl as q ue l e se rán útil e s: “Bang, b ang”: Si te cl e a !! (Ll am ado “bang bang”) e je cutará e lúl tim o com ando. “Bang núm e ro”: Si te cl e a !núm e ro (com o !302) e je cutará e lcom ando e tiq ue tado con e lnúm e ro 302 e n e larch ivo h istórico. “Bang string”: Si te cl e a !string (as in !rpm ) e je cutará e lcom ando m ás re cie nte de larch ivo h istórico e n e lq ue apare zca l a cade na e spe cificada. Up arrow y dow n-arrow : En e lindicador de com andos (Bash ), podrá ve r l os com andos pre viam e nte usados, sim pl e m e nte pul sando l a te cl a de cursor con l a fl e ch a h acia arriba, (l a te cl a fl e ch a h acia abajo l e m ove rá h acia ade l ante a través de l os com andos) h asta q ue e ncue ntre e lq ue de se a. Pul se Ente r para e je cutar e l com ando, com o si l o h ubie se te cl e ado e n l al íne a de com andos. Los com andos tam bién pue de n se r e ditados ante s de se r e je cutados, l o cuale s al go m uy útile n caso de e rror ortográfico e n com andos l argos. Se pue de m ove r con l as te cl as de D e re ch a e Izq uie rda para l l e var e lcursor h asta donde se com e tió l a fal ta. Una ve z col ocado e lcursor e n posición se pue de inse rtar te xto adicional , con l a te cl a de re troce so (Back space ) borrar caracte re s a l a izq uie rda de l cursor y con D e lo Ctrl + D borrar l os caracte re s a l a de re ch a. Arch ivos y D ire ctorios Cada siste m a ope rativo tie ne su propio m étodo para al m ace nar datos e n l os arch ivos y e n l os dire ctorios de m ane ra q ue de te ctan cuando se agre ga, m odifica o se e fe ctúan cam bios. En GNU/Linux, cada arch ivo se al m ace na e n un dire ctorio. Los dire ctorios pue de n a su ve z conte ne r dire ctorios;e stos subdire ctorios pue de n tam bién conte ne r arch ivos u otros subdire ctorios. Se pue de pe nsar e n e lsiste m a de arch ivos com o una e structura sim il ar a un árbolcon l os dire ctorios com o ram as. Estos dire ctorios, pue de n conte ne r o se r l os “padre s” de dire ctorios de ntro de e l l os (l l am ados subdire ctorios) l os cual e s m antie ne n arch ivos y pue de n conte ne r otros subdire ctorios al m ism o tie m po. Sabe m os q ue l os árbol e s no pue de n vivir si no tie ne n raíce s y l o m ism o l e ocurre al Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano siste m a de arch ivos de GNU/Linux. No im porta l o l e jos q ue se e ncue ntre un dire ctorio de ntro de l árbolporq ue todo e stá cone ctado aldire ctorio root, e lcualse re pre se nta con e lsím bol o de l a barra h acia ade l ante (/). •Com o cada dire ctorio pue de conte ne r otros dire ctorios, se ge ne ra una je rarq uía de dire ctorios •Elnive lm ás al to se conoce com o e ldire ctorio root (/) •Arch ivos y dire ctorios pue de n se r nom brados por su ruta o path •Le m ue stra a l os program as com o e ncontrar un arch ivo •Aldire ctorio root se l e re fie re com (/) •O tros dire ctorios son re fe ridos por nom bre , sus nom bre s son se parados por un barra / •Si una ruta se re fie re a un dire ctorio e ntonce s pue de te rm inar e n / •Norm al m e nte una barra “/” alfinalde una ruta no e fe ctúa dife re ncia al guna. Rutas/Path s Ab sol utos y Re l ativos Una ruta absol uta e m pie za e n l a raíz de l a je rarq uía de ldire ctorio y nom bra l os dire ctorios de bajo de l , e je m pl os: /e tc/h ostnam e Que significa q ue un arch ivo l l am ado h ostnam e e n e ldire ctorio e tc e n e ldire ctorio root. Pode m os util izar e lcom ando l s para l istar l os arch ivos e n un dire ctorio e n e spe cífico dando su ruta absol uta así: $l s /usr/sh are /doc/ D ire ctorio Actual Elcom ando pw d e s m uy se ncil l o, nos m ue stra l a ruta de dire ctorios e n l a q ue e stam os situados e n e ste m om e nto. Por e je m pl o: $/h om e /use r •Su sh e l lcontie ne un (curre nt dire ctory) dire ctorio actual- dire ctorio cuale s e lq ue uste d se e ncue ntra trab ajando ah ora m ism o. •Com andos com o e ll s usan e ldire ctorio actualcom o parám e tro si ninguno e s e spe cificado • Use e lcom ando pw d (print w ork ing dire ctory) para ve r cuale s su dire ctorio de trab ajo actualasí: $pw d /h om e /usuario Cam bie de dire ctorio actuala otro con e lcom ando cd: $cd /m nt/cdrom $pw d /m nt/cdrom Para re tornar a su dire ctorio de usuario use e lcom ando cd sin e spe cificar una ruta o dire ctorio. Cre ando y re m ovie ndo dire ctorios Com ando m k dir: Pág 36 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Util izam os e lcom ando m k dir dire ctorio para cre ar dire ctorios. Pue de n util izarse rutas absol utas o re l ativas. Es de cir q ue si q ue re m os cre ar e ldire ctorio /h om e /use r/te m p, y e stam os situados de ntro de l dire ctorio /h om e /use r, podre m os e je cutar m k dir te m p o m k dir /h om e /use r/te m p indistintam e nte . Com ando rm dir: Para borrar dire ctorios util izam os e l com ando rm dir dire ctorio. Sol am e nte funcionará si e l dire ctorio e stá vacío. En caso contrario, h abrá q ue borrar prim e ro l os arch ivos, para l ue go borrar e ldire ctorio. •Elcom ando m k dir cre a un dire ctorio nue vo y vació. •Por e je m pl o, para cre ar un dire ctorio q ue al m ace ne l as cue ntas de l a com pañía h ágal o así: $m k dir Cue ntas Para borrar un dire ctorio q ue actual m e nte e stá vacío, use rm dir así: $rm dir Cue ntas_Inval idas Use rm con l a opción -r (re cursiva) para borrar dire ctorios y todo su conte nido así: $rm -r Cue ntas_Vie jas Se a e xtre m adam e nte caute l oso alutil izar e lcom ando rm pue de se r m uy pe l igrosa h e rram ie nta si se util iza incorre ctam e nte . Ruta (path ) Re l ativa Path s •Rutas no tie ne n q ue e m pe zar de sde e ldire ctorio raíz (root) •Una ruta l a cualno e m pie za con una barra “/” e s una ruta re l ativa •Las rutas son re l ativas a al gún otro dire ctorio, casi sie m pre aldire ctorio actual •Por e je m pl o, l os cam bios siguie nte s nos l l e van alm ism o dire ctorio: $cd /usr/sh are /doc $cd / $cd usr $cd sh are /doc • Rutas Re l ativas e spe cifican arch ivos de ntro de l os dire ctorios e n l a m ism a m ane ra q ue l as absol utas. D ire ctorios de D ot (.)(..) Espe cial es Todo dire ctorio contie ne dos nom bre s de arch ivos e spe cial e s q ue l e asiste n e n h ace r rutas re l ativas: •Eldire ctorio (..) apunta aldire ctorio padre . Así e s q ue e lcom ando l s .. Listará l os arch ivos e n e l dire ctorio padre . Por e je m pl o, si e m pe zam os de sde e ldire ctorio /h om e /usuario: $cd .. $pw d /h om e $cd .. $pw d / Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Eldire ctorio e spe cial(.) apunta aldire ctorio actual Así e s q ue ./carta.txt e s e lm ism o arch ivo q ue e larch ivo carta.txt. Util izando l os D ire ctorios D ot (.) e n su Ruta Los dire ctorios ocul tos, e spe cial e s . y .. pue de n se r util izados e n rutas aligualq ue cual q uie r otro nom bre de dire ctorio: $cd ../dir-ante rior/ Elcualsignifica “ir aldire ctorio dir-ante rior e n e ldire ctorio padre de lpre se nte dire ctorio” Es com ún ve r “../” util izado para nave gar h acia atrás varios dire ctorios de sde e ldire ctorio actual : $l s ../../../../dire ctory-b ie n-re tirado/ Arch ivos O cul tos Eldire ctorio (.) se util iza com únm e nte para de notarse a si m ism o, para significar "dire ctorio actual " Los dire ctorios e spe cial e s . y .. no son visibl e s cuando se e je cuta e lcom ando de l istar l s, ya q ue son arch ivos ocul tos. Una re gl a Sim pl e e s q ue arch ivos q ue sus nom bre s e m pie zan con un . son arch ivos ocul tos. Para h ace r q ue l s de spl ie gue todos l os arch ivos, h asta l os ocul tos, e je cúte l o con l a opción -a (al l ): . .. .bash rc .profil e re porte s.doc Arch ivos ocul tos a m e nudo se util izan para l os arch ivos de configuración col ocados e n e ldire ctorio h om e de lusuario Tie ne s acce so a l eer l os arch ivos ocul tos - sol o no se l istan con e lcom ando l s por de fe cto. Ruta a l os D ire ctorios h om e Elsím bol o ˜ (til de ) e s una abre viación para su dire ctorio h om e , así e s q ue para e lusuario “usuario”, l as dos se nte ncias q ue sigue n son e q uival e nte : $cd /h om e /usuario/docum e ntos/ $cd ˜/docum e ntos/ La ˜ se e xpande por e lsh e l l , y l os program as sol o ve n l a ruta com pl e ta. Pue de s acce de a l os dire ctorios h om e de l os otros usuarios util izando l a ˜, por e je m pl o: $cat ˜sil via/cartas.txt Las se nte ncias siguie nte s son todas e q uival e nte s para e lusuario “m ik e ” $cd $cd ˜ $cd /h om e /m ik e Buscando arch ivos e n e lSiste m a Elcom ando l ocate l ista l os arch ivos q ue contie ne n e lte xto q ue se supl e com o argum e nto. Por e je m pl o, para e ncontrar arch ivos q ue sus nom bre s contie ne n l a pal abra “m k dir”: Pág 38 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano $l ocate m k dir /usr/m an/m an1/m k dir.1.gz /usr/m an/m an2/m k dir.2.gz /b in/m k dir ... Elcom ando l ocate e s útilpara e ncontrar arch ivos cuando no e stas se guro de com o se l l am a e larch ivo q ue buscas, o donde e sta guardado. Para m uch os usuarios, h e rram ie ntas graficas h ace de nave gar por l os arch ivos de lsiste m a una tare a m e nos difícil , y ayudan e n e ll a tare a de l a adm inistración de l os arch ivos. Eje cutando Program as Los Program as e n GNU/Linux son arch ivos, y se al m ace nan e n dire ctorios com o /bin y /usr/bin. Los program as se e je cutan de sde e lSh e l l , sim pl e m e nte e scriba e lnom bre y pre sione ENTRE. M uch os program as ace ptan opcione s, l as cual e s se l e añade n alnom bre pre ce didas por “-”. Por e je m pl o, l a opción -lapl icada alcom ando l s nos de vue l ve m ás inform ación, incl uye ndo e ltam año de larch ivo y l a fe ch a e n e lcualfue m odificado por úl tim a ve z: $l s -l drw xrw xr-x -rw -rw -r--rw -r--r-- 2 1 1 m ik e m ik e m ik e use rs use rs use rs 409 6 345 3255 Jan 21 10:57 Jan 21 10:57 Jan 21 10:57 Cue ntas notas.txt re porte s.txt M uch os program as ace ptan nom bre s de arch ivos de spués de l as opcione s. Pue de s e spe cificar m úl tipl e s arch ivos se parándol os con e spacios. Espe cificar M úl tipl e s Arch ivos A l a gran m ayoría de program as se l e s pue de pasar una l ista de arch ivos com o argum e ntos. Por e je m pl o, para borrar m ás de un arch ivo a l a ve z: $rm notas-vie jas.txt tm p.txt cosas.doc Para cre ar varios dire ctorios e n un sol o com ando: $m k dir Cue ntas Re porte s Eluso originalde cat fué para sol dar m úl tipl e s arch ivos juntos. Por e je m pl o, para l istar dos o m ás arch ivos, uno de spués de lotro: $cat notas.txt m ás-notas.txt Si e lnom bre de un arch ivo contie ne e spacio e n bl anco, caracte re s q ue son inte rpre tados por e lsh e l l (e je m pl o *), se l e col ocan com il l as se ncil l as al re de dor de lnom bre de larch ivo: $rm ’Vil l al ona - D om inicano Soy.m p3’ $cat ’*notas im portante s.txt *’ Buscar l a D ocum e ntación de l os Program as Com ando m an: Elcom ando m ás im portante e s m an. Este com ando nos m ostrará l as h ojas de lm anual de lprogram a q ue e stam os q ue rie ndo buscar. Por e je m pl o: Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano $m an date Nos m ostrará e lm anualde lcom ando date , q ue ya sabe m os q ue sirve para ve r y configurar l a fe ch a, aq uí e stá e xpl icado com o util izarl o. Pode m os m ove rnos de ntro de l as páginas de l os m anual e s util izando l a barra e spaciadora, Ente r, l os cursore s y e lm ism o siste m a de búsq ue da q ue util izam os e n l e ss. Para sal ir, util izam os q . Com ando info: Un com ando m uy sim il ar a m an, e s e lcom ando info. Las páginas q ue nos m ue stra e ste com ando sue l e n te ne r una m ayor cantidad de inform ación ace rca de l a apl icación sobre l a cuale stam os consul tando. Por e je m pl o: $info sh -util s Contie ne inform ación de tal l ada sobre al gunas de l as util idade s de lintérpre te de com andos (sh e l l ), q ue se ve rá m ás ade l ante . Com ando h e l p: Al gunos com andos (com o fg), son parte inte rna de lintérpre te de com andos, y por e sta razón no tie ne n una página de lm anualq ue l os e xpl iq ue . Para sabe r de q ué m ane ra util izar e stos com andos, usam os h e l p. La ayuda q ue nos da e ste com ando e s m ás sintética q ue l a de m an. Por e je m pl o: $h e l p job s Nos inform ará sobre e luso de lcom ando jobs visto ante riorm e nte . Arch ivos con inform ación: D e ntro de ldire ctorio /usr/sh are /doc, e ncontram os una gran cantidad de docum e ntos q ue tratan l as distintas apl icacione s q ue te ne m os instal adas e n nue stro siste m a. En particul ar, e ldire ctorio /usr/sh are /doc/H O W TO , contie ne artícul os sobre cóm o h ace r de te rm inadas cosas de ntro de nue stro siste m a. O tras cosas com o form atos de arch ivos y l ibre rías tam bién tie ne n sus páginas m an. Com o ya h e m os visto para l eer l a página m an de un program a sól o ne ce sitas sabe r su nom bre : $m an m k dir Para sal ir de lm an pre sione l a te cl aq Las páginas M an de un program a contie ne n l a siguie nte inform ación: 1. Una de scripción de l o q ue h ace 2. Una l ista de l as opcione s q ue ace pta 3. Inform acione s adicional e s com o e lnom bre de lautor, e tc. Espe cificando Arch ivos con M e tacarácte re s (W il dcards) Ade m ás de e je cutar l os com andos q ue nosotros l e indicam os, e lsh e l linte rpre ta cie rtos caracte re s e spe cial e s, a e stos caracte re s l os l l am am os m e tacaracte re s. Cuando nosotros util izam os al gún m e tacarácte r, l os com andos no l o re cibe n, sino q ue e lsh e l ll o re e m pl aza por l o q ue corre sponda, y l e pasa alcom ando e je cutado e lre sul tado de e se re e m pl azo. Pág 40 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Eso e s l o q ue e nte nde m os por inte rpre tar: re e m pl azar e lcarácte r por otro carácte r o por una cade na de caracte re s, se gún corre sponda. M e tacarácte re s re l acionados con arch ivos Cuando e lsh e l le ncue ntra un (*), l o re e m pl aza por una l ista de l os arch ivos q ue concue rdan con l a e xpre sión indicada. El(*): e ch o *nos m ostrará todos l os arch ivos. e ch o a*nos m ostrará todos l os arch ivos de ldire ctorio q ue com ie nce n con a. e ch o *o nos m ostrará todos l os arch ivos q ue te rm ine n con o. $e ch o /usr/l ocal /* Nos m ostrará todos l os arch ivos q ue e stén e n e se dire ctorio. En e lcaso de q ue no h ubie ra ningún arch ivo q ue concue rde con l a e xpre sión, ge ne ral m e nte , nos m ostrará l a e xpre sión q ue h ayam os e scrito. Uso de l(?): Ale ncontrar un ?e lsh e l ll o re e m pl aza por cual q uie r otro carácte r. Es de cir q ue l a e xpre sión q ue e scribam os se re e m pl azara por todos l os arch ivos q ue e n e sa posición te ngan cual q uie r carácte r, y e n e lre sto de l a cade na te ngan l o q ue h e m os e scrito. Por e je m pl o: e ch o ?ol a nos podría m ostrar arch ivos com o h ol a, sol a, Pol a. e ch o a??a, podría m ostrar al l á, arca, h acia. Aligualq ue con e l*, si ningún arch ivo concue rda con e lpatrón, ge ne ral m e nte , nos m ue stra l a m ism a e xpre sión q ue h e m os e scrito. []Ence rrados por l os corch e te s, pode m os e scribir un rango de caracte re s con l os cual e s q ue re m os q ue e lsh e l lconcue rde . Por e je m pl o, $l s [af] * Nos m ostraría todos l os arch ivos q ue com ie nzan con a o con f. Pode m os ade m ás e spe cificar un rango de caracte re s, con un guión e n e lm e dio. Por e je m pl o, a-z (l e tras m inúscul as), 0-9 (núm e ros), e tc. y com binarl os con caracte re s individual e s sie m pre q ue no se a am bigua l a inte rpre tación. (Conside rar l a concordancia con e lcarácte r -). Por e je m pl o, pode m os q ue re r sól ol os arch ivos q ue com ie nzan con núm e ros se guidos de un -, e n e se caso e scribiríam os $l s [0-9 ] -* o $l s [0-9 ] [0-9 ] -* si com ie nzan con dos núm e ros se guidos de un -. [ˆ ]Cuando alcom ie nzo de l a cade na q ue e stá e nce rrada por l os corch e te s e ncontram os e lcarácte r ^ , e stam os indicando q ue de be concordar l os caracte re s q ue no se e ncue ntran e n e lrango. Por e je m pl o: $l s [^ 0-9 ] * Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Nos l istará todos l os arch ivos q ue no com ie nce n con un núm e ro. M e tacarácte re s re l acionados con com andos Eje cutar un com ando e s tan se ncil l o com o e scribir e lcom ando y oprim ir l a te cl a ENTER. Sin e m bargo, util izando al gunos de l os m e tacaracte re s de sh e l lpode m os com binar l os com andos e ntre sí, yl ograr re sul tados m uch o m ás im portante s. El“; ” e s un se parador de com andos, nos pe rm ite e je cutar un com ando a continuación de otro, e q uival e nte a l o q ue suce de ría si e je cutáram os prim e ro uno, y alte rm inar e je cutáram os e lsiguie nte . Es de cir si e scribim os: $l s;e ch o H ol a Ve re m os l a sál ida de le ch o a continuación de l a de lcom ando l s. ( ) Los parénte sis sirve n para e nce rrar grupos de com andos, y tratarl os com o si fue ran uno sol o. El& m anda e lcom ando a b ack ground, e sto q uie re de cir, q ue nos de vue l ve l al íne a de com andos inm e diatam e nte de spués de oprim ir Ente r, m ie ntras e lcom ando sigue e je cutándose e n se gundo pl ano. La e je cución de tare as e n se gundo pl ano ya se h a e studiado ante riorm e nte , cuando se vie ron l os com andos re l acionados con proce sos. Este m e tacarácte r funciona de m ane ra e q uival e nte , y sus re sul tados pue de n corroborarse util izando e lcom ando jobs. Para ve r un e je m pl o, vam os a usar un nue vo com ando, sl e e p, (un com ando sim pl e q ue e spe ra una de te rm inada cantidad de se gundos). Por e je m pl o: $sl eep 5 Espe ra 5 se gundos ante s de de vol ve rnos l al íne a de com andos. Ah ora, util izando & : $(sl e e p 20;e ch o H ol a) & Ale scribirl o nos m ostraría e lPID de lcom ando q ue e stam os e je cutando, y nos de vol ve ría e lsh e l l ;20 se gundos de spués ve re m os apare ce r “H ol a” e n nue stra l íne a de com andos. Ante s de q ue te rm ine de e je cutarse , pode m os e je cutar jobs y obse rvar q ue e lproce so se e stá e je cutando, o bie n ps y obse rvar q ue e lcom ando e n e je cución e s sl e e p. Ade m ás, e l& nos pue de se rvir para se parar com andos: cada ve z q ue l o util izam os para se parar com andos, m andaría alcom ando q ue e sté a su izq uie rda a back ground. O tros m e tacarácte re s ’...’ Al e ncontrar una cade na e nce rrada e ntre ’ ’, e l sh e l l tom aría e l conte nido de l a cade na l ite ral m e nte , e s de cir, sin inte rpre tar l os m e tacaracte re s conte nidos e n e l l a. Por e je m pl o: $e ch o ‘*?*[A-Z -] *’ nos m ostraría *?*[A-Z -] *. Note q ue si no ce rram os l as com il l as y pre sionam os ENTER, e lsh e l lnos m ostraría una l íne a e n bl anco e spe rando q ue sigam os ingre sando nue stro com ando, h asta q ue ce rre m os l as com il l as. Pág 42 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano La \ Util izam os una \ para e scapar e lsiguie nte carácte r. Escapar significa q ue e lsh e l lno l o inte rpre taría com o un m e tacarácte r. Por e je m pl o: $e ch o \* nos m ostraría un *. El# Es e lse ñal ador de com e ntarios. Si e lsh e l le ncue ntra un # alcom ie nzo de una pal abra, de scartaría todos l os caracte re s h asta e lfinalde l al íne a. Por e je m pl o, e ch o 3.1416 # Pi con un e rror de 0.0001 nos m ostraría únicam e nte 3.1416. Use e lcom odín (*) para e spe cificar m ás de un nom bre de arch ivo com o argum e nto de un program a o util itario, por e je m pl o: $l s -l*.txt -rw -rw -r— 1 m igue luse rs 108 Nov16 13:06 re port.txt -rw -rw -r— 1 m igue luse rs 345 Jan 18 08:56 note s.txt Elsh e l le xpande e lcom odín, y l e pasa l al ista com pl e ta alprogram a o util itario. Con sol o util izar e l*e xpandirá a todos l os arch ivos e n e ldire ctorio (M e nos l os ocul tos): $ rm * Nom bre s con com odine s se l es l l am a gl obs, y e lproce so de e xpandirl os e s conocido com o gl obbing. Entrada y Sal ida UNIX tie ne un e xte nso m ane jo de e ntrada y sal ida, e s una de l as caracte rísticas principal e s q ue nos pe rm ite com binar pe q ue ñas h e rram ie ntas para l ograr re sul tados m ás com pl e jos. La m ayoría de l os com andos UNIX q ue nosotros util izam os tie ne n una e ntrada e stándar, una sal ida e stándar y una sal ida para e rrore s e stándar. Las de nom inam os stdin, stdout y stde rr re spe ctivam e nte . La e ntrada e stándar por om isión e s e lte cl ado, m ie ntras q ue l a sal ida e stándar y l a sal ida de e rrore s son, por om isión, l a pantal l a. Un com ando ge nérico, l e e datos de l a e ntrada e stándar, l os proce sa de al guna m ane ra, y l ue go e m ite e lre sul tado por l a sal ida e stándar. En e lcaso de q ue durante e lproce so h ubie ra al gún e rror, e m itiría un aviso de e se e rror por l a sal ida de e rrore s. ElSh e l lse e ncarga de re l acionar e stos tre s, l o cualno im pide q ue un de te rm inado program a m ane je su e ntrada y su sal ida de una m ane ra dife re nte . Elcarácte r > Nos pe rm ite dire ccionar l a sal ida e stándar de un com ando a un arch ivo. Por Eje m pl o: $ps ax > proce sos.txt Guardaría e n e larch ivo proce sos.txt l a sal ida de lcom ando ps. Elcarácte r < Nos pe rm ite dire ccionar l a e ntrada e stándar de un com ando de sde un arch ivo. Por e je m pl o, e l Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano com ando m ailnos sirve para m andar m e nsaje s a otros usuarios, si e scribim os: $m ailm igue l _p < arch ivo.txt M andaría un m e nsaje con e lconte nido de larch ivo.txt alusuario m igue l _p. Usar un > > En l ugar de un > nos pe rm ite dire ccionar l a sal ida e stándar a un arch ivo, sin sobre scribirl o, sino q ue l e agre ga l os datos q ue nosotros q ue ram os alfinal . Si ah ora h ace m os: $ps ax > > proce sos.txt Te ndre m os e ll istado de proce sos dos ve ce s e n un m ism o arch ivo. Util izar 2> Nos pe rm ite re dirigir l a sal ida de e rrore s a un arch ivo. Por e je m pl o, si no e xiste un arch ivo.txt y si e je cutam os: $l s arch ivo.txt 2> e rrore s.txt Ele rror de lcom ando l s, indicándonos q ue e larch ivo.txt no e xiste se al m ace naría e n e rrore s.txt. Usar | Para re l acionar l a sal ida e stándar de un com ando, con l a e ntrada e stándar de otro com ando, util izam os e lcarácte r |. Eje m pl o, pode m os re l acionar l a sal ida de l s con l a e ntrada de w c. H acie ndo l s | w c, l a sal ida de e ste com ando se rá l a cantidad de l íne as, pal abras y caracte re s q ue produjo l s. Este com ando re cibe e lnom bre de pipe , q ue e n e spañolsignifica cañe ría o tube ría. Es de cir q ue e s un com ando q ue e ntuba l a sal ida de un com ando con l a e ntrada de otro. Es inte re sante obse rvar l o q ue suce de cuando h ace m os: l s > nue vo-arch ivo, e sto e s, e larch ivo nue vo apare ce de ntro de ll istado q ue h ace l s. Esto se de be a q ue e lsh e l l , alh ace r l a re l ación e ntre e larch ivo y e lcom ando, cre a e larch ivo, y l ue go l l am a all s. Ade m ás e s ne ce sario te ne r e n cue nta q ue un com ando no pue de util izar com o e ntrada y sal ida un m ism o arch ivo. Por e je m pl o, ale je cutar cat arch ivo > arch ivo, e lintérpre te de com andos nos indicaría q ue e sto no e s posibl e. Encade nando Program as Elcom ando w h o l ista l os usuarios actual m e nte util izando e lsiste m a y e lcom ando w c cue nta l os byte s, pal abras, y l íne as e n su e ntrada, si l os com binam os para contar cuantos usuarios tie ne n se sión e n e lsiste m a: $w h o | w c -l Elsím bol o | cre a una tube ría e ntre dos program as, l e pasa l a sal ida de uno a l a e ntrada de lotro. La sal ida de lcom ando w h o se l e pasa alcom ando w c. La opción -ll ogra q ue e lcom ando w c sol o im prim a e lnúm e ro de l íne as y no toda l a sal ida de lcom ando w h o O tro e je m pl o e s, para contar todas l as pal abras, l íne as y caracte re s de l os arch ivos con e xte nsión txt sól o te ne m os q ue e je cutar e lsiguie nte com ando: $cat *.txt | w c Pág 44 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Inte rface s Grafica y Te xto Las distribucione s m ode rnas de GNU/Linux prove e n un inte rfase grafica alusuario (graph icaluse r inte rfase , (GUI)). Los siste m as GNU/Linux util izan e lsiste m a Xw indow para prove e r gráficas. ElX e s sol am e nte un program a m ás, no e s parte de lk e rne lni GNU/NLinu.x Las m ayorías de distribucione s se inician autom áticam e nte e n e lX. GNU/Linux se pue de util izar de sde l al íne a de com andos sin un GUI. Pul se Ctrl + Al t+ F1 para e ntrar e n una consol a de te xto – h aga un l ogin idéntico alde lX. Use Ctrl + Al t+ F2, Ctrl + Al t+ F3, e tc., para cam biar e ntre l as te rm inal e s virtual e s –l os distros prove e n 6 usual m e nte . Use Ctrl + Al t+ F7, o cual q uie ra q ue fue se l a úul tim a te rm inalvirtual , para re gre sar al.X Editore s de Te xto Los e ditore s de Te xto son para e ditar arch ivos de te xto sim pl e . No prove e n capacidad de form ato avanzados com o l os proce sadore s de pal abras. Son de e xtre m a im portancia – sabe r m anipul ar arch ivos de te xto e n Unix e s FUNDAM ENTAL. Los e ditore s m ás usados son Em acs y Vim , am bos son sofisticados pe ro tom an tie m po e n dom inar. Al gunos e ditore s m ás sim pl e son Nano, Pico, Joe , y gráficos son Ke dit y Ge dit. Al gunos program as y util itarios l anzan un e ditor de te xto. El l os util izan l a variae $ED ITO R para de cidir cual .Ca si sie m pre por de faul t e s vi, pe ro puse e de s am biarl aE ste e je m pl o e s parte de l a fil osofía de com pone nte de Unix, program as pe q ue ños h acie ndo cosas e spe cíficas. Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Práctica 2 Eje rcicio 1 1)Use e lcom ando l s para l istar l os arch ivos e n e ldire ctorio actual . 2)Cre e un nue vo arch ivo util izando e lcom ando cat de l a m ane ra siguie nte : 3)$cat > h ol a.txt 4)H ol a M undo! 5)Esto e s sol o una Prue b a. 6)Pre sione Ente r alfinalde l a úl tim a l íne a, y e ntonce s Ctrl + D para de notar e lfinalde l arch ivo. 7)Use e ll s de nue vo para ve rificar q ue e larch ivo re cién cre ado e xiste . 8)D e spl ie gue e lconte nido de larch ivo. 9 )D e spl ie gue e lm ism o arch ivo de nue vo, pe ro e sta ve z util ice sol ol as te cl as de lcursor para e je cutar e lcom ando sin te ne r q ue digitarl o de nue vo. Eje rcicio 2 1)Cre e un se gundo arch ivo. Ll ám e l o nom ina.txt, e scríb al e cual q uie r cosa. 2)Re vise con e lcom ando l s, q ue e xiste . 3)D e spl ie gue e lconte nido de larch ivo. M inim ice l a digitación q ue se ne ce sita e scrib ir para l ograrl o: 4)Re vise e lh istory para e ncontrar e lcom ando q ue cre o e larch ivo ante rior. 5)Cam b ie e lcom ando para q ue e n ve s de cre ar e larch ivo l o de spl ie gue a pantal l a. Eje rcicio 3 1)D e spués de cada uno de l os siguie nte s pasos, use e lcom ando l s y cat para ve rificar q ue h a suce dido. 2)Copie nom ina.txt a un arch ivo nue vo l l am ado de scue nto.txt. Use e lTab para e vadir te ne r q ue e scrib ir e lnom b re com pl e to de larch ivo. 3)Ah ora copie h ol a.txt a de scue nto.txt. ¿Que suce dió? Pág 46 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano 4)Borre e larch ivo original , h ol a.txt. 5)Re nom b re de scue nto.txt a im pue stos.txt. 6)Trate de b orrar e larch ivo h ol a.txt con e lcom ando rm . ¿Que suce de ? 7)Trate copiar nom ina.txt de nue vo, pe ro no e spe cifiq ue e lnom b re de larch ivo alcualse l e copiará. ¿Que suce dió? Eje rcicios 4 1)Use e lcom ando pw d para ve r e n q ue dire ctorio se e ncue ntra. 2)Si no e stas e n su dire ctorio h om e (/h om e /NO M BR E_D E_USUAR IO ) use e lcom ando cd sin ningún argum e nto, y e je cute pw d de nue vo. 3)Use cd para visitar e ldire ctorio root, y l istar l os arch ivos ah í de ntro. H om e de b e se r uno de el l os. 4)Vaya aldire ctorio h om e y l iste e lconte nido de nue vo. D e b e e xistir un dire ctorio por cada usuario de lsiste m a incl uye ndo e lsuyo (pue de s util izar e lcom ando w h oam i para ve rificarl o). 5)Re gre se a su dire ctorio h om e para confirm ar q ue e sta de re gre so donde e m pe zó. Eje rcicios 5 1)Cre e un arch ivo de te xto e n su dire ctorio h om e y l l ám e l o m e re ngue , conte nie ndo l as siguie nte s oracione s: Bail e com padre Juan Quisq ue ya 2)Re nóm b re l o cl asicos.txt 3)Cre e un nue vo dire ctorio e n su dire ctorio h om e y l l ám e l o m e re ngue . 4)M ue va e larch ivo cl asicos.txt de ntro de ldire ctorio m e re ngue . 5)D e sde e le scritorio grafico ab ra un m ane jador de arch ivos (e xpl orador), y e ncue ntre su dire ctorio h om e , tam b ién confirm e e ldire ctorio m e re ngue y e larch ivo cl asicos.txt. 6)Con un e ditor de te xto grafico e dite e larch ivo cl asicos.txt. Eje rcicios 6 1)D e sde su dire ctorio h om e , l iste l os arch ivos e n e ldire ctorio /usr/sh are . 2)Cam b ie aldire ctorio /usr/sh are , confírm e l o con pw d. Liste l os arch ivos e n e ste dire ctorio y Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano l os de ldire ctorio doc. 3)Ah ora l iste l os arch ivos e n e ldire ctorio padre , l os de ldire ctorio e ncim a de e ste e n l a je rarq uía. 4)Eje cute e lsiguie nte com ando, Ase gúre se de e nte nde r e lre sul tado: $e ch o ˜ 5)Use e lcom ando cat para de spl e gar e lconte nido de un arch ivo de te xto e lcualre side de ntro de su dire ctorio h om e (cre e uno si no e xiste ), usando e lsintaxis “˜/” para re fe rirse a e l . No de b e im portar de sde q ue dire ctorio uste d se e ncue ntre para e je cutar e lcom ando. Eje rcicios 7 1)Use e lcom ando h ostnam e , sin opcione s, para im prim ir e lnom b re de lh ost de l a m aq uina e n uso. 2)Use e lm an para de spl e gar l a docum e ntación de lcom ando h ostnam e . Inve stigue com o h ace rl o q ue im prim a l a dire cción IP de su m aq uina e n ve z de lnom b re de h ost de su m aq uina. Vaya a l a se cción de “O pcione s” de lm an. 3)Use e lcom ando l ocate para e ncontrar e n e lsiste m a l os arch ivos q ue contie ne n e lte xto ‘h ostnam e ’. Cualde l al ista de arch ivos de spl e gados e s e lprogram a h ostnam e ?Eje cúte l o ah ora con su ruta y nom b re ab sol uto para ve r si e s e ste re al m e nte . Eje rcicios 8 1)Util izando e lcom odín *(w il dcard) sol o com o argum e nto de un com ando e s e xpandido por e lsh e l lcom o una l ista de todos l os arch ivos e n e ldire ctorio actual . Use e lcom odín con e l com ando e ch o para prob ar e lre sul tado (Ase gúre se q ue sol o se an arch ivos de te xto q ue se e ncue ntre n e n e ldire ctorio): $e ch o * 2)Use l as com il l as sim pl e para q ue se im prim a e lsím b ol o *y q ue e lsh e l lno l o inte rpre te . 3)Agrégue l e otro arch ivo aldire ctorio m e re ngue q ue uste d cre ó ante riorm e nte , l l ám e l o m ode rnos.txt: D om inicano soy - Fe rnando Vil l al ona Bach ata Rosa - Juan Luís Gue rra 4)Use e lcom ando cat para de spl e gar am b os arch ivos, por nom b re y con com odine s (w il dcard). 5)Copie e ldire ctorio m e re ngue y todo su conte nido, l l ám e l o M e re ngue , use cp. 6)Final m e nte , b orre e ldire ctorio m e re ngue con e lcom ando rm . Eje rcicios 9 1)Expl icar e n q ué se dife re ncian l s *y e ch o *. Pág 48 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano 2)Expl icar e n q ué se dife re ncian l s / y e ch o /. 3)Cre ar un arch ivo q ue conte nga l a cantidad de arch ivos e n un dire ctorio. 4)Cre ar dos arch ivos: a.txt, q ue conte nga h ol a, y b .txt, q ue conte nga ch ao. Lue go concate narl os e n un arch ivo ab .txt. Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Ge stionar Arch ivos de sde e lCLI Los O b je tivos de e ste Capítul o son: 1.Qué son l os Sh e l l s 2.Trab ajar de sde l al íne a de com andos 3.Com andos ne ce sarios para m ane jarse de sde e lSh e l l 4.Variab l e s de lSh e l l 5.Local izar Arch ivos Pág 50 Capítu l o3 Una anal ogía e s com parar una distrib ución de Linux con una h am b urgue sa q ue com pras e n un re staurante de com ida rápida. No tie ne s ide a de l o q ue te e stás com ie ndo. En cam b io, l a FSF no te da una h am b urgue sa, sino l a re ce ta para h ace r l a h am b urgue sa. Te pe rm ite re visarl a, e l im inar l os ingre d ie nte s no de se ados y añadir tus propios ingre die nte s para m e jorar e lsab or de tu h am b urgue sa. Cuando e stés satisfe ch o con l a re ce ta e ntonce s e m pie zas a pre pararl a. Tu l a cocinas de l a form a q ue pre fie re s: asada, cocida, frita, a l a b arb acoa, o com e rl a crud a. O rganización FH S UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Trabajar e n l a Líne a de Com andos Los Sh e l l s Un sh e l lprove e una inte rfase e ntre e lusuario y e lk e rne lde lsiste m a ope rativo. Los sh e l l s o son GUIs (graph icaluse r inte rfase ) o CLI (com m and inte rpre te r). Los Tradicional e s de Unix son Inte rfase s de Líne as de Com andos (CLIs). Son iniciadas autom áticam e nte cuando un usuario ingre sa alsiste m a. ElSh e l lBash Sh e l l Elinte rpre te de com andos m ás popul ar de GNU/Linux’s e s e lbash (Th e Bourne -Again Sh e l l ). Es m uch o m ás sofisticado q ue e lsh originalde Ste ve Bourne . Pue de se r e je cutado com o sh , y así re e m pl azar e lSh e l lde Unix original . Te pre se nta un prom pt y e spe ra q ue l os com andos se an e scritos, aunq ue nos conce ntram os sol o e n Bash , e lsh e l ltcsh tam bién e s popul ar y e s basada e n e l dise ño de l a ante rior Sh e l lC (csh ). Com andos de lSh e l l Los com andos de lSh e l lconsiste n de pal abras q ue se e scribe n e n l al íne a de com andos, se paradas por e spacios e n bl anco. Prim e ro e s e lcom ando, se guido por opcione s y l ue go l os argum e ntos. Por m úl tipl e s razone s, al gunos com andos son parte de lSh e l l , e lnúm e ro de com andos q ue son parte de lSh e l le s pe q ue ño. Argum e ntos de l a Líne a de Com andos Las pal abras de spués de lnom bre de lcom ando se pasan com o argum e ntos. La m ayoría de l os com andos agrupan e stas pal abras e n dos cate gorías o grupos: 1. O pcione s, casi sie m pre e m pie zan con uno o dos guione s. 2. Argum e ntos, q ue son nom bre s de arch ivos, dire ctorios, e tc., sobre l os cual e s ope ra e lcom ando. Las opcione s casi sie m pre se col ocan ante s de l os argum e ntos, pe ro para m uch os com andos no e s obl igatorio. La opción e spe cialde ‘--’ indica e lfin de l as opcione s, y nada de spués de l os guione s se conjuga com o una opción, aunq ue e m pie ce con un guión -. ElSintaxis de l as O pcione s de l a Líne a de Com andos La m ayor parte de l os com andos Unix tie ne n una sintaxis e standarizada para pasarl e l as opcione s. Las opcione s de una l e tra e m pie zan con un guión, Ej., -B, pe ro e xiste n opcione s m e nos crípticas, q ue son pal abras com pl e tas o frase s, y e m pie zan con dos m e nos, por e je m pl o --ignore -back ups. Al gunas opcione s m ism as tom an argum e ntos, por l o ge ne rall os argum e ntos son l a próxim a pal abra: sort -o output fil e . Al gunos program as usan e stil os dife re nte s de opcione s de sde l al íne a de com andos, por e je m pl o, opcione s l argas a ve ce s e m pie zan con un sol o –y no con dos --. Eje m pl os de O pcione s de l os Com andos 1. Lista todos l os arch ivos e n e ldire ctorio actual : $l s 2. Lista todos l os arch ivos e n e lform ato l argo (dando m ás inform ación): $l s -l Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano 3. Lista l a inform ación com pl e ta sobre arch ivos e n e spe cífico: $l s -lnotas.txt re porte s.txt 4. Lista toda l a inform ación de todos l os arch ivos .txt: $l s -l*.txt 5. Lista todos l os arch ivos e n form ato l argo, incl uye ndo l os ocul tos: $l s -l-a $l s -l a Variab l e s de lSh e l l Las variabl e s Sh e l lpue de n se r util izadas para al m ace nar val ore s te m porarios Los val ore s de l as variabl e s de lSh e l lse asignan de e sta form a, e je m pl o: $arch ivos="notas.txt re porte s.txt" Las dobl e s com il l as se usan por e le spacio e n bl anco, pe ro e s m e jor usarl as todo e ltie m po. Para im prim ir e lval or de una variabl e use e lcom ando e ch o así: $e ch o $arch ivos Elsím bol o ($) l e dice alsh e l linse rtar e lval or de l a variabl e en l al íne a de com ando. Use e lcom ando se t, e nvo e xport (sin argum e ntos) para l istar todas l as variabl e s de lSh e l l . tra m ane ra de l istar $e ch o $<tab > <tab > Variab l e s de Am b ie nte Las variabl e s de lSh e l lson privadas de e se Sh e l l . Un tipo e spe cialde variabl e s de lsh e l ll l am ados variabl e s de am bie nte se l e s pasa a l os program as e je cutados de sde e lSh e l l . Ele spacio de un program a son e lconjunto de variabl e s de am bie nte a l as cual e s e lre sponde . D e sde Bash , use e lcom ando e xport para e xportar una variabl e de lsh e l la su am bie nte : $arch ivos="notas.txt re porte s.txt" $e xport arch ivos O com binándol o e n un sol o com ando así: $e xport arch ivos="notas.txt re porte s.txt" D onde e stán l os Program as al m ace nados La l ocal idad de un program a pue de se r e spe cificada e xpl ícitam e nte : $./e je m pl o Eje cuta e lprogram a e je m pl o q ue se de be e ncontrar e n e ldire ctorio actual $/b in/l s Eje cuta e lcom ando l s q ue se e ncue ntra e n e ldire ctorio /bin. Si no indicam os l a ruta, e lSh e l lbusca en l os sitios e spe cificados por l a variabl e PATH . La variabl e PATH al m ace na l os dire ctorios e n donde buscar l os e je cutabl e s. Los nom bre s de dire ctorios son se parados por punto y com a, por e je m pl o: $e ch o $PATH /b in:/usr/b in:/usr/l ocal /b in Si e je cutam os e lcom ando: Pág 52 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano $w h oam i Elsiste m a e je cutará /bin/w h oam i o /usr/bin/w h oam i o /usr/l ocal /bin/w h oam i (o e lq ue e ncue ntre prim e ro). Configuración de l as Variab l e s de Bash Al gunas variabl e s contie ne n inform ación l a cual Bash util iza. La variabl e l l am ada PS1 (Prom pt String1) e spe cifica com o de spl e gar e lprom pt de lSh e l l . Use e lcom ando e ch o con e lsím bol o $ ante s de lnom bre de l a variabl e para ve r su val or: $e ch o $PS1 [\u@ \h \W ] \$ Los caracte re s e spe cial e s \u, \h y \W re pre se ntan variabl e s de lSh e l lq ue contie ne n, re spe ctivam e nte , su nom bre de usuario o l ogin nam e , e lnom bre de su m aq uina y e ldire ctorio de trabajo actual , Ej.: $USER , $H O STNAM E, $PW D Usando e lcom ando H istory Com andos pre viam e nte e je cutados pue de n se r e ditados usando l as te cl as de lcursor o Ctrl + P. Esto pe rm ite re usar com andos ante riore s sin te ne r q ue digitarl os de nue vo. Bash al m ace na una h istorial (h istory) de l os com andos e je cutados e n m e m oria. Use e lcom ando h istory para de spl e gar l as l íne as guardadas e n e lh istorialde com andos. H istory se al m ace na e n e larch ivo /.bash _h istory e ntre se cción y se cción de lusuario. Bash usa l a l ibre ría re adl ine para l eer l a e ntrada de lusuario y pe rm ite com andos de e dición tipo Em acs de sde l a l íne a de com andos. Las te cl as de lcursor D e re ch a e Izq uie rda y D e l e te trabajan norm al . Re -usando l os Íte m s de lH istory Com andos ante riorm e nte e je cutados pue de n se r e ditados para form ar nue vos, usando e xpansión de l h istory. Use !! para re fe rirse alcom ando ante rior, por e je m pl o: $rm cartas.txt $e ch o !! e ch o rm cartas.txt rm carta.txt Uno m uy im portante e s !cade na, cualinse rta e lcom ando m ás re cie nte q ue e m pie za con cade na. O tros útil e s para re pe tir com andos sin ninguna m odificación: $l s *.txt notas.txt re porte s.txt $!l s l s *.txt notas.txt re porte s.txt Elcom odín !$re fie re alúl tim o argum e nto de lcom ando ante rior, e je m pl o: $l s -lcarta con nom b re m uy l argo.odt -rw -r--r-- 1 Juan use rs 11170 O ct 31 10:47 carta con nom b re m uy l argo.odt $cp !$ Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano cp carta con nom b re m uy l argo.doc Sim il arm e nte , !^ se re fie re alprim e r argum e nto de lúul tim o com ando. Un com ando de l a form a ^ buscar^ re e m pl azar^ re e m pl aza l a prim e ra ocurre ncia de buscar por re e m pl azar e n e lúl tim o com ando e je cutado, y se e je cuta así: $e ch o $h tpp_proxy $^ pp^ tp^ e ch o $h ttp_proxy h ttp://19 2.18.2.7:8080 Re sum e n de l as te cl as de e ditar de lBash Estos son l os com andos básicos de faul t de lbash : 1. Righ t- m ue ve e lcursor a l a de re ch a 2. Le ft- m ue ve e lcursor a l a izq uie rda 3. Up- com ando pre vio e n l al íne a de lh istory 4. D ow n- próxim a l íne a de lh istory 5. Ctrl + A- m ove rse alinicio de l al íne a 6. Ctrl + E- m ove rse alfinalde l al íne a 7. Ctrl + D - borrar e lcarácte r actual m e nte de bajo de lcursor Existe n te cl as al te rnativas, com o l as de le ditor Em acs, e n l os casos q ue nos se pue dan util izar l as te cl as cursor. Tam bién e xiste n otras te cl as e n com binación, un poco m e nos usadas, de l as cual e s se pue de e ncontrar m ás inform ación e n l as páginas m an de lbash , e n l a se cción ¨Re adl ine ¨. Com b inando m ás de un Com ando e n una l íne a Pue de s e scribir m úl tipl e s com andos e n una sol a l íne a sim pl e m e nte se parándol os con “; ”, l o q ue e s m uy útilsi e lprim e r com ando tom a m uch o tie m po e n e je cutar, por e je m pl o: $program a_q ue _consum e _tie m po;l s Al te rnativam e nte , use & & para col ocar l os com andos q ue sol o se e je cute n si e lante rior tuvo éxito: $Com andos_de _l argo_tie m po_de _e je cucion-al to_o_pote ncial _de _fracaso & & l s Re pe tir Com andos con for Com andos pue de n se r re pe tidos l as ve ce s ne ce sarias util izando e lbucl e for. La e structura e s: $for nom b re _variab l e in l ista;do com andos...;done Por e je m pl o, para re nom brar todos l os arch ivos de e xte nsión .txt a .txt.BAK: $for fil e in *.txt; > do > m v-v$fil e $fil e .BAK ; > done carta.txt -> carta.txt.ol d re porte .txt -> re porte .txt.ol d l istado.txt -> l istado.txt.ol d Elcom ando tam bién se pudie se e scribir e n una sol al íne a así: Pág 54 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano $for fil e in *.txt;do m v -v $fil e $fil e .BAK ;done Sub stitución de Com andos Substitución de Com andos pe rm ite q ue l a sal ida de un com ando se a e largum e nto de otro, por e je m pl o, use e lcom ando l ocate para e ncontrar todos l os arch ivos l l am ados carta.odt y im prim e l a inform ación ace rca de e l l os con e lcom ando l s: $l s -l$(l ocate carta.odt) $l s -l`l ocate carta.odt` Las com il l as e n e lse gundo son l as sim pl e s, tam bién l l am adas back tick s. Ele stil o de $() e s pre fe rida, pe ro l os back tick s son m uy usados. Las nue vas l íne as son conve rtidas a e spacios e n l a sal ida de l com ando prim ario. O tro bue n e je m pl o: use e le ditor vi para e ditar e lúl tim o arch ivo e ncontrado: $vi $(l ocate carta.txt | tail-1) Buscar arch ivos con l ocate Usar e lcom ando l ocate e s una m ane ra sim pl e y e ficaz de e ncontrar arch ivos. Por e je m pl o, para e ncontrar arch ivos re l acionados con e lprogram a de corre o m utt: $l ocate m utt Elcom ando l ocate busca e n l a base de datos de l os nom bre s de l os arch ivos, e sta base de datos e s m ante nida con e lcom ando update db. La base de datos de be se r actual izada re gul arm e nte , por l o ge ne rale sta actual ización se h ace autom áticam e nte con e lse rvicio cron. D e be s te ne r cue nta q ue l ocate no e ncontrara arch ivos cre ados de spués de l a úl tim a actual ización de l a base de datos. La opción -i h ace q ue l a búsq ue da se a se nsitiva a m ayúscul a y m inúscul a. La opción --r inte rpre ta e largum e nto patrón com o una e xpre sión re gul ar, y no com o una cade na de caracte re s sim pl e. Buscar arch ivos con m ás fl e xib il idad: find Elcom ando l ocate sol o busca arch ivos por su nom bre , find pue de e ncontrar arch ivos por una am pl ia com binación de crite rios de búsq ue da, e lcualincl uye por nom bre . Elsipnosis de lcom ando find e s: $find dire ctorios crite rio $find rutas búsq ue da-e xpre sione s acción-e xpre sione s Elcom ando find busca e n e structuras com pl e tas de dire ctorio e m pe zando con l as rutas y e je cuta accione s e spe cificadas por l a acción-e xpre sión e n todos l os arch ivos con atributos igual ando e l busq ue da-e xpre sione s. Al gunos e je m pl os son: Elfind m ás sim pl e s por e je m pl o e s: $ find . Buscar arch ivos por crite rio sim pl e singul ar: $find . -nam e re porte s.txt Elcualbusca arch ivos e n e ldire ctorio actualq ue su nom bre e s re porte .txt Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Elcrite rio de búsq ue das sie m pre e m pie za con un sol o guión, aunq ue te ngan un nom bre l argo $find . -nam e '*.config' -print ./prog1.config ./stat/m e an.config ./stat/var.config ./m ath /m atrix.config Busca l a e structura com pl e ta de dire ctorio e m pe zando por e ldire ctorio actual(e spe cificado e n e ste caso por un punto, .) por arch ivos con nom bre s q ue te rm ine n e n .config e im prim e e lnom bre de cada arch ivo e ncontrado. En e ste e je m pl o, -nam e '*.config' e s una e xpre sión de búsq ue da (búsq ue dae xpre sione s) y -print e s una accion-e xpre sión. Cual q uie r núm e ro de e xpre sione s de búsq ue da y accion pue de se r usada con un sol o com ando find. Por e je m pl o: $find . -nam e '*.config' -m tim e 1 -print -cpio /de v/rm t1 Busca l a e structura de dire ctorio com pl e to e m pe zando por e ldire ctorio actualpor arch ivos q ue su nom bre te rm inan e n .config q ue fue ron m odificados h ace un día. La opción -nam e l a cuale s una e xpre sión de búsq ue da igual a arch ivos con nom bre s q ue te rm inan e n .config y opción -m tim e e s otra e xpre sión de búsq ue da q ue igual a arch ivos q ue fue ron m odificados un día atrás. La e xpre sión de accion -print im prim e e lnom bre de larch ivo a pantal l a y l a e xpre sión de accion -cpio e scribe l os arch ivos aldispositivo de cintas /de v/rm t1. Las e xpre sione s de búsq ue da y accion m ás usadas se m ue stran m ás ade l ante . Expre sione s de b úsq ue da -nam e 'patte rn' Encue ntra arch ivos con nom bre s igual ando patrón (patte rn). Elpatrón pue de incl uir m e tacaracte re s. Elpatrón de be e star e ntre com il l as sim pl e s para q ue e lsh e l lno l o inte rpre te . -size [+ |-] n[c] Encue ntra arch ivos q ue son por l o m e nos (+ n) e xactam e nte (n) o m e nos q ue (-n) n bl oq ue s de tam año. En l a m ayoría de l os siste m as e lbl oq ue e s de 512 byte s o m e dio k il obyte . Si se l e agre ga una c, l os tam años son e spe cificados e n caracte re s (e .j. byte s). -atim e + n | n | -n Encue ntra arch ivos q ue fue ron acce sado por ul tim a ve z h ace m ás de (+ n) e xactam e nte (n) o m e nos q ue (-n) n núm e ro de días ante s. Un arch ivo e s acce sado cuando se l e e je cuta un com ando incl uye ndo e lcom ando find. -m tim e + n | n | -n Encue ntra arch ivos q ue fue ron m odificados ul tim a ve z h ace m ás de (+ n) e xactam e nte (n) o m e nos de (-n) n días. -ctim e + n | n | -n Encue ntra arch ivos q ue fue ron cre ados h ace m ás de (+ n) e xactam e nte (n) o m e nos de (-n) n días. Pág 56 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano -ne w e r fil e nam e Encue ntra arch ivos q ue fue ron m odificados m ás re cie nte m e nte q ue e l arch ivo e spe cificado por fil e nam e . -type c Encue ntra arch ivos de ltipo c. Los val ore s m ás útil e s de c para l a m ayoría de l os usarios e s d para e spe cificar un dire ctorio, f para e spe cificar arch ivos pl anos o ordinarios y lpara e spe cificar víncul os sim ból icos. O tros val ore s son b para arch ivos e spe cial e s de bl ock de vice , c para e larch ivo e spe cialde caracte re s y p para un arch ivo fifo o tube rías nom bradas. -pe rm [-] pe rm -l ist Encue ntra arch ivos con pe rm isos igual ando e xactam e nte e sos e spe cificados por l istado de pe rm isos (pe rm -l ist). Si e lpe rm -l ist e s pre ce dido por un guión (-), e ncue ntra arch ivos con por l o m e nos l os pe rm isos e spe cificados. M e tacaracte re s Soportados Elcom ando find soporta varios m e tacaracte re s o w il dcards (com odine s) cuando busca con e lcrite rio de nom bre (e .j. usando opción -nam e 'patrón' búsq ue da-e xpre sión). * Igual a ce ro o m ás ocurre ncias de cual q uie r carácte r. ? Igual a cual q uie r carácte r sim pl e. [...] Igual a un carácte r de sde un conjunto de caracte re s. [n-m ]Igual a cual q uie r carácte re s e n e lrango e xpre sado por n-m . [^ ...]Igual a cual q uie r carácte r no e nce rado e n l as l l ave s (brack e ts). \ (\) Ante s de cual q uie r m e ta carácte r de sactiva su inte rpre tación. Expre sione s de Acción -print Im prim e l a ruta y nom bre de larch ivo de cada arch ivo e ncontrado. Rutas son e xpre sadas e n re l ativa a l a ruta de l a búsq ue da. -e xe c cm d Eje cuta com ando indicado (cm d) por cada arch ivo e ncontrado. En e lcom ando e larch ivo actuale s e spe cificado con \{\} (Back sl ash , l l ave cuadrada, Back sl ash , l l ave cuadrada cie rra). Elcom ando o cm d de be te rm inar con un \; (Back sl ash , punto y com a). Note q ue l a e xpre sión e xe c re torna ve rdade ro si l os com andos se com pl e taron con éxito y fal so si no. D e e sta m ane ra e xe c funciona com o una e xpre sión de búsq ue da ade m ás de una e xpre sión de accion. -ok cm d Cue stionar e lusuario ante s de e je cutar e lcom ando cm d a cada arch ivo e ncontrado. O K funciona idéntico al-e xe c e xce pto q ue e lusuario e s pre guntado si confirm a q ue de se a e je cutar cada com ando si im prim e cada arch ivo e ncontrado se guido por un sím bol o de pre gunta (?). Si e scribe y causara l a e je cución. Escribir n causara q ue l a e je cución se obvie de lcm d y continua alpróxim o arch ivo. -de pth Causa q ue l as accione s q ue se van a e fe ctuar a un arch ivo de ntro de un dire ctorio ante s e lm ism o Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano dire ctorio. -prune Sal tar e ldire ctorio igual a m ás re cie nte m e nte . Expre sione s de Búsq ue da pue de n se r com binadas para cre ar e xpre sione s com pue stas usando ope radore s. Los ope radore s nos pe rm ite n e fe ctuar búsq ue das m ás e l aboradas o com pl e jas. Se l istan e n l a siguie nte tabl a e n e lorde n q ue e l l as son e val uadas. \( e xpre sión \) Ve rdad si l a e xpre sión e n e lparénte sis e s ve rdad. Expre sione s e ntre l os parénte sis son e val uadas prim e ro. Los parénte sis son pre ce didos por una barra inve rtida (back sl ash ) para no pe rm itir q ue e l sh e l ll as inte rpre te com o un carácte r e spe cial . Esto e s ne ce sario e n l os sh e l l s Bourne , Korn, c-sh e l ly sus de rivadas. ! e xpre sión Elcarácte r de e xcl am ación e s e lope rador NO . Se e val úa com o ve rdad si l a e xpre sión e s fal sa. e xpre sión -a e xpre sión e xpre sión e xpre sión Elope rador and e val úa a ve rdade ro si am bas e xpre sione s son ve rdade ras. La -a no tie ne q ue se r e spe cificada. Es im pl icada si usam os m ás de una e xpre sión de búsq ue da. La se gunda no se rá e val uada si l a prim e ra e s fal sa. e xpre sión -o e xpre sión Elope rador or, -o, e val úa a ve rdad si una de l as dos e xpre sione s e s ve rdad. La se gunda e xpre sión no se rá e val uada si l a prim e ra e xpre sión e s ve rdade ra. Expre sione s Avanzadas Estas e xpre sione s son útil e s para usuarios avanzados o adm inistradore s de siste m as. -inum inode Busca arch ivos q ue su núm e ro de inodo e s inode . -l ink s n Busca arch ivos con n núm e ro de Link s o Víncul os. -group gnam e Busca arch ivos q ue pe rte ne ce n algrupo e spe cificado e n e largum e nto gnam e , pue de se r e lnom bre de un grupo o e lnúm e ro q ue re pre se nta su ID de lgrupo. -nogroup Busca arch ivos q ue son de un grupo q ue no e sta e n /e tc/group. Pág 58 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano -use r unam e Busca arch ivos q ue pe rte ne ce n alusuario e spe cificado por unam e . Unam e pue de se r e lnom bre de un grupo o e lnúm e ro q ue re pre se nta su ID de lusuario. -nouse r Busca l os arch ivos q ue pe rte ne ce n a un usuario q ue no e sta e n /e tc/passw d. -cpio de vice Escribe cada arch ivo e ncontrado aldispositivo usando e lform ato cpio. Para l a gran m ayoría de usuarios e ldispositivo e s e lnom bre físico de su cinta m agnética o tape drive . -xde v No continué l a búsq ue da si se cam bia a un siste m a de arch ivos dife re nte . Buscar arch ivos q ue re side n e n e lm ism o siste m a de arch ivos de lde l a ruta dada com o argum e nto. -fol l ow Sigue l os l ink s sim ból icos y re gistra l os dire ctorios visitados. Esto no se de be de usar con l a e xpre sión type l . Eje m pl os Buscar e n todo e ldire ctorio h om e incl uye ndo todos l os subdire ctorios por un arch ivo de nom bre pe rdido.txt y im prim e l a ruta a pe rdido.txt e n l a pantal l a. $find ~ -nam e 'pe rdido.txt' -print *Note q ue l a til de (~ ) e spe cifica su dire ctorio h om e . Em pe zando por e ldire ctorio h om e , re cursivam e nte busq ue todos l os arch ivos q ue sus nom bre s te rm inan e n e xte nsión .cpp y im prim a e lre sul tado a l a pantal l a. $find ~ -nam e '*.cpp' -print Busq ue todos l os arch ivos e m pe zando de sde e ldire ctorio actualq ue su nom bre e m pie za con carta y tie ne un carácte r m ás. $find . -nam e 'carta?' -print Esta se nte ncia e ncontraría arch ivos nom brados carta1, cartad y cartas, pe ro no a carta o carta12. Note q ue e lpunto (.) e spe cifica e ldire ctorio actual . Busq ue todos l os arch ivos e m pe zando con e ldire ctorio actualq ue su nom bre e m pie za con una l e tra m ayúscul a y te rm ina con un núm e ro. $find . -nam e '[A-Z ] *[0-9 ] ' -print Busq ue todos l os arch ivos e m pe zando con e ldire ctorio /usr/l ocal /instal lde nom bre R(r)e adm e $find /usr/l ocal /instal l-nam e '[R ,r] e adm e ' -print Ele je m pl o ante rior tam bién se pue de l ograr con l a e xpre sión com pue sta. $find /usr/l ocal /instal l\( -nam e 're adm e ' -o -nam e 'Re adm e ' \) -print Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Busq ue todos l os arch ivos e m pe zando con e ldire ctorio actualq ue su nom bre no te rm ine e n .bak . $find . -nam e '*[^ .b ak ] ' -print Ele je m pl o ante rior tam bién se pue de l ograr con e lope rador l ógico NO T. $find . ! -nam e '*.b ak ' -print Busq ue todos l os arch ivos e m pe zando de sde e ldire ctorio h om e de nom bre Espe c*ial . $find ~ -nam e 'Espe c\*ial ' -print *Note q ue e lback sl ash (\) l e dice a find q ue no trate a e laste risco (*) com o un m e ta carácte r. Busq ue l os arch ivos e m pe zando de sde e ldire ctorio h om e cre ados e n l os úl tim os cinco días. $find ~ -ctim e -5 -print Cre e un l istado de todos l os arch ivos y subdire ctorios conte nido e n l os dire ctorios ~ /ccode y ~ /fortran y guárdal o alarch ivo l ista-program as. $find ~ /ccode ~ /fortran -print > l ista-program as * Note q ue e lsigno m ás grande q ue (> ) re dire cciona l a sal ida de -print de sde l a pantal l a h acia e larch ivo l istaprogram as. Cre e l istado de l os dire ctorios e m pe zando por /h om e y guárde l o alarch ivo l ista-dire ctorio. $find ~ -type d -print > l ista-dire ctorio Buscar arch ivos e m pe zando e n e l/h om e q ue no h an sido acce sados e n l os úl tim os 30 días. $find ~ -atim e + 30 -print *Note q ue si uste d e je cuta e ste com ando una se gunda ve z, no e ncontrara ningún arch ivo porq ue e lcom ando find acce sa cada arch ivo e n e ldire ctorio h om e cuando se e je cuta. Busq ue todos l os arch ivos e m pe zando e n e ldire ctorio h om e q ue su nom bre te rm ine e n .config q ue fue m odificado h ace un día. $find ~ -nam e '*.config' -m tim e -1 -print Busq ue todos l os arch ivos e m pe zando e n e l dire ctorio h om e m ás nue vo q ue e l arch ivo ~ /m isdocum e ntos/re porte .txt. $find ~ -ne w e r ~ /m isdocum e ntos/re porte .txt -print Busq ue todos l os arch ivos e m pe zando e n e l dire ctorio h om e m ás nue vo q ue e l arch ivo ~ /m isdocum e ntos/re porte .txt y tam bién nom brado re porte .txt. $find ~ -ne w e r ~ /m isdocum e ntos/re porte .txt -nam e 're porte .txt' -print Busq ue todos l os arch ivos e m pe zando e n e l dire ctorio h om e m ás nue vo q ue e l arch ivo ~ /m isdocum e ntos/re porte .txt, nom brado re porte .txt y cópie l o aldire ctorio de trabajo actual . $find ~ -ne w e r ~ /m isdocum e ntos/re porte .txt -nam e 're porte .txt' -e xe c cp \{\}. \; El im ine todos l os arch ivos y subdire ctorios e m pe zando con e ldire ctorio dir-vie jo. h aga q ue e l usuario l e confirm e ante s de e je cutar e lcom ando de re m ove r rm . $find dir-vie jo -de pth -ok rm \{\}\; Pág 60 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano * Nota l a opción -de pth aq uí e s re q ue rida. D e otra form a, e lfind h icie ra e linte nto de re m ove r l os dire ctorios ante s de vaciarl os y e lcom ando rm fal l ará. Busq ue todos l os arch ivos e m pe zando con su dire ctorio h om e con pe rm isos de l e ctura/re ad y e scritura/w rite para e lusuario y pe rm isos de l e ctura/re ad sol am e nte para e lgrupo y l os otros. $find ~ -pe rm 644 -print En e ste e je m pl ol os pe rm isos l os e spe cificam os usando l os núm e ros octal e s. Este m étodo trabaja e n l as m ayorías de sabore s de Unix. Los Unixs m ode rnos soportan un m odo sim ból ico para e spe cificar l a l ista de l os pe rm isos. Por e je m pl o, $find ~ -pe rm u=rw ,go=r -print *Nota e sta búsq ue da h ace l o m ism o q ue e le je m pl o arriba. Busq ue todos l os arch ivos e n m i dire ctorio h om e donde e lgrupo o l os otros tie ne n pe rm isos de e scritura y use e lcom ando ch m od para re m ove r e se pe rm iso. $find ~ \( -pe rm -020 -o -pe rm -002 \) -e xe c ch m od go-w \{\}\; $find ~ \( -pe rm -g=w -o -pe rm -o=w \) -e xe c ch m od go-w \{\}\; *Nota e n e lprim e r e je m pl o usam os núm e ros octal e s y e lse gundo usa m odo sim ból ico de e spe cificar l al ista de pe rm isos a e lcom ando find. Busq ue todos l os arch ivos e m pe zando con e l dire ctorio actual m ás grande q ue 1000 bl oq ue s (al re de dor de 500 k il obyte s e n l a m ayoría de l os siste m as). $find . -size + 1000 -print Busq ue todos l os arch ivos re gul are s e m pe zando por e ldire ctorio actualm ás grande de 1000 bl oq ue s q ue su nom bre no te rm ine e n .Z y cue stione e lusuario ante s de com prim irl os con e lcom ando com pre ss. $find . ! \( -nam e '*.Z ' \) -type f -size + 1000 -ok com pre ss \{\}\; Busq ue todos l os arch ivos e m pe zando e n e ldire ctorio actualq ue sus nom bre s te rm ine n e n .ssd01 o .sct01 y cópie l o aldire ctorio ~ /sasl ib y q ue pre gunte ante s de re m ove rl os sol am e nte si e lcom ando cp tubo éxito. $find . \( -nam e '*.ssd01' -o -nam e '*.sct01' \) -e xe c cp \{\}~ /sasl ib \;-ok rm \{\}\; Em pe zando por e ldire ctorio h om e , busq ue todo l os arch ivos q ue sus nom bre s te rm inan e n .bak pe ro no busq ue e n e ldire ctorio de back ups. find ~ \( -nam e '*.b ak ' -o \( -nam e 'b ack ups' -prune \) \) -type f -print Busq ue e larch ivo e n e ldire ctorio actualcon inode núm e ro 1428846 y cue stiónam e ante s de re nom brar e larch ivo. $find . -inum 1428846 -ok m v\{\}ne w nam e \; *Note q ue e sto e s útilpara re nom brar arch ivos con caracte re s e spe cial e s e n su nom bre y q ue para e ncontrar e lnúm e ro de inode de un arch ivo con e lcom ando l s use l a opción -i. Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Busq ue todos l os arch ivos e m pe zando e n e ldire ctorio /usr/h om e q ue no pe rte ne ce n a un grupo l istado e n e larch ivo /e tc/groups. # find /usr/h om e -nogroup -print *Note q ue e lsím bol o de núm e ro (# ) se usa para de notar e lprom pt de Unix porq ue se ne ce sita e je cutar de sde l a cue nta de lsupe rusuario. Busq ue todos l os arch ivos e m pe zando e n e ldire ctorio /usr/bin q ue tie ne n e xactam e nte 5 l ink s. # find /usr/b in -l ink s 5 -print Busq ue todos l os arch ivos e m pe zando e n e ldire ctorio /usr/h om e q ue l e pe rte ne ce n alusuario m igue ly cám bie l e e ldue ño alarch ivo a root usando e lcom ando ch ow n. # find /usr/h om e -use r m igue l-e xe c ch ow n root \{\}\; Busq ue todos l os arch ivos re gul are s e n e ldire ctorio /usr q ue h an sido m odificado e n l os úl tim os 5 días y cópial os a un dispositivo de cinta tape . Siga l os víncul os sim ból icos pe ro no busq ue arch ivos e n otro siste m a de arch ivos. # find /usr -fol l ow -xde v-m tim e -5 -cpio /de v/rm t1 Pág 62 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Básicam e nte GNU Fundación Código Libre Dom inicano Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Práctica 3 Eje rcicios 1 1)Use e lcom ando df para de spl e gar l a cantidad de e spacio e n e ldisco duro usada y disponibl e. 2)Re vise l as paginas m an de lcom ando df, y e ncue ntre l a opción q ue pe rm itirá q ue e lcom ando de spl e gué l a sal ida e n m ás am istosa de l e e r para l os h um anos. Expe rim e nte con am bas l as opcione s de única l e tra y l as de nom bre s l argos. 3)Eje cute e lsh e l l , bash , y anal ice a ve r q ue pasa. Re cue rde q ue uste d ya se e ncontraba e je cutando un sh e l lbash . Trate de sal ir de lsh e l lq ue l anzo con e lcom ando e xit. Eje rcicios 2 1)Trate e lcom ando l s con l as opcione s -a y -A. ¿Cuale s l a dife re ncia e ntre e l l as? 2)Escriba un l oop cualh ace un re corrido de todos l os arch ivos de un dire ctorio y im prim e l os nom bre s de e l l os con e lcom ando e ch o. Si l o e scribe todo e n una l íne a, l e se rá m ás fácill ue go e je cutarl o de sde l al íne a de h istory. 3)Cam bie e ll oop para q ue sal udo un núm e ro de ge nte e n e laul a (no cre e arch ivos con e stos nom bre s). 4)Cl aro e sta, una m ane ra m ás sim pl e para im prim ir una l ista de l os nom bre s de arch ivos e s con e ch o *. Porq ue fue se e sto útil , cuando casi sie m pre util izam os e lcom ando l s? Eje rcicios 3 1)Use e lcom ando find para l istar todos l os arch ivos y dire ctorios de bajo de su dire ctorio h om e . Expe rim e nte con -type d y -type f crite rio para l istar sol o arch ivos y/o dire ctorios. 2)Use e lcom ando l ocate para e ncontrar l os arch ivos q ue contie ne n l a cade na ¨passw d¨. Inte nte l a búsq ue da ah ora con e lcom ando find, buscando e n todo e lsiste m a de arch ivos. Ne ce sitaras util izar e lcom odín *e ntre l a cade na *passw d*e n e lpatrón de búsq ue da. 3)Inve stigue q ue h ace e lcrite rio de búsq ue da de lcom ando find -inam e . Eje rcicio 4 1)Usando cut com o de spl ie gue una l ista de usuarios ingre sados e n e lsiste m a. (Ve rifiq ue con w h o) Pág 64 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano 2)En e le je m pl o de arriba im prim a l os usuarios sin dupl icados y e n orde n al fabética. 3)Prue be con e lcom ando l ast para de spl e gar e lre cord de q uie ne s h an ingre sado alsiste m a, con e l com ando tac re ve rse e lorde n. Para q ue fue se e sto útil ?Si l a sal ida e s e xte nsa com o l a dire cciona al com ando l e ss? 4)Use se d para corre gir e le rror ortográfico ‘soste m a’ a ‘siste m a’. Escriba un pe q ue ño arch ivo e n nano, para probar su com ando. Que pasa si e le rror ocurre m ás de una ve s, y q ue se pue de h ace r? 5)Use nlpara e num e rar l as l íne as q ue e scribió e n e le je m pl o de arriba para corre gir e le rror. Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano M ane jo de Arch ivos de te xto Los O b je tivos de e ste Capítul o son: 1. Editore s de Te xtos Básicos, vi 2. Conce ptos de Entrada/Sal ida 3. Re dire cción y Tub e rías 4. Fil tros y com andos de m anipul ación de te xto 5. Sorte ar y orde nar 6. Cortar y pe gar de sde l al íne a de com andos 7. M anipul ación b ásica com o copiar, m ove r, de arch ivos Pág 66 Capítu l o4 Es l a pre gunta q ue nos im pul sa NEO . Es l a duda q ue te h a traído aq uí. Trinity, Th e M atrix UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Trabajar con Arch ivos de Te xto S iste m as tipo GNU son m uy e ficie nte e n su m ane jo de arch ivos de te xto. Las m ism as técnicas pue de n se r util izadas con arch ivos de te xto sim pl e o basado e n form ato de te xto. La m ayoría de l os arch ivos de configuración de siste m as ope rativos GNU son arch ivos de te xto sim pl e . El te xto e s m ayorm e nte e n carUn m odificador de tipo pue de se r agre gado a un START o END para cam biar e lorde n de sorte o por de fe cto de l al l ave de sorte ar. Los m odificadore s de tipos son uno o m ás de l as siguie nte s l e tras: d, f, i, M , n, o r. Ele fe cto e s e lm ism o com o e lcorre spondie nte a l a opción de orde n de sorte ar (-d, -f, e tc.) e xce pto q ue sol am e nte e lorde nam ie nto e spe cificado por l al l ave de sorte ar de spués de l-k e s afe ctado. Estos m odificadore s de tipos pue de n se r apl icados a START, END o am bos. Ele fe cto e s e lm ism o. Por e je m pl o:acte re s ASCII. Te xto e n idiom as otros q ue e lIngl és pue de n usar l os caracte re s ISO -8859 . Unicode e s m e jor, pe ro de safortunadam e nte m uch as util idade s de GNU/Linux de l íne a de com andos no l o soportan aún. Líne as de Te xto Arch ivos de Te xto son divididos e n l íne as. En GNU/Linux una l íne a te rm ina e n un carácte r de l ine fe e d. Carácte r núm e ro 10, h e xade cim al0x0A. O tros siste m as ope rativos util izan dife re nte s com binacione s, W indow s y D O S usan e lre torno de lcarro se guido por un l ine -fe e d m ie ntras q ue e lsiste m as M acintosh usan sól o un re torno de carro (Carriage -Re turn). Existe n program as q ue convie rte n e ntre e stos form atos. Fil trar Te xto y Tub e rías La fil osofía Unix e s;usar pe q ue ños program as, y com binarl os cuando se an ne ce sarios. Por e sto cada h e rram ie nta de be se r e xce l e nte e n l ograr un obje tivo, para así pode r com binar l os program as util izando l as tube rías y l os m étodos de re dire cción. Elprogram a e n l a izq uie rda im prim e te xto a l a sal ida e stándar. Esa sal ida de te xto e s al im e ntada a l a e ntrada e stándar alse gundo program a a l a de re ch a. Por e je m pl o, para cone ctar l a sal ida de e ch o a l a e ntrada de w c: $e ch o "vam os a contar pal ab ras"| w c D e spl e gar Arch ivos con l e ss o m ore Si un arch ivo no cabe e n e le spacio de lte rm inal , de spl ie gue con l e ss o m ore : $l e ss R EAD M E $m ore R EAD M E Ade m ás con l e ss tam bién e s m ás fácill im piar e lte rm inalde todas l as cosas al l í pre se nte . M uy a m e nudo son util izados a l a de re ch a de l as tube rías, para asistir e n l al e ctura de arch ivos l argos: $w c *.txt | l e ss $w c *.txt | m ore Usando e sta ténica no se bl oq ue an con caracte re s no inte rpre tabl e s com o l o h ace cat, y así no pie rde s e lte rm inal . Contar Pal ab ras y Líne as con w c Elcom ando w c cue nta caracte re s, pal abras y l íne as e n un arch ivo. Si se util iza para m úl tipl es Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano arch ivos ge ne ra su sal ida de cada arch ivo y un totalcom binado de todos. Sus opcione s son: -c sal ida cue nta l os caracte re s -lsal ida cue nta l as l íne as -w sal ida cue nta l as pal ab ras La opción por de fe cto e s: -cl w sal ida q ue e s de contar caracte re s, l íne as y pal abras. Por e je m pl o: para de spl e gar e lnúm e ro de pal abras e n e larch ivo carta.txt: $w c -w carta.txt Para de spl e gar e ltotalnúm e ro de l íne as e n todos l os arch ivos de e xte nsión txt e n dire ctorio trabajos/ : $w c -ltrab ajos/*.txt Sorte ar Líne as de Te xto con sort Elcom ando sort orde na l íne as o col um nas de un arch ivo e n orde n al fabética, num érica o orde n re ve rsa. Esto e s otro de l os com andos q ue de be m ane jar para incl uirl o e n su caja de h e rram ie ntas para de se m pe ñar su pape lcom o adm inistrador de siste m as *NIX. Sort e s un com ando m uy ve rsátily pode roso;pe ro, si pue de se r un poco difícilde apre nde r a un principio. Para q ue se a un poco m e nos difícil ,l o vam os a dividir e n tre s cate gorías l as funcione s q ue sort pue de l l e var a cabo y e ntonce s de spués de dividirl ol o conq uistare m os. 1. Sort (orde nar) Sim pl e .- O rde na l as l íne as de un arch ivo e n orde n al fabética, num érica o orde n re ve rsa. 2. Sort (orde nar) col um nas.- O rde na usando uno o m ás de un cam po se parado e n col um nas. El orde n de lsorte ado de cada col um na pue de se r e spe cificado individual m e nte . 3. Fusionar arch ivos.- Pue de n (pre -orde nado y sin orde nar) se r fusionado con e lcom ando sort. Sorte os Sim pl es $sort [opcione s][Arch ivos...] Elcom ando sort orde na uno o m ás arch ivos e n orde n al fabética, num érica o orde n re ve rsa. Por de fe cto e s orde nar al fabéticam e nte . Por e je m pl o: $cat Arch ivo.txt $sort Arch ivo.txt Susana El izab e th El izab e th Juan Juan M ich ae l M ich ae l Susana Si no se e spe cifica un arch ivo, e lcom ando sort l e e de sde l a e ntrada e standar. Las opcione s de l a l ine a de com andos q ue ne ce sita m ane jar se m ue stran e n l a siguie nte tabl a: O pcione s Ge ne ral O pción D e scripción -o fil e nam e Escribe l a sal ida a un arch ivo, de nom bre fil e nam e . Si no se e spe cifica ningún arch ivo, l a sal ida se e nvía a l a sal ida e stándar. -u (única) Líne as idénticas de e ntra se da sal ida sol o una ve z. -c Re visa a ve r si l os arch ivos ya e stán orde nados. Si e sta ya sorte ado, e ste no produce sal ida. Si no e sta e n orde n e ste e nvía un m e nsaje de e rror a l a sal ida de le rror e stándar. Pág 68 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano O pcione s O rde n de sort O pción D e scripción -d Sorte a e n orde n de diccionario. Ignora todos l os caracte re s e xce pto l as l e tras, dígitos yl íne as e n bl anco alde te rm inar e lorde n de lsorte ado. -n Sorte ar e n orde n num érica (Por e je m pl o: -2.5, -1, 0, 0.54, 3, 18). O rde n Num érica ignora e spacios e n bl anco alde te rm inar e lorde n de lsorte ado e inte rpre ta un sím bol o de núm e ros ne gativos (-) corre ctam e nte . Núm e ros pue de n incl uir com as para se parar l os m il e s, m il l one s, e tc (e .j. 1,000 or 10,000). Entradas no-num éricas son sorte adas e n orde n al fabética e ntre núm e ros de ce ro y positivos. Líne as e n bl anco son sorte adas e ntre núm e ros ne gativos y ce ro. Sort no inte rpre ta e lsím bol o de m ás (+ ) com o núm e ro positivo, pe ro si alprincipio de una e ntrada no-num érica. -f Ignora distinción de m ayúscul a/m inúscul as. (a y A son l o m ism o). -M O rde nar l os prim e ros tre s caracte re s com o l os m e se s. (e .j. jan < fe b < m ar...). Le tras m ayúscul as pre ce de n l as m inúscul as de lm ism o m e s (e .j. JAN < Jan < jan < FEB) Nom bre s no val idos son sorte ados e n orde n al fabética ante s de l os nom bre s val idos. (e .j. m al -e scritos < no-e s-un-m e s < jan). -i Ignorar l os caracte re s q ue no se im prim e n. Los caracte re s q ue no se im prim e n incl uye n caracte re s de controlcom o l o son tab, avance de lcarro, re torno de lcarro, e tc. Caracte re s no im prim ibl e s son e sos q ue no se incl uye n e lrango de l os ASCII 040176. -r Re ve rsar e lorde n de lsorte ado. Eje m pl os Sim pl e s de sort Sorte ar e n O rde n al fabética y de D iccionario. Para l os próxim os e je m pl os de be rá cre ar un fich e ro y nom brarl o Arch ivo1, con e lsiguie nte conte nido: $cat Arch ivo1 .e sta l íne a e m pie za con un punto a e sta l íne a l a e m pe zam os con m inúscul a a. Esta e s una l íne a. ab racadab ra 1234 D onde orde nará e sta l íne a? A e sta l íne a l a e m pe zam os con m ayúscul a a. Sorte ar l as l íne as de lArch ivo1 e n orde n al fabética. $sort Arch ivo1 .e sta l íne a e m pie za con un punto 1234 A e sta l íne a l a e m pe zam os con m ayúscul a a. Esta e s una l íne a. D onde orde nara e sta l íne a? a e sta l íne a l a e m pe zam os con m inúscul a a. ab racadab ra * Note q ue l os e spacios y l os caracte re s de puntuacione s son orde nados prim e ro ante s de l os núm e ros se guidos por l as m ayúscul as de l aAal a Z e ntonce s l as m inúscul as de l aaal a z. Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Sorte e e lArch ivo1 e n orde n al fabética y e scriba l a sal ida a un arch ivo de nom bre Arch ivo1s. $sort -o Arch ivo1s Arch ivo1 Sorte e Arch ivo1 e n orde n al fabética inve rsa. $sort -r Arch ivo1 ab racadab ra a e sta l íne a l a e m pe zam os con m inúscul a a. D onde orde nara e sta l íne a? Esta e s una l íne a. A e sta l íne a l a e m pe zam os con m ayúscul a a. 1234 .e sta l íne a e m pie za con un punto Sorte e Arch ivo1 e n orde n al fabética ignorando l as m ayúscul as/m inúscul as. $sort -f Arch ivo1 .e sta l íne a e m pie za con un punto 1234 a e sta l íne a l a e m pe zam os con m inúscul a a. A e sta l íne a l a e m pe zam os con m ayúscul a a. ab racadab ra Esta e s una l íne a. D onde orde nara e sta l íne a? Sorte e Arch ivo1 e n orde n de diccionario. $sort -d Arch ivo1 1234 A e sta l íne a l a e m pe zam os con m ayúscul a a. Esta e s una l íne a. D onde orde nara e sta l íne a? a e sta l íne a l a e m pe zam os con m inúscul a a. ab racadab ra .e sta l íne a e m pie za con un punto O rde n de diccionario ignora todos l os caracte re s e xce pto l os núm e ros, l e tras y e spacios e n bl anco axialq ue ".e sta l íne a e m pie za con un punto"e s sorte ada idéntica q ue si fue se sin e lpunto axial "e sta l íne a e m pie za con un punto". Sorte e Arch ivo1 e n orde n de diccionario, ignore l as m ayúscul as/m inúscul a. $sort -df Arch ivo1 1234 a e sta l íne a l a e m pe zam os con m inúscul a a. A e sta l íne a l a e m pe zam os con m ayúscul a a. ab racadab ra Esta e s una l íne a. .e sta l íne a e m pie za con un punto Pág 70 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano D onde orde nara e sta l íne a? Sorte e Arch ivo1 e n orde n de diccionario inve rsa, ignore l as m ayúscul as/m inúscul a. . $sort -dfr Arch ivo1 D onde orde nara e sta l íne a? .e sta l íne a e m pie za con un punto Esta e s una l íne a. ab racadab ra A e sta l íne a l a e m pe zam os con m ayúscul a a. a e sta l íne a l a e m pe zam os con m inúscul a a. 1234 *Esta se nte ncia e s e ltotalinve rso a usar e lcom ando "sort -df Arch ivo1". Sorte ar e n O rde n Num érica Los próxim o dos e je m pl os usaran e larch ivo Num e ro1. $cat Num e ro1 -18 18 0 -1.4 0.54 0.0 3 0.1 Sorte e e larch ivo Num e ro1 e n orde n num érica. $sort -n Num e ro1 -18 -1.4 0 0.0 0.1 0.54 3 18 Sorte e Num e ro1 e n orde n al fabética. $sort Num e ro1 0 0.0 0.54 3 -1.4 Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano 18 -18 0.1 *Note q ue e sto no e s sorte ad o m ate m áticam e nte . Por cada arch ivo e n e ld ire ctorio actual ,l iste e lnúm e ro de l íne as e n e larch ivo. Sorte e l os arch ivos e n orde n de sce nde nte de m ás l íne as a m e nos. $w c -l*| sort -rn Elcom ando w c im prim e e lnúm e ro de l íne as e n un arch ivo. La sal ida de lcom ando w c se pasa por l a tube ría alcom ando sort donde l a opción -n orde na l os núm e ros de pe q ue ño a grande , pe ro l a opción -r invie rte e lorde n de sorte o, orde nando l os núm e ros de m ayor a m e nor. Sorte ar M e se s Los próxim os e je m pl os usan e larch ivo M e se s q ue uste d de be cre ar con l a siguie nte orde n: $cat M e se s FEB m al -e scrito m ar M AY january M ay No-m e s jan m ay Use l a opción -M para sorte ar M e se s e n orde n cronol ógica. $sort -M M e se s m al -e scrito no-m e s jan january FEB m ar M AY M ay m ay * Note q ue l os q ue no son m e se s son orde nad os d e prim e ro y q ue l os q ue tie ne n l e tras m ayúscul as pre side n l os de l e tras m inúscul as aunq ue se an m e se s idénticos. Sorte ar con l a opción de Única Elpróxim o e je m pl o usa e larch ivo l og-de -e rror, q ue uste d de be cre ar con e lsiguie nte conte nido. $cat l og-de -e rror e rror 01: /tm p dire ctory not found e rror 17: out of m e m ory Pág 72 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano e rror 01: /tm p dire ctory not found e rror 22: l ow disk space e rror 01: /tm p dire ctory not found 1. Sorte e e larch ivo l og-de -e rror e n orde n al fabética. Las l íne as de e ntrada idénticas son inte rpre tadas sol o una ve z. $sort -u l og-de -e rror e rror 01: /tm p dire ctory not found e rror 17: out of m e m ory e rror 22: l ow disk space Sorte ar con l a opción de Re visar/Ch e ck Sorte ar un arch ivo grande pue de se r una actividad e xtre m adam e nte l e nta. Irónicam e nte , e s m ás l e nto e je cutar e lcom ando sort e n un arch ivo ya sorte ado q ue e n uno q ue no e sta. La opción -c re visa para ve rificar q ue e larch ivo no e ste ya sorte ado e n un orde n e spe cifico. Si re torna q ue ya e sta sorte ado, e lsort h ace absol utam e nte nada. Si no e sta, sort im prim e un m e nsaje de e rror al e rror e stándar. Por e je m pl o, asum ie ndo q ue e larch ivo al fab-sorte ado com o su nom bre indica ya e sta orde nado al fabéticam e nte . $sort -c al fab -sorte ado Este proce so e s m uch o m ás rápido q ue sorte ar un arch ivo q ue ya e sta corre ctam e nte sorte ado. Asum am os q ue no e sta sorte ado e n orde n al fabética. $sort -c no-sorte ado sort: disorde r on no-sorte ado Ah ora e xpe rim e nte con e lcom ando. $sort -fc al fab -sorte ado sort: disorde r on al fab -sorte ado La opción -f l e instruye a sort q ue ignore l a distinción de l as l e tras m ayúscul as/m inúscul as. El arch ivo de nom bre al fab-sorte ado e sta sorte ado e n un orde n re gul ar al fabético con distinción de m ayúscul a/m inúscul a tom ada e n cue nta axialq ue , l a opción -c re porta de sorde n. Sorte ar col um nas con sort Sort pue de orde nar arch ivos por col um nas (tam bién l l am ados cam pos). Por e je m pl o, e larch ivo Arch ivo1 tie ne dos cam pos, nom bre y ape l l ido. $cat Arch ivo1 Susana Pe re z Jine tte D iaz Joh n Foste r Andre s Carte r Elsiguie nte com ando, orde na e lArch ivo1 por e lse gundo cam po. $sort -k 2 Arch ivo1 Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Andre s Carte r Jine tte D iaz Joh n Foste r Susana Pe re z Las opcione s de l al íne a de com ando q ue de be sabe r para sorte ar arch ivos por col um nas son m ostradas m ás ade l ante . Estas opcione s de be n se r usadas de spués de l as opcione s ge ne ral e s y de orde n de sorte o. O pcione s de Sorte ar Col um na opción -tc -b -k START[,END ] D e scripción Espe cifica e lcarácte r, c, q ue se para l os cam pos. Por e je m pl o, "-t,"indica q ue l os cam pos son se parados por com as. Cada ocurre ncia de c e s significante axialq ue cc re pre se nta un cam po vacío. Por e je m pl o, si e lcarácte r se parador e s una com a e ntonce s e n "a,,d"e l cam po uno l a e ntrada e s "a", cam po dos e sta vacío y cam po tre s e s "d". Else parador por de fe cto e s e spacio e n bl anco. Ignorar e spacios e n bl anco (e spacios y tabs) alde te rm inar e lcarácte r de l as col um nas. Cuando usam os e spacio e n bl anco para se parar l as col um nas, l a opción -b e l im ina e l significado de m úl tipl e se paradore s de col um nas. Por e je m pl o, "c"e s e lprim e r carácte r de e lse gundo cam po "ab<space > cd" "ab<space > <space > cd" y "ab<space > <space > <space > cd" D e fine una cl ave de sorte ado o una se cción de cada l íne a usada para orde nar. La cl ave de sorte ar e m pe zara con e lcam po START y te rm ina con e lcam po END . Si END no se e spe cifica, l a cl ave e m pie za con START y te rm ina h asta e n fin de l al íne a. M ás de tal l es de com o e spe cificar l al l ave a continuación. Espe cificar l al l ave de Sort para l a opción -k ElSTART y END son e spe cificada usando e lform ato de FNum [.CNum ] [tipo]donde FNum e s e l cam po núm e ro, e m pe zando de sde e l1, y CNum , si pre se nte , e s e lcarácte r de ntro de lcam po. El m odificador tipo e s de scrito m ás ade l ante . Por e je m pl o: -k 1 Em pe zando por e lprim e r carácte r de lprim e r cam po y continuar h asta e lfinalde l a l íne a. Este e s m étodo e s e lm ism o q ue e lsort sim pl e. -k 1,1 Por e lprim e r cam po sol am e nte . Elorde nam ie nto de l as l íne as con prim e ros cam pos idénticos no e s e spe cificado (alazar/random ). Note q ue e sto e s dife re nte ale je m pl o ante rior. -k 1,3 Em pe zando con e lprim e r carácte r de lprim e r cam po y te rm inando con e lúl tim o carácte r de lte rce r cam po. -k 1.2 Em pe zando de sde e lse gundo carácte r e n e lprim e r cam po y continuar h asta e lfin de l a l íne a. -k 1.3,3.3 Em pe zando con e l3e r carácte r e n e lprim e r cam po y te rm inar con e l3rd carácte r e n e l 3e r cam po. Pág 74 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Cual q uie r núm e ro de e spe cificación de cam po pue de se r usada con sort. Por e je m pl o: -k 3,5 -k 2,2 Sorte a por e lcam po tre s h asta e lcinco y l ue go e ldos. -k 1,1 -k 2,2 -k 3,3 Sorte a por e lcam po uno. Si e lcam po uno e s idéntico, sorte a por e lcam po dos. Si e lcam po uno y e ldos son idénticos, sorte a por e ltre s. -k 1,3 Sorte ar por e lcam po uno h asta e ltre s. Note q ue e ste e s dife re nte ale je m pl o ante rior. M odificadore s de Tipo Un m odificador de tipo pue de se r agre gado a un START o END para cam biar e lorde n de sorte o por de fe cto de l al l ave de sorte ar. Los m odificadore s de tipos son uno o m ás de l as siguie nte s l e tras: d, f, i, M , n, o r. Ele fe cto e s e lm ism o com o e lcorre spondie nte a l a opción de orde n de sorte ar (-d, -f, e tc.) e xce pto q ue sol am e nte e lorde nam ie nto e spe cificado por l a l l ave de sorte ar de spués de l-k e s afe ctado. Estos m odificadore s de tipos pue de n se r apl icados a START, END o am bos. Ele fe cto e s e lm ism o. Por e je m pl o: -k 1n Sorte ar por l al íne a com pl e ta (cam po uno h asta e lfinal ) usando orde n de sorte o num érica. -n -k 1 Idéntico ale je m pl o ante rior. -n -k 3,3 -k 1,1 Sorte ar por e lte rce r cam po. Si e lte rce r cam po e s idéntico, sorte ar por e l prim e r cam po. Am bos sorte os son e n orde n num érico. -k 3,3n -k 1,1n Idéntico ale je m pl o ante rior. -k 3n,3 -k 1n,1 Idéntico ale je m pl o ante rior. -k 3n,3n -k 1n,1n Idéntico ale je m pl o ante rior. -k 3,3n -k 1,1 Sorte ar por e lte rce r cam po usando orde nam ie nto num érico. Si e lte rce ro e s idéntico, sorte a por e lprim e ro usando e lorde n al fabético por de fe cto. Una ve z e lm odificador de tipo e s parte de una e spe cificación de l l ave de sorte ar, otras opcione s de sorte ar sim pl e son ignoradas por e sa l l ave de sorte ar. Por e je m pl o: -df -k 2,2 -k 2,2df -f -k 2,2d -f -k 2,2df -k 3,3 Sorte ar por e lcam po dos e n orde n de diccionario ignorando l a distinción de m ayúscul a/m inúscul a. Igualq ue e le je m pl o ante rior. Sorte ar por e lcam po dos e n orde n de diccionario, pe ro no apl ica l a opción -f a l al l ave de sorte ar -k 2,2d. Caso se nsitiva cuando orde ne por e lse gundo cam po. Sorte ar por e lcam po dos e n orde n de diccionario ignorando l a distinción de m ayúscul a/m inúscul a. Si e lcam po dos e s idéntico, sorte ar por e lcam po tre s ignorando l a distinción de m ayúscul a/m inúscul a, pe ro usando e lsorte o por de fe cto al fabético y no e lsorte o de diccionario. Elm odificador de tipo b, com o l a opción -b, causa alcom ando sort q ue ignore caracte re s e n bl anco alde te rm inar posicione s de cam po y carácte r. No com o otros m odificadore s de tipo, l m odificador b afe cta a START y END por se parado. -b -k 2,3 Sorte ar por e lcam po dos h asta e ltre s. Ignorar l os e spacios e n bl anco alprincipio al de te rm inar e lprim e r carácte r de lcam po dos y e lcam po tre s. Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org -k 2,3bd -k 2b,3bd Fundación Código Libre Dom inicano Sorte ar por e lcam po dos h asta e ltre s am bos e n orde n de diccionario. Espacios e n bl anco alprincipio se rá ignorado alde te rm inar cuale s e lcarácte r alprincipio de lcam po tre s pe ro no e lde lcam po dos. Probabl e m e nte no se a e sto q ue uste d de se e . Sorte ar por e lcam po dos e ntonce s por e ltre s y am bos e n orde n de diccionario. Ignorar e spacios e n bl anco alprincipio alde te rm inar e lprim e r carácte r de lcam po dos y e ltre s. M ás e n com o e spe cificar CNum Alcontar caracte re s de cam po, e lcom ando sort e s se nsitivo a l a pre se ncia de núm e ros y tipo de caracte re s de se paración usados e ntre l os cam pos. Ge ne ral m e nte , e m pe zara a contar caracte re s e n un cam po de spués de h abe r l l e gado alprim e r carácte r se parador e spe cificado por l a opción -t. Esto tie ne se ntido si se usa un se parador de cam po com o e s l a com a. Por e je m pl o, col 1fil a1,12345678 col 2fil a2,ab cde fgh -t, -k 2.2,2.4 Elsorte o e m pie za con e lcarácte r "2"e n fil a núm e ro uno y "b"e n l a fil a dos y te rm ina con e lcarácte r "4"e n l a fil a uno y "d"e n l a fil a tw o. En e lsiguie nte e je m pl o, e xiste un e spacio e ntre e lse parador de cam po, a com a, y l a data útile n e lcam po dos. col 1fil a1, 12345678 col 2fil a2, ab cde fgh -t, -k 2.3 -t, -k 2.2b Elsorte o e m pie za con l os caracte re s "2"y "b". Los prim e ros caracte re s son e le spacio e n bl anco de spués de l a com a, l os se gundos caracte re s son "1"y "a". Idéntico ale je m pl o ante rior. Elm odificador b ignora e le spacio e n bl anco alprincipio así q ue l os prim e ros caracte re s son "1"y "a". Es m ás confuso cuando se usa e spacio para se parar l as col um nas. Cuando no se e spe cifica un se parador de cam po e xpl ícitam e nte con l a opción -t, e lcom ando sort usara cual q uie r e spacio e n bl anco com o se parador de cam po. Tam bién contara e ste e spacio e n bl anco com o un carácte r e n e l próxim o cam po. Por e je m pl o, digam os q ue te ne m os un arch ivo con dos col um nas se paradas por un space . col 1fil a1 12345678 col 1fil a2 ab cde fgh -t""-k 2.1 -k 2.2 -k 2.1b Pág 76 Elsorte o e m pie za con l os caracte re s "1"y "a". Porq ue e le spacio fue e xpl ícitam e nte e spe cificado com o un se parador de cam po, sort inicia contando caracte re s de cam po de spués de e ste . Elsorte o e m pie za con l os caracte re s "1"y "a". Porq ue e le spacio no fue e xpl ícitam e nte e spe cificado com o un se parador de cam po, sort cue nta e le spacio q ue se para l os cam pos uno y dos com o e lprim e r carácte r de lcam po dos, aunq ue e le spacio e s un se parador de cam po por de fe cto y no afe ctara e lorde n de lsorte o. Elsorte o e m pie za con l os caracte re s "1"y "a". Com o vim os e n e lúl tim o e je m pl o, sort norm al m e nte cue nta e le spacio e n bl anco se parador com o un carácte r de cam po;pe ro, e lm odificador de tipo b l e dice q ue no e s de incl uir e le spacio e n bl anco de al ante al UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano contar l os caracte re s. Eje m pl o de sorte ar col um nas Los próxim os e je m pl os usan e larch ivo notas, e lcualcontie ne l a fe ch a (m e s, día, año), nom bre de le studiante , ape l l ido y cal ificación de le xam e n. $cat notas D e c 30 2005 Foste r rob e rto 9 2 D e c 30 2005 Lope z K are n 83 D e c 30 2005 Foste r Joh n 78 D e c 30 2005 Rodrigue z Sara 85 Fe b 4 2006 Foste r Rob e rto 84 Fe b 4 2006 Foste r Joh n 9 2 Fe b 4 2006 Rodrigue z Sara 9 1 Fe b 4 2006 Lope z K are n 72 Sorte ar notas ponie ndo e lape l l ido de le studiante (4to cam po) e n orde n al fabética. $sort -k 4 notas Fe b 4 2006 Lope z K are n 72 D e c 30 2005 Lope z K are n 83 D e c 30 2005 Rodrigue z Sara 85 Fe b 4 2006 Rodrigue z Sara 9 1 Fe b 4 2006 Foste r Rob e rto 84 D e c 30 2005 Foste r Rob e rto 9 2 D e c 30 2005 Foste r Joh n 78 Fe b 4 2006 Foste r Joh n 9 2 Com o no se e spe cifico e lcam po final , e larch ivo se orde na e m pe zando con l a 4ta col um na y te rm inando con l a col um na final . Así q ue , e lnom bre y l a cal ificación son incl uidas e n e lsorte o. Si usam os e lsiguie nte com ando $sort -k 4,4 notas D e c 30 2005 Lope z K are n 83 Fe b 4 2006 Lope z K are n 72 D e c 30 2005 Rodrigue z Sara 85 Fe b 4 2006 Rodrigue z Sara 9 1 D e c 30 2005 Foste r Rob e rto 9 2 D e c 30 2005 Foste r Joh n 78 Fe b 4 2006 Foste r Rob e rto 84 Fe b 4 2006 Foste r Joh n 9 2 Sol am e nte l a 4ta col um na e s usada e n e lsorte o. La sal ida no e s sorte ada por nom bre o cal ificacione s. O rde na e larch ivo notas col ocando l os ape l l idos de l os e studiante s (4to cam po) e n orde n al fabética. Escribir l a sal ida a un arch ivo de nom bre notas.final . $sort -o notas.final-k 4 notas Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano O rde ne e larch ivo notas e n orde n de sce nde nte de l as cal ificacione s. $sort -nr -k 6,6 notas Fe b 4 2006 Foste r Joh n 9 2 D e c 30 2005 Foste r Rob e rto 9 2 Fe b 4 2006 Rodrigue z Sara 9 1 D e c 30 2005 Rodrigue z Sara 85 Fe b 4 2006 Foste r Rob e rto 84 D e c 30 2005 Lope z K are n 83 D e c 30 2005 Foste r Joh n 78 Fe b 4 2006 Lope z K are n 72 La opción -k 6,6 orde na por l a 6ta col um na. La opción -n orde na e n orde n num érica (asce nde nte ) y l a opción -r invie rte e lorde n (asce nde nte ). La siguie nte se nte ncia e s e q uival e nte . $sort -k 6,6nr notas O rde ne e larch ivo notas por nom bre de e studiante , ape l l ido y nom bre , y e ntonce s l a fe ch a de l e xam e n, año se guido por e lm e s y final m e nte por e ldía. $sort -k 4,5 -k 3,3n -k 1,1M -k 2,2n notas D e c 30 2005 Lope z K are n 83 Fe b 4 2006 Lope z K are n 72 D e c 30 2005 Rodrigue z Sara 85 Fe b 4 2006 Rodrigue z Sara 9 1 D e c 30 2005 Foste r Rob e rto 9 2 Fe b 4 2006 Foste r Rob e rto 84 D e c 30 2005 Foste r Joh n 78 Fe b 4 2006 Foste r Joh n 9 2 *Note q ue l os nom b re s e stán orde nad os e n orde n al fab ética, e laño y e ldía e stán sorte ados e n orde n num érica y l os m e se s e n orde n cronol ógicam e nte com o m e se s. Guarde l a sal ida de l a se nte ncia arriba e je cutada a un arch ivo de nom bre notas2. $sort -o notas2 -k 4,5 -k 3,3n -k 1,1M -k 2,2n notas Use l a opción (-c) para de te rm inar si l os arch ivos notas o notas2 e stán ya orde nados por l os nom bre s de l os e studiante s o l as fe ch as de l os e xám e ne s. $sort -c -k 4,5 -k 3,3n -k 1,1M -k 2,2n notas sort: disorde r on notas $sort -c -k 4,5 -k 3,3n -k 1,1M -k 2,2n notas2 Los próxim os e je m pl os usan Arch ivo1. $cat Arch ivo1 .e sta l íne a e m pie za con un punto a e sta l íne a l a e m pe zam os con m inúscul a a. Esta l íne a e m pie za con un e spacio. Pág 78 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano ab racadab ra 1234 D onde orde nara e sta l íne a? A e sta l íne a l a e m pe zam os con m ayúscul a a. O rde ne e lArch ivo1 e n orde n de diccionario ignorando l as m ayúscul as/m inúscul as y l os e spacios de l ante ros e n bl anco. $sort -dfb -k 1 Arch ivo1 1234 a e sta l íne a l a e m pe zam os con m inúscul a a. A e sta l íne a l a e m pe zam os con m ayúscul a a. ab racadab ra .e sta l íne a e m pie za con un punto Esta l íne a e m pie za con un e spacio. D onde orde nara e sta l íne a? * Nota: Esto e s un truco para l ograr un sorte o sim pl e ignorando l os caracte re s e n b l anco de l ante ros re q ue ridos porq ue l a opción -b sol am e nte afe cta orde nar por col um na. Pe ro, e n al gunos siste m as l a opción -b afe ctara al gunos sorte ados sim pl es tam b ién. En e stos siste m as e lsiguie nte com ando e s idéntico. $sort -dfb Arch ivo1 Los próxim os e je m pl os usaran e larch ivo núm e ros, e lcualusa un carácte r de dos puntos (:) com o se parador de cam po. $cat núm e ros 3:18 12:5 3:22 8: 5 12:5 Sorte e núm e ros e n orde n num érica por e lcam po uno. Si e lcam po uno ya e sta sorte ado, sorte e por e lcam po dos. Use un dos punto com o se parador de cam po. $sort -n -t":"-k 1,1 -k 2,2 núm e ros 3:18 3:22 8: 5 12:5 12:5 Re pita e lm ism o sorte o usando l a opción única (-u). Líne as idénticas de e ntrada se e nvían a l a sal ida sol o una ve z. $sort -un -t":"-k 1,1 -k 2,2 núm e ros 3:18 3:22 Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano 8: 5 12:5 Trate e ste com ando para probar. $sort -n -t":"-k 1,2 núm e ros 3:22 3:18 8: 5 12:5 12:5 Nota: No l e sorpre nde q ue "3:22"vie ne n ante s de e l"3:18"?Esto ocurre porq ue "-k 1,2"com b ina l os cam pos uno y e ldos ante s d e orde nar cre ando d os cade nas de te xto (strings) "3:22"y "3:18". Estas no son re conocidas com o núm e ros así q ue e l l as son sorte adas e n orde n al fab ética aun con l a opción -n. Porq ue e xiste un e spacio e n b l anco e n fre nte de "3:22", e s orde nado prim e ro e n un orde n al fab ético. Eje m pl os Avanzados: O rde nar Col um nas 1. Elpróxim o e je m pl o usara e larch ivo jnom bre s. Jnom bre s contie ne nom bre , ape l l ido y l a inicial de su se gundo nom bre justificado usando e spacios. $cat Jnom b re s M ik e Foste r C TJ D iaz R Sam pson El l iot T tj M e ye rs D Antonio Foste r A 2.Sorte e Jnom bre s por e lse gundo h asta e lte rce r cam po, ape l l ido y l a inicialde lse gundo nom bre . Ignore m os l a distinción de m ayúscul a/m inúscul a. $sort -k 2,3f Jnom b re s tj M e ye rs D TJ D iaz R M ik e Foste r C Antonio Foste r A Sam pson El l iot T ¿Por q uée e s q ue D iaz e sta orde nado ante s q ue Foste r?Porq ue nosotros no l e dijim os a a sort q ue ignore l os e spacios e n bl anco de l ante ros. Entonce s sort e sta orde nand así "<space > <space > <space > <space > <space > D iaz" Ante s "<space > <space > <space > <space > Foste r" porq ue D iaz tie ne m ás e spacios e n bl anco. Para corre gir e ste probl e m a use e lm odificador de tipo -b. $sort -k 2b ,3b f Jnom b re s Sam pson El l iot T Tj M e ye rs D Antonio Foste r A M ik e Foste r C TJ D iaz R Pág 80 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Elsiguie nte com ando tam bién pue de se r un poco probl e m ático. $sort -b -k 2,3f Jnom b re s Porq ue e lm odificador de tipo f e s agre gado a l as e spe cificacione s de l al l ave "-k 2,3f", sort no apl ica l a opción -b e lcom ando sort orde na l as opcione s alsorte ar con e sa l l ave . $sort -k 2,3b f Jnom b re s Porq ue e lm odificador de tipo sol o afe ctaráa e lcam po tre s. Los próxim o dos e je m pl os usan e larch ivo Fe ch as, e lcualcontie ne e spe cificacione s de ldía de l a se m ana e n e l prim e r cam po se guido por l as e spe cificacione s de l tie m po e n form ato de h ora:m inuto:se gundo e n e lcam po dos. Los cam pos e stán se parados por un TAB. $cat Fe ch as Wed 02:43:55 Tue 14:46:32 Wed 11:43:13 3.O rde ne e larch ivo Fe ch as por l os m inutos. $sort -k 2.4b ,2.5b n Fe ch as Wed 02:43:55 Wed 11:43:13 Tue 14:46:32 Note : Estam os usando e lm odificador d e tipo -b para q ue no se incl uyan l os e spacios e n b l anco alcontar l a posición de l os carácte r. 4. O rde ne e larch ivo Fe ch as por m inutos se guido por l os se gundos. $sort -k 2.4b ,2.5b n -k 2.7b ,2.8b n Fe ch as Wed 11:43:13 Wed 02:43:55 Tue 14:46:32 Los próxim o dos e je m pl os usan e larch ivo Jove ne s, e lcualcontie ne l os nom bre s, ape l l ido y e dad de tre s Jove ncitos. $cat Jove ne s nom b re ape l l ido Edad Susana Pe re z 6 El izab e th D iaz 11 M ich ae l Re ye s 8 La prim e ra l íne a de larch ivo l os nom bre s de l as col um nas e n ve z de data. 5. O rde ne l a data de larch ivo Jove ne s por e lcam po e dad. Ignorando l a col um na nom bre s. $tail+ 2 Jove ne s | sort -k 3n Susana Pe re z 6 M ich ae l Re ye s 8 El izab e th D iaz 11 Elcom ando “tail + 2 Jove ne s" im prim e e lconte nido de larch ivo Jove ne s, e m pe zando por l a se gunda l íne a, a l a sal ida e stándar. La tube ría (pipe |) re dire cciona l a sal ida de lcom ando taila l a Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano e ntrada de lcom ando sort, e lcuale ntonce s orde na por e lcam po núm e ro tre s e n orde n num érica. 6.Cre e un arch ivo, sJove ne s, q ue conte nga l a data de larch ivo Jove ne s orde nada por e dad. Incl uya l a col um na nom bre s e n l a parte supe rior de larch ivo sJove ne s pe ro no l a incl uya e n e l sorte ado. $( h e ad -1 Jove ne s ;tail+ 2 Jove ne s | sort -k 3n ) > sJove ne s ¿Cóom o e s q ue e sto funciona?Elpunto y com a (; ) usado para pode r e scribir dos com andos e n una m ism a l íne a de com andos. Elprim e r com ando, “h e ad -1 Jove ne s", im prim e l a prim e ra l íne a de l arch ivo Jove ne s, l a col um na nom bre s, a l a sal ida e stándar. Else gundo com ando "tail+ 2 Jove ne s | sort -k 3n"orde na l a data e n e larch ivo Jove ne s por e lcam po e dad y im prim e e lre sul tado a l a sal ida e stándar. Los parénte sis son usados para e je cutar am bos com andos e n un sol o subsh e l lasí q ue l a sal ida pue da se r re dire ccionada sim ul táne am e nte alarch ivo sJove ne s. Fusionando/M e rging Los arch ivos (pre -orde nados y no-orde nados) pue de n se r fusionados con e lcom ando sort. Por e je m pl o, asum am os q ue te ne m os e stos dos arch ivos, Arch ivo1 y Arch ivo2: $sort -o sArch ivo1 Arch ivo2 Fusiona l os arch ivos Arch ivo1 y Arch ivo2, l os pone e n orde n y e ntonce s al m ace na l a sal ida al arch ivo sArch ivo. Es e le q uival e nte de e je cutar l a siguie nte se nte ncia. $cat Arch ivo1 Arch ivo2 > Arch ivo3 $sort -o sArch ivo Arch ivo3 $rm Arch ivo3 Una opción de l al íne a de com andos q ue afe cta l a fusión de l os arch ivos. O pción D e scripción -m Sol am e nte fusionar. Para usar e n arch ivos q ue h an sido sorte ados pre viam e nte . Por e je m pl o, si dos arch ivos Arch ivo1s y Arch ivo2s ya h an sido sorte ados $sort Arch ivo1 -o Arch ivo1s $sort Arch ivo2 -o Arch ivo2s Entonce s $sort -m -o sArch ivo Arch ivo1s Arch ivo2s Nos ah orra tie m po no te nie ndo q ue re orde nar l os arch ivos Arch ivo1s y Arch ivo2s. Sol o te ne m os q ue inte grarl os. Eje m pl os: Fusionar/M e rging Los siguie nte dos e je m pl os usan l os arch ivos D atos1 y D atos2. Pág 82 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano $cat D atos1 $cat D atos2 A - de sde e larch ivo 1 B - de sde e larch ivo 2 C - de sde e larch ivo 1 D - de sde e larch ivo 2 E - de sde e larch ivo 1 1. Fusione l os arch ivos D atos1 y D atos2 e n orde n al fabética. $sort -m D atos1 D atos2 A - de sde e larch ivo 1 B - de sde e larch ivo 2 C - de sde e larch ivo 1 D - de sde e larch ivo 2 E - de sde e larch ivo 1 La opción -m (sol am e nte fusiona) e s apropiada porq ue l os arch ivos D atos1 y D atos2 ya e stán sorte ados y e n orde n al fab ética. 2. Usando l a opción -m con un arch ivo q ue no e ste ya orde nado e n e lorde n corre cto arrojara un re sul tado de sorde nado. Por e je m pl o, fusione l os arch ivos D atos1 y D atos2 e n orde n inve rsa al fabética. $sort -r -m D atos1 D atos2 B - de sde e larch ivo 2 D - de sde e larch ivo 2 A - de sde e larch ivo 1 C - de sde e larch ivo 1 E - de sde e larch ivo 1 Pode m os usar l a opción -c para re visar si un arch ivo e sta sorte ado e n orde n corre cta ante s de de cidir usar l a opción -m . $sort -c -r D atos1 ;sort -c -r D atos2 sort: disorde r on D atos1 sort: disorde r on D atos2 Ya q ue l a opción de q ue re visara l os arch ivos re torno un re sul tado de de sorde n, l os arch ivos te ndrán q ue se r orde nados ade m ás de fusionados. $sort -r D atos1 D atos2 E - de sde e larch ivo 1 D - de sde e larch ivo 2 C - de sde e larch ivo 1 B - de sde e larch ivo 2 A - de sde e larch ivo 1 Elsiguie nte e je m pl o usa l os arch ivos Arch ivo1 y Arch ivo2. $cat Arch ivo1 $cat Arch ivo2 .e sta l íne a e m pie za con un punto Esta e s una l íne a. a e sta l íne a l a e m pe zam os con m inúscul a a. ab racadab ra ¿D onde orde nara e sta l íne a? 1234 A e sta l íne a l a e m pe zam os con m ayúscul a a. Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano 1. Fusione y sorte e l os arch ivos Arch ivo1 y Arch ivo2 e n orde n de diccionario, ignorando l a distinción e ntre m ayúscul as/m inúscul a. $sort -fd Arch ivo1 Arch ivo2 1234 a e sta l íne a l a e m pe zam os con m inúscul a a. A e sta l íne a l a e m pe zam os con m ayúscul a a. ab racadab ra Esta e s una l íne a. .e sta l íne a e m pie za con un punto ¿D onde orde nara e sta l íne a? D os m ane ras e q uival e nte s de fusionar y orde nar e stos arch ivos son: $cat Arch ivo1 Arch ivo2 > Arch ivo3 $sort -fd Arch ivo3 y $sort -fd -o Arch ivo1s Arch ivo1 $sort -fd -o Arch ivo2s Arch ivo2 $sort -fdm Arch ivo1s Arch ivo2s 2. En l os e je m pl os ante riore s sol o h e m os fusionado dos arch ivos;pe ro pode m os fusionar m ás de dos arch ivos con e lcom ando sort. $sort Arch ivo1 Arch ivo2 Arch ivo3 Arch ivo4 Arch ivo5 ... Los siguie nte s dos e je m pl os usan l os arch ivos Cal ificacione s1 y Cal ificacione s2. $cat Cal ificacione s1 $cat Cal ificacione s2 Foste r Rob e rto 9 2 Foste r Rob e rto 84 Lope z K are n 83 Foste r Joh n 9 2 Foste r Joh n 78 Rodrigue z Sara 9 1 Rodrigue z Sara 85 Lope z K are n 72 Cal ificacione s1 contie ne tre s cam pos, ape l l ido, nom bre y l a cal ificación de l prim e r e xam e n de l año. Cal ificacione s2 contie ne l a m ism a data pe ro de lse gundo e xam e n de laño. 1. O rde ne y fusione l os arch ivos Cal ificacione s1 y Cal ificacione s2 por nom bre . $sort -k 1,2 Cal ificacione s1 Cal ificacione s2 Lope z K are n 72 Lope z K are n 83 Rodrigue z Sara 85 Rodrigue z Sara 9 1 Foste r Rob e rto 84 Foste r Rob e rto 9 2 Foste r Joh n 78 Foste r Joh n 9 2 Pág 84 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano 2. Pue de se r q ue de se e producir una sal ida q ue conte nga una l íne a por e studiante con am bas cal ificacione s, por e je m pl o: Lope z K are n 83 72 Rodrigue z Sara 85 9 1 Foste r Rob e rto 9 2 84 Foste r Joh n 78 9 2 Este tipo de fusión no l o prove e e lcom ando sort. Para e ste e je m pl o, te ndrás q ue util izar e l com ando sort asistido por l os com andos cut y paste . $sort -o sCal ificacione s1 -k 1,2 Cal ificacione s1 $sort -o sCal ificacione s2 -k 1,2 Cal ificacione s2 $cut -d""-f 3 sCal ificacione s2 | paste sCal ificacione s1 Elcom ando join prove e una m ane ra m ás avanzada de fusionar por col um nas. Elcom ando uniq El com ando uniq re m ue ve o e l im ina l íne as dupl icadas de un arch ivo. Es com únm e nte util izado com o parte de un fil tro. D e scripción uniq [options] fil e 1 fil e2 uniq [opcione s] Arch ivo1 Arch ivo2 Uniq e l im ina l as l íne as dupl icadas e n Arch ivo1 y e scribe una l íne a única a Arch ivo2. Si Arch ivo2 e xiste , uniq sobre scribe e ste arch ivo sin dar ninguna adve rte ncia. Si Arch ivo2 no se e spe cifica, uniq e scribe a l a sal ida e stándar. Si no se e spe cifica Arch ivo1, uniq l e e de sde l a e ntrada e stándar. Por e je m pl o, $cat frutas m anzanas m anzanas naranjas pe ras $uniq frutas m anzanas naranjas pe ras Uniq e s sol am e nte útilsi e larch ivo h a sido pre viam e nte orde nado. En e lsiguie nte e je m pl o se q ue da de m ostrado $cat frutas m anzanas naranjas m anzanas $uniq frutas Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano m anzanas naranjas m anzanas En e ste caso uniq no re m ovió l a se gunda l íne a de m anzanas porq ue no e staba inm e diatam e nte de spués de l a prim e ra l íne a de m anzanas. O pcione s O pción -c -d -u -f n -s n D e scripción Escribe e lnúm e ro de ve ce s q ue una l íne a ocurre e n e larch ivo de e ntrada ante s de cada l íne a de larch ivo de sal ida. Escribe cada l íne a dupl icada una sol a ve z pe ro no e nvía a l a sal ida l íne as únicas. Escribe sol am e nte l íne as únicas. Todas l as dupl icadas son e l im inadas. Ignore l os prim e ros n cam pos de una l íne a. Los cam pos son de l im itados por e spacios o tabs. Ignora com parar l os prim e ros n caracte re s Nota: Las opcione s -c, -d y -u no se pue de n usar juntas. Eje m pl os 1. Escriba una copia única de l as l íne as únicas de lArch ivo1 e n Arch ivo2. $uniq Arch ivo1 Arch ivo2 ¡M uch o cuidado! Si e xiste e lArch ivo2 e ste se rá sob re e scrito por e lcom ando uniq , sin e m itir ninguna adve rte ncia. Los próxim os e je m pl os usaran e larch ivo l og-e rror. $cat l og-e rror e rror 11: /tm p dire ctory not found e rror 22: out of m e m ory e rror 11: /tm p dire ctory not found e rror 17: l ow disk space e rror 11: /tm p dire ctory not found e rror 22: out of m e m ory e rror 04: conne ction fail ure e rror 11: /tm p dire ctory not found 2. Elprim e r paso e s orde nar e larch ivo l og-e rror. Esto se pue de l ograr usando e lcom ando sort y guardando l a sal ida e n e larch ivo l og-e rror-S. $sort l og-e rror -o l og-e rror-S $cat l og-e rror-S e rror 04: conne ction fail ure e rror 11: /tm p dire ctory not found e rror 11: /tm p dire ctory not found e rror 11: /tm p dire ctory not found e rror 11: /tm p dire ctory not found e rror 17: l ow disk space e rror 22: out of m e m ory e rror 22: out of m e m ory Pág 86 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Ah ora usam os e lcom ando uniq para e scribir una l íne a única por cada tipo de e rror q ue ocurre y sal var l a sal ida e n e larch ivo l og-e rror-U. $uniq l og-e rror-S l og-e rror-U $cat l og-e rror-U e rror 04: conne ction fail ure e rror 11: /tm p dire ctory not found e rror 17: l ow disk space e rror 22: out of m e m ory Com o una al te rnativa pode m os e scribir l as l íne as únicas de ll og-e rror-S a l a sal ida e stándar sol o con no e spe cificar un arch ivo de sal ida. $uniq l og-e rror-S e rror 04: conne ction fail ure e rror 11: /tm p dire ctory not found e rror 17: l ow disk space e rror 22: out of m e m ory Si no se e spe cifica un arch ivo de de e ntrada e ntonce s uniq l e e de sde l a e ntrada e stándar. Pode m os usar e sta caracte rística para pasar por tube ría l a sal ida de lcom ando sort dire ctam e nte al com ando uniq sin guardar l a sal ida orde nada a un arch ivo. $sort l og-e rror | uniq 3. Use l a opción -d para m ostrar sol am e nte e sos e rrors q ue ocurre n m ás de una ve z. $uniq -d l og-e rror-S e rror 11: /tm p dire ctory not found e rror 22: out of m e m ory 4. Use l a opción -u para de spl e gar e sos e rrore s q ue sol o ocurre n una ve z. $uniq -u l og-e rror-S e rror 04: conne ction fail ure e rror 17: l ow disk space 5. Use l a opción -c para contar e lnúm e ro de ve ce s q ue cada e rror ocurre e n e larch ivo l oge rror. $uniq -c l og-e rror-S 1 e rror 04: conne ction fail ure 4 e rror 11: /tm p dire ctory not found 1 e rror 17: l ow disk space 2 e rror 22: out of m e m ory Pase por tube ría (pipe ) l os re sul tados de lcom ando uniq alcom ando sort para l istar l os e rrore s q ue ocurre n con m ás fre cue ncia arriba de l a sal ida. $uniq -c l og-e rror-S | sort -n -r 4 e rror 11: /tm p dire ctory not found 2 e rror 22: out of m e m ory Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano 1 e rror 17: l ow disk space 1 e rror 04: conne ction fail ure Note q ue l a opción -n d e sort ord e na num éricam e nte y no al fab éticam e nte y l a opción -r pone l os íte m s e n orde n inve rsa (e .j. m ayor-a-m e nor). Ele je m pl o ante rior se pue de igual ar con e lsiguie nte com ando, usando e larch ivo original , sin orde nar l og-e rror y una se rie de tube rías. $sort l og-e rror | uniq -c | sort -n –r Los próxim os e je m pl os usaran e larch ivo Com pras, e lcualcontie ne e lnom bre de un cl ie nte , l a fe ch a y e lartícul o ve ndidos. $cat Com pras Juan jul io Jan 2 Unidad 12 Juana Sanch e z Jan 4 Unidad 17 Juan jul io Jan 10 Unidad 12 Joh nny Pe re z Jan 15 Unidad 17 M aritza Be tance s Jan 22 Unidad 05 Juana Sanch e z Jan 30 Unidad 12 Liza M e jia Fe b 2 Unidad 04 Juan jul io Fe b 4 Unidad 03 6. Ge ne re un l istado de cuantos artícul os h an sido ve ndidos. Elprim e r paso se rá orde nar e l arch ivo Com pras e m pe zando por e lq uinto cam po, "Unidad 03", "Unidad 04", e tc. $sort -k 5 Com pras Juan jul io Fe b 4 Unidad 03 Liza M e jía Fe b 2 Unidad 04 M aritza Be tance s Jan 22 Unidad 05 Juana Sánch e z Jan 30 Unidad 12 Juan jul io Jan 10 Unidad 12 Juan jul io Jan 2 Unidad 12 Joh nny Pe re z Jan 15 Unidad 17 Juana Sánch e z Jan 4 Unidad 17 Esta sal ida pue de se r e nviada por tube ría alcom ando uniq con l a opción -4 para q ue ignore l os prim e ros cuatros cam pos y l a opción -c para q ue de sal ida alconte o de cada l íne a. $sort -k 5 Com pras | uniq -4 -c 1 Juan jul io Fe b 4 Unidad 03 1 Liza M e jía Fe b 2 Unidad 04 1 M aritza Be tance s Jan 22 Unidad 05 3 Juana Sánch e z Jan 30 Unidad 12 2 Joh nny Pe re z Jan 15 Unidad 17 Los datos de nom bre y fe ch a (l os cam pos de luno alcuatro) e n cada l íne a ya no tie ne n re l e vancia. Elcom ando uniq ignora l os prim e ros cuatro cam pos cuando de te rm ina l íne as dupl icadas. Si dos o m ás l íne as son idénticas e m pe zando con e lcam po núm e ro cinco e ntonce s uniq usa l os prim e ros cuatros cam pos de l a prim e ra l íne a q ue e ncue ntra y e l im ina l os prim e ros cuatro cam pos de Pág 88 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano l as próxim as l íne as. 7. Elcom ando cut pue de se r usado para e l im inar col um nas no de se adas ante s de usar e l com ando uniq . Elsiguie nte e je m pl o usa cut para e l im inar l os cam pos de nom bre y fe ch a ande s de usar l os com andos sort y uniq . $cut -d' ' -f5,6 Com pras | sort | uniq -c 1 Unidad 03 1 Unidad 04 1 Unidad 05 3 Unidad 12 2 Unidad 17 8. Use l os com andos cut, sort y uniq para ge ne rar una l ista de cl ie nte s y guárde l a a un arch ivo y nóm bre l o Cl ie nte s. $cut -d' ' -f1,2 Com pras | sort | uniq > Cl ie nte s $cat Cl ie nte s Juana Sánch e z Juan jul io Joh nny Pe re z Liza M e jía M aritza Be tance s Ele je m pl o ante rior usa re dire ccionam ie nto de sal ida para guardar l a sal ida de lcom ando uniq a un arch ivo de nom bre Cl ie nte s porq ue e lcom ando uniq no pe rm ite un arch ivo de sal ida alm e nos q ue no se h a e spe cificado uno de e ntrada. 9 . Ge ne re una l ista de l os cl ie nte s de com pras re pe tidas. $cut -d' ' -f1,2 Com pras | sort | uniq -d Juana Sánch e z Juan jul io Se l e ccionar Parte s de Líne as con cut D e scripción cut [-b | -c | -f]l ist [options][Fil e ...] cut [-b | -c | -f]l ista [opcione s][Arch ivo ...] Elcom ando cut se l e cciona col um nas de sde un arch ivo y l o im prim e a l a sal ida e stándar. Si no se e spe cifica un arch ivo cut l e e de sde l a e ntrada e stándar. Las col um nas pue de n se r e spe cificadas com o byte s, caracte re s o cam pos de l im itados. Por e je m pl o: $cut -c 1-10 Arch ivo1 Arch ivo2 Im prim e l os prim e ros 10 caracte re s de cada l íne a de larch ivo Arch ivo1 a l a pantal l a e ntonce s im prim e l os prim e ros 10 caracte re s de cada l íne a de larch ivo Arch ivo2 a l a pantal l a. Se l e ccione de sde un rango de : Caracte re s, con -c Cam pos, con -f Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Se paradore s de cam pos pue de n se r e spe cificados con -d (por de fe cto e s tab) Los rangos se e spe cifican con posición de com ie nzo y fin: e .j., 3-5 Cual q uie r pue de se r om itido Elprim e r carácte r o cam po e s num e rado com o 1, y no 0 Eje m pl o: se l e ccione l os nom bre s de usuarios ingre sados e n e lsiste m a: $w h o | cut -d""-f1 | sort –u Las opcione s de l al íne a de com andos de cut se de scribe n a continuación. O pción D e scripción -b l ist Las col um nas son e spe cificadas por posicione s de byte s. -c l ist Las col um nas son e spe cificadas por carácte r. Por e je m pl o, -c 1-72 corta l os prim e ros 72 caracte re s de cada l íne a de un arch ivo. -f l ist Las col um nas son e spe cificadas por cam pos. Los cam pos de be n se r se parados por un carácte r de l im itador. Elde l im itador pue de se r e stabl e cido con l a opción -d. El de l im itador por de fe cto e s un TAB. Por e je m pl o, -f 2,5 se l e cciona e lse gundo y q uinto cam pos de cada l íne a e n un arch ivo con col um nas se paradas por TABs. Si l al íne a no contie ne ningún de l im itador, cut im prim irá e sa l íne a a l a sal ida e stándar, alm e nos q ue no se use l a opción -s. -d c Espe cifica e lcam po de l im itador cuando se usa l a opción -f. -s Use l a opción -f. Si una l íne a no contie ne de l im itadore s, l a opción -s de tie ne a cut de im prim ir e sa l íne a a l a pantal l a. D e be e spe cificar e xactam e nte una de l as opcione s -b, -c o -f se guida por una l ista, cualde be se r una l ista de núm e ros e nte ros e n orde n asce nde nte se parados por com as. Un guión pue de se r usado com o se parador para indicar un rango com pl e to. La siguie nte tabl a m ue stra al gunos e je m pl os. Lista n1,n2,n3 n1-n2 n1-n2,n3 -n1,n2 n1,n2- Significado Corta n1, n2 y n3. Corta n1 h asta n2. Corta n1 h asta n2 y n3. Corta de sde 1 h asta n1 y n2. Corta n1 y de sde n2 h asta e lfin de l al íne a. Eje m pl os Conte nido de larch ivo datase t1 Pino 9 06 26 1.0 211 Lim on 9 33 26 2.3 160 M ora 1246 27 2.44 162 Pal ma 671 25 3.8 888 Corte e lse gundo cam po l a cuale sta al m ace nada e n l as col um nas 13 al17. $cut -c 13-17 datase t1 Corte col um nas de l1 al72 de sde e larch ivo prog1.f y re dire ccione s l a sal ida de sde l a pantal l a al Pág 9 0 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano arch ivo code .f. $cut -c -72 prog1.f > code .f Corte todos l os caracte re s al m ace nado de spués de l a col um na 72 e n e larch ivo prog1.f y guarde l os re sul tados e n un arch ivo l l am ado com e ntario. $cut -c 73- prog1.f > com e ntario En e larch ivo datase t2 cualtie ne och o cam pos se parado por un e spacio. Pino 9 06 26 020079 130.0 80.3 17.1 211 Lim on 9 33 26 030079 48.0 85.2 22.7 160 M ora 1246 27 070079 31.0 86.5 6.9 162 Pal m a 671 25 100077 41.0 87.3 15.0 888 Corte e lse gundo h asta e lcuarto y e ntonce s e lséptim o cam po. $cut -f 2-4,7 -d ""datase t2 En e larch ivo datase t3 corte l os cam pos 1, 3, 4, 5, 6 y e l8. Pino,9 06,26,020079 ,130.0,80.3,17.1,211 Lim on,9 33,26,030079 ,48.0,85.2,22.7,160 M ora,1246,27,070079 ,31.0,86.5,6.9 ,162 Pal m a,671,25,100077,41.0,87.3,15.0,888 $cut -f 1,3-5,6,8 -d , datase t3 Esto de spe jara e larch ivo para h ace rl o m ás l e gibl e , ya q ue no te nia un carácte r de l im itador. Para cortar l os cam pos de se ados sin incl uir l as l íne as, $cut -f 1,3-4,6,8 -d , -s datase t3 Lista l os prim e ros 8 caracte re s de cada arch ivo e n dire ctorio actual . $l s -1 | cut -c 1-8 Elcom ando l s -1 l ista todos l os arch ivos e n e ldire ctorio actuale n una única col um na. La sal ida de lcom ando l s se fil tra por una tube ría alcom ando cut, e lcualse l e cciona l os prim e ros och o caracte re s de l os nom bre s de l os arch ivos. Eje m pl os Avanzados Liste l os nom bre s de usuarios (l ogin nam e s) de todos l os usuarios ingre sados e n e lsiste m a. $w h o | cut -f 1 -d "" Elcom ando w h o l ista todos l os usuarios ingre sados e n e lsiste m a. La prim e ra col um na contie ne e lnom bre de lusuario y l as otras col um nas contie ne n conform ación adicional . La sal ida de sde e l com ando w h o e s pasada por l a tube ría alcom ando cut, e lcualse l e cciona sol ol a prim e ra col um na de l a sal ida. D e spl ie gue l as col um nas una y cinco de larch ivo /e tc/passw d, q ue son e luse rid y su nom bre re al . # cut -f 1,5 -d : /e tc/passw d Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Note e lsigno de núm e ro o pound (# ) significando q ue te ne m os q ue e ncontrarnos e n l a cue nta de root para e je cutar e ste e je m pl o. Expandie ndo l a Tab ul ación a Espacios con e xpand Usado para re e m pl azar l os tabul ados con e spacios e n l os arch ivos. Eltam año de lTabul ador (núm e ro m áxim o de e spacios por tabul ador) se pue de e stabl e ce r con -t núm e ro. Tam año por de fe cto de ltab e s 8. Para sól o cam biar e lTab alprincipio de l as l íne as, use -i. Eje m pl o: cam bie todos l os tabs e n arch ivo.txt a tre s e spacios, y de spl e garl o a pantal l a: $e xpand -t 3 arch ivo.txt $e xpand -3 arch ivo.txt Usar fm t para darl e Form ato a Arch ivos de Te xto Col oca pal abras orde nadam e nte e n fil as de l ongitud consiste nte . Use -u para conve rtir a e spacios uniform e s. Un e spacio e ntre pal abras, dos e ntre oracione s. Use -w w idth (anch o) para col ocar l a m áxim a anch ura de l os caracte re s, q ue por de fe cto e s 75. Eje m pl o: cam bie e ll argo de l as l íne as de notas.txt a un m áxim o de 70 caracte re s, y de spl e garl oa pantal l a: $fm t -w 70 notas.txt | l e ss Le e r l as prim e ras Líne as de un arch ivo con h e ad Im prim e a pantal l al as prim e ras l íne as de larch ivo de e ntrada, obviando l as otras. La opción -n indica e lnúm e ro de l íne as a im prim ir. Por de fe cto im prim e l as prim e ras 10 l íne as. Para ve r e l e ncabe zado de un arch ivo H TM Ll l am ado inde x.h tm l : $h e ad inde x.h tm l Para im prim ir l a prim e ra l íne a de un arch ivo de te xto (tie ne s dos al te rnativas): $h e ad -n 1 notas.txt (e s un uno no una L) $h e ad -1 notas.txt (e s un uno no una L) Le e r l as úl tim as Líne as de un arch ivo con tail M uy sim il ar a h e ad, pe ro im prim e l as úl tim as l íne as de un arch ivo. La opción -f actual iza por sie m pre actual iza l a sal ida a pantal l a. Continuam e nte actual iza con sal ida alm onitor q ue a m e dida q ue se sum an l íne as nue vas alarch ivo se de spl ie ga a pantal l a. Para de te ne r e sta supe rvisión;Se l e e nvía l a se ñalde Kil lcon Ctrl + C. La opción -n e s l a m ism a q ue l a de h e ad (e lnúm e ro de l íne as a im prim ir). Eje m pl o: Para m onitore ar re q uisicione s H TTP de un w e b Se rve r H TTP: $tail-f /var/l og/h ttpd/acce ss.l og Enum e rar Líne as de un arch ivo con nlo cat D e spl ie ga e larch ivo de e ntrada con sus l íne as e num e radas. Existe n opcione s par re finar e l form ato de l a sal ida. Por de fe cto, l íne as e n bl anco no son e num e radas. La opción -ba num e ra todas l as l íne as cat -n tam bién e num e ra l as l íne as, incl uye ndo aq ue l l as e n bl anco. Eje m pl o de luso de nly cat -n son: Pág 9 2 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano $cat -n /e tc/passw d $nl /e tc/passw d Vol car Byte s de D ata Binaria con od Im prim e e lval or num érico de l os byte s e n un arch ivo Útilpara e studiar arch ivos con caracte re s q ue no son de ltipo te xto. Por de fe cto, im prim e pal abras (tw o-byte w ords) de dos byte s e n octal . Para e spe cificar al te rnativa util ice l a opción -t, de una l e tra para indicar l a base : o e s octal , x para h e xade cim al , u para de cim alsin signo, e tc. Pue de se r pre ce dido por e lnúm e ro de byte s por pal abra (w ord). Agre gue l e una z para m ostrar su e q uival e nte e n ASCII ade m ás de num érico. Anotación de opcione s útilde od -t x1z - h e xade cim al , de pal abras de UN byte , con ASCII. Al te rnativas a od incl uye n xxd y h e xdum p, de e ch o distros m ode rnas tie ne n al ias cre ada cuando util izas od e n re al idad e stas trabajando con h e xdum p $h e xdum p -o /e tc/passw d Conve rtir arch ivos de Te xto a arch ivos com paginados con pr Convie rte un arch ivo de te xto a un arch ivo dividido e n páginas, con su cabe zaly conte nido de páginas. Ya de m uy poco util izado por im pre soras m ode rnas, pe ro m uy útile n e lpasado. O pcione s: -d Sal ida de e spacio dobl e -h h e ade r cam biar de lcabe zalpor de fe cto a h e ade r -ll íne as cam biar e lnúm e ro de l íne as por de fe cto q ue e s 66 a l íne as -o anch o asignar e l‘offse t’ de lm arge n izq uie rdo alanch o de anch o Eje m pl o: $pr -h "M i Te sis"te sis.txt | l pr Elcom ando spl it Elcom ando spl it divide un arch ivo e n varios arch ivos m ás pe q ue ños. Uste d pue de e spe cificar e l tam año de l os arch ivos pe q ue ños e n byte s, k il obyte s, m e gabyte s o, si e s un arch ivo de te xto, por e l núm e ro de l íne as. D ividir nos pe rm ite distribuir un arch ivo e n varios fl oppy disk s, CD s, cintas (tape s) o cual q uie r otro tipo de m e dia transportabl e . Lue go, l os arch ivos ya divididos pue de n se r re e stabl e cidos con e lcom ando cat. D e scripción spl it [options][infil e ][outfil e] spl it [opcione s][arch ivo-dividir][arch ivo-dividido] Por de fe cto, e larch ivo de sal ida e s de 1000 l íne as de l argo. Elcom ando spl it nom bra l os arch ivos de sal ida agre gándol e un sufijo único (por de fe cto aa, ab, ac, ...) alarch ivo de sal ida. Si no se e spe cifica un arch ivo de sal ida, e lcom ando spl it usa una x alprincipio de lnom bre de larch ivo de sal ida (xaa, xab, e tc.). Si se usa un guión (-) e n l ugar de un arch ivo de e ntrada, spl it l e e de sde l a e ntrada e stándar. Por e je m pl o, supongam os q ue te ne m os a Arch ivo-Largo con 4000 l íne as. Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Esta se nte ncia cre ara cuatro arch ivos de nom bre : arch -pe q aa, arch -pe q ab, arch -pe q ac, arch pe q ad. $spl it -l 1000 Arch ivo-Largo arch -pe q Las opcione s de lcom ando spl it se m ue stra e n e sta siguie nte tabl a. O pción -ln -b n[k | m ] -a n D e scripción Espe cifica e lnúm e ro de l íne as e n cada arch ivo de sal ida. Por e je m pl o, "-l80"divide e larch ivo de e ntrada e n arch ivos de 80 l íne as cada uno. Eltam año por de fe cto e s de 1000 l íne as. Note q ue e lúl tim o arch ivo pue de q ue te nga m e nos l íne as de l as n l íne as. Las opcione s -b y -lno se pue de n usar juntas. Note : En al gunos siste m as ante riore s de Unix e sta opción se e spe cifica com o -n. Por e je m pl o, "spl it -100 Arch ivo.txt"divide a Arch ivo.txt e n arch ivos de 100 l íne as cada uno. Espe cifica e ltam año de l os arch ivos de sal ida. Por e je m pl o, "-b 1024"divide e l arch ivo e ntrante e n arch ivos de un tam año de 1024 byte s. Se l e agre ga una k para e spe cificar tam año e n k il obyte s o una m para e spe cificar e ltam año e n m e gabyte s. Por e je m pl o, "-b 1m "divide e larch ivo de e ntrada e n arch ivos de 1 m e gabyte s. Las opcione s -b y -lno de be n se r usadas juntas Usar n caracte re s com o sufijo e n e larch ivo de sal ida. Por e je m pl o, "-a 3"agre garía aaa, aab, ... alnom bre de larch ivo de sal ida. Por de fe cto e ste val or e s 2. Note : Esta ope ración no e sta disponibl e e n todos l os siste m as *nix. Eje m pl os Los siguie nte s e je m pl os usan e larch ivo arch ivo-l argo.txt cuale s un arch ivo de te xto de 4012 l íne as. $w c -larch ivo-l argo.txt 4012 arch ivo-l argo.txt ***Vea e lcom ando w c para m ás inform ación sob re e ste com ando usado para contar pal ab ras. $spl it arch ivo-l argo.txt Elcom ando spl it divide a arch ivo-l argo.txt e n arch ivos m ás pe q ue ños de 1000 l íne as cada uno. Com o no se l e e spe cifico un nom bre alarch ivo de sal ida, e lnom bre base se rá x y l os arch ivos pe q ue ños se rán nom brados xaa, xab, xac, xad y xae . $l s x?? xaa xab xac xad xae Note q ue e lq uinto arch ivos, xae , sol o tie ne unas 12 l íne as. $w c x?? 1000 xaa 1000 xab 1000 xac 1000 xad 12 xae 4012 total Pág 9 4 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Los arch ivos de sal ida de lcom ando spl it pue de n se r re construidos usando e lcom ando cat y l a re dire ccion de l a sal ida de e ste . Por e je m pl o: $cat xaa xab xac xad xae > arch ivo-l argo2.txt $diff arch ivo-l argo.txt arch ivo-l argo2.txt diff: no diffe re nce s Elcom ando diff com para dos arch ivos y l ista l as l íne as e n l as cual e s e stos arch ivos difie re n. En l a gran m ayoría de siste m as *nix, GNU/Linux por supue sto uno de e l l os, pode m os usar com odine s para e vadir te ne r q ue digitar todos l os nom bre s a l os arch ivos de sal ida. $cat x??> arch ivo-l argo2.txt 1. D ivide arch ivo-l argo.txt e n arch ivos de sal ida de 500 l íne as cada uno. Nom bre l os arch ivos de sal ida arch -pe q _suffix (i.e . sm fl _aa, sm fl _ab, ...) $spl it -l500 arch ivo-l argo.txt arch -pe q _ $l s arch -pe q _?? arch -pe q _aa arch -pe q _ac arch -pe q _ae arch -pe q _ag arch -pe q _ai arch -pe q _ab arch pe q _ad arch -pe q _af arch -pe q _ah 2. D ivida arch ivo-l argo.txt e n arch ivos de sal ida con 100 l íne as cada uno. Esto cre ara 41 arch ivos de l a sal ida. $spl it -l100 arch ivo-l argo.txt arch -100_ $l s arch -100_?? arch -100_aa arch -100_aj arch -100_as arch -100_b b arch -100_b k arch -100_ab arch -100_ak arch -100_at arch -100_b c arch -100_b l arch -100_ac arch -100_alarch -100_au arch -100_b d arch -100_b m arch -100_ad arch -100_am arch -100_av arch -100_b e arch -100_b n arch -100_ae arch -100_an arch -100_aw arch -100_b f arch -100_b o arch -100_af arch -100_ao arch -100_ax arch -100_b g arch -100_ag arch -100_ap arch -100_ay arch -100_b h arch -100_ah arch -100_aq arch -100_az arch -100_b i arch -100_ai arch -100_ar arch -100_b a arch -100_b j Note q ue de spués de l a az e lpróxim o sufijo e s b a. Pode m os usar l a opción "-a 3"para de cirl e alcom ando spl it q ue use 3 l e tras e n e lsufijo (e .j. aaa,..., aaz, ab a,...) $spl it -a 3 -l100 arch ivo-l argo.txt arch -100_ $l s arch -100_??? arch -100_aaa arch -100_aalarch -100_aaw arch -100_ab h arch -100_aab arch -100_aam arch -100_aax arch -100_ab i arch -100_aac arch -100_aan arch -100_aay arch -100_ab j arch -100_aad arch -100_aao arch -100_aaz arch -100_ab k arch -100_aae arch -100_aap arch -100_ab a arch -100_ab l arch -100_aaf arch -100_aaq arch -100_ab b arch -100_ab m arch -100_aag arch -100_aar arch -100_ab c arch -100_ab n arch -100_aah arch -100_aas arch -100_ab d arch -100_ab o arch -100_aai arch -100_aat arch -100_ab e Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano arch -100_aaj arch -100_aau arch -100_ab f arch -100_aak arch -100_aav arch -100_ab g Elpróxim o e je m pl o use e larch ivo arch -binario, un arch ivo binario de 5048 k il obyte s (al re de dor de 4.9 m e gabyte s, pue de se un m p3 por e je m pl o). $l s -s arch -b inario 5048 arch -b inario 3. D ivida e larch ivo arch -binario e n arch ivos pe q ue ños de tam año de 1 m e gabyte cada uno, para pode r se r copiados a disq ue te . $spl it -b 1m arch -b inario arch -b in-pe q _ $l s arch -b in-pe q _?? arch -b in-pe q _aa arch -b in-pe q _ab arch -b in-pe q _ac arch -b in-pe q _ad arch -b in-pe q _ae Arch ivos binarios pue de n se r re construidos con e lcom ando cat. $cat arch -b in-pe q _??> arch -b inario2 $diff arch -b inario arch -b inario2 diff: no dife re ncia in b inary fil es Los arch ivos tar, com prim idos o e je cutabl e s pue de n se r divididos con l a opción -b y re construidos sin sufrir ningún daño. 4.Supongam os q ue te ne m os un arch ivo de te xto l argo de nom bre docum e nto1. Elcom ando pr pue de se r usado para darl e form ato para im prim irl o. $pr -h "GNU/Linux Básico 1"docum e nto1 > docum e nto1-con-form ato Elarch ivo docum e nto1-con-form ato ya tie ne form ato para pode r im prim irl o con 66 l íne as por página. Cada l íne a im pre sa te ndrá su cabe cil l a incl uye ndo e ltitul o de "GNU/Linux Básico 1", l a fe ch a y su núm e ro de página. $spl it -l66 doc-con-form ato-pr doc-con-form ato-pg_ Cre ará arch ivos doc-con-form ato-pg_aa, doc-con-form ato-pg_ab, e tc. Cada arch ivo contie ne una página pre parada para im prim ir. Arriba de cada pagina se incl uye una cabe cil l a con e ltitul o de "GNU/Linux Básico 1", fe ch a y e lnúm e ro de l a página. Tam bién pode m os h ace r e sto usando una tube ría y un guión (-) e n l ugar de larch ivo de e ntrada para de cirl e alcom ando spl it q ue l e a de sde l a e ntrada e stándar. $pr -h "Linux Básico 1"docum e nto1 | spl it -l66 - doc-con-form ato-pg_ Elcom ando diff Elcom ando diff re porta dife re ncias e ntre arch ivos. Tam bién pue de se r usado para distribuir actual izacione s de arch ivos sin te ne r q ue distribuir arch ivos com pl e tos D e scripción diff [options]Arch ivo1 Arch ivo2 Pág 9 6 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano diff [opcione s]arch ivo1 arch ivo2 D iff re porta l a dife re ncia e ntre dos arch ivos. Por e je m pl o: $diff m e m o1 m e m o2 8c8 < 1) Uste d no podrá e stacionar e n e lpatio A. --> 1) Uste d no podrá e stacionar e n e lpatio B. La sal ida de diff se e nvía a l a sal ida e stándar y consiste de l o siguie nte . 1. Si l os arch ivos son idénticos, diff im prim e nada. 2. Si l os arch ivos no son idénticos, cada dife re ncia e ncontrada e ntre l os arch ivos e s re portada con e lcom ando e d re q ue rido para conve rtir e larch ivo1 alarch ivo2. Ed e s un e ditor de l íne a de com ando de te xto. Elcom ando e d e m pie za con l os núm e ros de l íne a re l e vante de larch ivo1 se guido por una l e tra única (c, d o a) e ntonce s l os núm e ros de l íne a de larch ivo2. Las l e tras pue de n se r usadas para conve rtir arch ivo1 a arch ivo2 y tie ne n e lsiguie nte significado. c Re e m pl aza l íne as de lArch ivo1 con l as de lArch ivo2. d El im ina l íne as de lArch ivo1. a Agre ga l íne as de lArch ivo2 alArch ivo1. En e le je m pl o ante rior sol o e xiste una dife re ncia e ntre l os dos arch ivos m e m o1 y m e m o2 y e sta dife re ncia e s indicada por e lcom ando e d "8c8". Cada re porte de dife re ncia incl uye l as l íne as q ue difie re n. Líne as de sde e l arch ivo1 son pre ce didas por un sím bol o de m e nos q ue (<). Líne as de sde e lArch ivo2 son pre ce didas por un sím bol o de m ás grande q ue (> ). Una l íne a discontinua de guione s (---) e s usada para se parar sal ida de l os dos arch ivos. Los argum e ntos de nom bre de arch ivos, Arch ivo1 y Arch ivo2, pue de se r cual q uie r de l o siguie nte . Nom bre de arch ivos re gul ar. Uno de l os nom bre s de l os arch ivos pue de se r un guión (-) indicando q ue diff de be l e e r de sde l a e ntrada e stándar. Si uno de l os argum e ntos e s un nom bre de un arch ivo y e lotro e lde un dire ctorio e ntonce s diff com para nom bre de arch ivo contra dire ctorio/nom bre de arch ivo (e .g. diff Arch ivo1 D ire ctorio1 e s e q uival e nte a diff Arch ivo1 D ire ctorio1/Arch ivo1). Si am bos nom bre s son dire ctorios e ntonce s diff com para todos l os arch ivos q ue contie ne n e stos dire ctorios q ue l os nom bre s de l os arch ivos coincide n (e .g. diff com para a D ire ctorio1/Arch ivo1 a D ire ctorio2/Arch ivo1 y D ire ctorio1/Arch ivo2 a D ire ctorio2/Arch ivo2, e tc.) Tam bién ge ne ra un re porte de todos l os nom bre s de arch ivos y subdire ctorios q ue son únicos a un dire ctorio y una l ista de l os nom bre s de l os subdire ctorios q ue son igual e s e n am bos dire ctorios. Al gunas opcione s útil e s de lcom ando diff se l istan e n e sta tabl a. O pción D e scripción -b Ignora m úl tipl e e spacios e n bl anco (e .j. <e spacio> <e spacio> e s igual q ue <e spacio> ) y l os e spacios e n bl anco alfinalde l as l íne as. -w Ignora todos l os e spacios y l os tabs (e .j. 1 o 2 e s e q uival e nte a 1o 2). -i Ignora l a capital ización (e .j. h ol a, H O LA y H oLa son e q uival e nte ). Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano -c Usa l a sal ida de lform ato de lconte xto. Sal ida de lconte xto incl uye tre s l íne as ante s y de spués de e sas q ue norm al m e nte se im prim e n para dar "conte xto"para l a dife re ncias. Ve a e le je m pl o 10 para m ás inform ación e n form ato de sal ida de conte xto. -C n Com o l a opción -c pe ro incl uye n l íne as de sal ida de conte xto. -e Produce un arch ivo script q ue pue de se r usado por e lcom ando e d para conve rtir e lArch ivo1 alArch ivo2. Véase e je m pl o 9 para m ás de tal l e s. Esta opción no e s usada tan a m e nudo com o e s e lcom ando patch para conve rtir Arch ivo1 alArch ivo2. Véase e je m pl o 8 para apre nde r com o usar patch con diff. -h Efe ctuar com paracione s m ás rápidas pe ro m e nos pre cisas. No e s m uy e xacta si l os arch ivos son m uy dife re nte s y no pue de n se r usados con l a opción -e . Las siguie nte s opcione s son útil e s para com parar dos dire ctorios. O pción D e scripción -l La sal ida e s form ate ada para q ue l a com paración de cada arch ivo ocurra e n una página nue va. Se l istan otras com paracione s e n l a página final . -r Re cursivam e nte com para todos l os arch ivos e n subdire ctorios com une s. -s Incl uye un l istado de todos l os arch ivos idénticos e n l a sal ida. Eje m pl os Los siguie nte s e je m pl os usan l os arch ivos m e m o1, m e m o2, poe m a1, y poe m a2. Re porte l a dife re ncia e ntre l os arch ivos m e m o1 y m e m o2. $diff m e m o1 m e m o2 8c8 < 1) Uste d no podrá e stacionar e n e lpatio A; --> 1) Uste d no podrá e stacionar e n e lpatio B; 19 a20,21 > 4) Ab ril3 e s día de fe stivo. > 22d23 < CEO y Pre side nte Entre l os dos arch ivos h ay tre s l íne as q ue difie re n. La l íne a 8 difie re . Líne a dice 8 "l ot A"e n e lm e m o1 y "l ot B"e n m e m o2. Líne as 20 y 21 de lm e m o2 no e xiste n e n e lm e m o1. Estas l íne as de be n se r agre gadas de spués de l al íne a 19 de lm e m o1 para q ue l os arch ivos se an igual e s. La l íne a 22 de lm e m o1 no e xiste e n e lm e m o2. D e be se r agre gada de spués de l al íne a 23 de l m e m o2 para q ue l os arch ivos se an igual e s. Com o e s costum bre pe nsar conve rtir e lprim e r arch ivo e n e lse gundo arch ivo e s m e jor de cir q ue l al íne a 22 de be se r e l im inada de lm e m o1 para q ue l os arch ivos se an l os m ism os. Pág 9 8 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano $diff Arch ivo1 Arch ivo2 D iff no re porta ninguna sal ida indicando q ue l os arch ivos Arch ivo1 y Arch ivo2 son idénticos. M ás Eje m pl os Re porte l as dife re ncias e ntre l os dos arch ivos poe m a1 y poe m a2. $diff poe m a1 poe m a2 1a2 > 6c7 < M ás b e l l o de Am érica, l a m ás b e l l a sinfonía de col ore s, e lm ás grandioso de rroch e de l uz... --> M ás b e l l o de Am érica, l a m ás b e l l a sinfonía de col ore s, e lm ás grandioso de rroch e de l uz... 8c9 < Y tú e stás conm igo, porq ue todos m e ab andonan... Tú conm igo e n l os postre ros l atidos de --> Y tú e stás conm igo, porq ue todos m e ab andonan... Tú conm igo e n l os postre ros l atidos de 15c16 < Si yo h ub ie ra m ue rto sob re un cam po de b atal l a, dando fre nte ale ne m igo, te daría m i --> si yo h ub ie ra m ue rto sob re un cam po de b atal l a, dando fre nte ale ne m igo, te daría m i Los dos arch ivos tie ne n cuatro dife re ncias. Líne a 2 (l íne a e n b l anco) de lpoe m a2 no e xiste e n e lpoe m a1. Te ndría q ue se r agre gada de spués de l al íne a 1 de lpoe m a1 para q ue l os dos arch ivos se an idénticos. Para q ue e lpoe m a1 se a conve rtido e n e lpoe m a2, l al íne a 6 de lpoe m a1 de b e se r re e m pl azada con l al íne a 7 de lpoe m a2. Elpoe m a1 tie ne l a pal ab ra "Am érica"m ie ntras q ue e lpoe m a2 tie ne l a pal ab ra "Am érica". Norm al m e nte pe nsam os de l a m ism a l íne a de dos arch ivos ne ce sitan corre sponde r, pe ro com o e lpoe m a2 tie ne una l íne a e xtra e n b l anco ce rca de lprincipio de l arch ivo e s e n re al idad l al íne a 7 de lpoe m a2 q ue de b e corre sponde r con l al íne a 6 de lpoe m a1. La l íne as 8 de lpoe m a1 y 9 de lpoe m a2 son dife re nte . H ay dos e spacios e n ve z de uno e ntre "postre ros!"y "l atidos"e n e lpoe m a2. La l íne a 17 de lpoe m a1 y l a 18 de lpoe m a2 son dife re nte . En e lpoe m a1 l al íne a e m pie za con m inúscul a e rróne am e nte . Re porte l a dife re ncias e ntre e lpoe m a1 y e lpoe m a2. Use l a opción -i para ignorar l as dife re ncias e ntre l as m ayúscul as y l as m inúscul as. $diff -i poe m a1 poe m a2 Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano 1a2 > 8c9 < Y tú e stás conm igo, porq ue todos m e ab andonan... Tú conm igo e n l os postre ros l atidos de --> Y tú e stás conm igo, porq ue todos m e ab andonan... Tú conm igo e n l os postre ros l atidos Las dife re ncias re portadas por "6c7"“15c16” e n e le je m pl o ante rior ya no son re portadas porq ue son e rrore s de capital ización y l e pe dim os a diff con l a opción -i q ue ignore l as m ayúscul as y m inúscul as. Re porte l as dife re ncias e ntre poe m a1 y poe m a2 usando l a opción -i y l a opción -b l a cualignora todos l os e spacios e n bl anco re pe tidos y l os q ue se e ncue ntran alfinalde l as l íne as. $diff -i -b poe m a1 poe m a2 1a2 > Las dife re ncias re portada de sapare ce n prim e ro por l o q ue e xpl icam os con l a -i ante rior y l a de l e spacio dobl e e s tam bién ignorada porq ue usam os l a opción -b. Re porte l as dife re ncias e ntre e lpoe m a1 y poe m a2 usando l a opción -i y l a opción -w l a cual ignora todos l os e spacios e n bl anco. $diff -i -w poe m a1 poe m a2 1a2 > La única dife re ncia q ue aun e xiste e ntre l os dos arch ivos e s l a e xtra l íne a e n bl anco e n l al íne a 2 de lpoe m a2. Eje m pl o de Com parar D ire ctorios Use e lcom ando diff para com parar dos dire ctorios. $diff D ire ctorio1 D ire ctorio2 diff D ire ctorio1/Arch ivo2 D ire ctorio2/Arch ivo2 2c2 < LINE 2 --> LINE 2 is diffe re nt O nl y in D ire ctorio1: Arch ivo4 O nl y in D ire ctorio1: sub dir Com m on sub dire ctorios: D ire ctorio1/sub dir1 and D ire ctorio2/sub dir1 O nl y in D ire ctorio2: sub dir2 En e ste e je m pl o, un arch ivo q ue e xiste e n am bos dire ctorios, Arch ivo2, e s dife re nte . D iff re porta l as dife re ncias e ncontradas e n l os dos arch ivos. Elarch ivo4 y e lsubdire ctorio subdir sol o e xiste n e l D ire ctorio1 m ie ntras q ue e l subdire ctorio subdir2 sol am e nte e xiste e n e l D ire ctorio2. Am bos dire ctorios contie ne n un subdire ctorio de nom bre subdir1. Pág 100 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano Uso de l os Com andos Patch y D iff para D istrib uir Cam b ios de Arch ivos Un uso de lcom ando diff e s para distribuir un conjunto de cam bios q ue convie rte n e lArch ivo1 al Arch ivo2 y así no te ne r q ue distribuir e lsiste m a de arch ivos com pl e to. Esto se pue de h ace r usando l a sal ida de diff con e l com ando patch . Prim e ro guarde l a sal ida de diff e n un arch ivo usando re dire cción de l a sal ida. $diff m e m o1 m e m o2 > diffout Entonce s use l a sal ida de lcom ando diff con e lcom ando patch . $patch m e m o1 diffout Ah ora m e m o1 a sido conve rtido e n m e m o2. Elcom ando diff nos m ue stra q ue l os dos arch ivos son idénticos. $diff m e m o1 m e m o2 Usar e d para Conve rtir Arch ivo1 a Arch ivo2 La opción -e cre a un script q ue da l as dire ctivas para q ue e le ditor de te xto e d convie rta e l Arch ivo1 alArch ivo2. Por e je m pl o, $diff -e m e m o1 m e m o28c8 < 1) Uste d no podrá e stacionar e n e lpatio B; --> 1) Uste d no podrá e stacionar e n e lpatio A; 19 a20 > 4) Ab ril3 e s día de fe stivo. 23d23 < CEO y Pre side nte Para util izar e lscript ne ce sita guardarl o aun arch ivo usando l a re dire cción de sal ida. $diff -e m e m o1 m e m o2 > e dscript Ah ora e lsiguie nte com ando: $( cat e dscript & & e ch o w ) | e d - m e m o1 Convie rte a m e m o1 a m e m o2. (Ve a l as de finicione s de l os com andos cat, e ch o, subsh e l ly pipe s (|) para m ás inform ación.) Ah ora: $diff m e m o1 m e m o2 Nos m ue stra q ue l os arch ivos m e m o1 y m e m o2 son idénticos. Eje m pl o D ife re ncia de Conte xto Re porte l as dife re ncias e ntre l os arch ivos m e m o1 y m e m o2 usando l a opción -c para producir sal ida de conte xto. $diff -c m e m o1 m e m o2 ***m e m o1 2004-01-26 23:07:58.000000000 + 0100 --- m e m o2 2004-01-26 23:07:22.000000000 + 0100 Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano *************** ***5,11 **** Favor tom e nota de l os siguie nte s cam bios e n La pol ítica de l a com pañía y be ne ficios: ! 1) Uste d no podrá e stacionar e n e lpatio B; Pe ro, si podrá e lC. Transporte gratis se e fe ctuara de sde e lpatio a La pue rta de l a e m pre s todos l os días. --- 5,11 ---Favor tom e nota de l os siguie nte s cam bios e n La pol ítica de l a com pañía y be ne ficios: ! 1) Uste d no podrá e stacionar e n e lpatio A; Pe ro, si podrá e lC. Transporte gratis se e fe ctuara de sde e lpatio a La pue rta de l a e m pre s todos l os días. *************** ***17,23 **** La cafe te ría e stará ce rrada para re m ode l ar D e sde Abril1 a Abril15. Gracias a Todos Robe rto W il l iam - CEO y Pre side nte --- 17,23 ---La cafe te ría e stará ce rrada para re m ode l ar D e sde Abril1 a Abril15. + 4) Ab ril3 e s día de fe stivo. Gracias a Todos Robe rto W il l iam Com o pue de ve r, l a sal ida de conte xto e s m uy dife re nte a l a sal ida norm alde lcom ando diff. Sal ida de Conte xto consiste de l o siguie nte : 1. Si l os arch ivos son idénticos, diff im prim e un m e nsaje indicando q ue no se e ncontraron dife re ncias. 2. Si l os arch ivos no son idénticos, diff inicia sal ida con un h e ade r indicando cual e s arch ivos h an sido com parados y l a fe ch a q ue fue ron m odificados por úl tim a ve z. La sal ida fe re nte alArch ivo1 e s pre ce dida por e stre l l as (***) y Arch ivo2 por guione s (---). 3. Lue go cada dife re ncia e s l istada. Las dife re ncias son se paradas por una l íne a l arga de e stre l l as (******************************). Pág 102 UBUNTU Ce rtifie d h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano 4. Cada dife re ncia contie ne e lconte xto de lArch ivo1 y de lArch ivo2. Conte xto de lArch ivo1 e m pie za l istando e lrango de l íne as q ue se e nvían a l a sal ida rode ada de e stre l l as. Las l íne as de conte xto m ism as incl uye n 3 l íne as ante s y 3 l íne as de spués l al íne a o l íne as q ue difie re n. Re cue rde q ue uste d pue de usar l a opción -C n opción para usar n l íne as y no 3. Lue go e lconte xto de lArch ivo2 e s im pre so. Por Arch ivo2 e lrango de l íne as e s rode ado por guione s y no por e stre l l as. Sím bol os e spe cial e s usados para re sal tar e sas l íne as de conte xto q ue difie re n. Los siguie nte s sím bol os son usados. ! + - Indica l as l íne as corre spondie nte s e n l os dos arch ivos q ue son dife re nte s. Indica l íne as q ue e xiste n e n e lArch ivo2 pe ro e lArch ivo1. Indica l as l íne as q ue e xiste n e n e lArch ivo1 pe ro no e n Arch ivo2. Avanzado: Eje m pl o de Estatus de Exit Ele status de sal ida de lcom ando diff pue de se r usado con l a re dire cción de sal ida h acia e l arch ivos /de v/nul lpara de te rm inar si dos arch ivos son igual e s sin pre ocupación de dife re ncias e n e spe cifico. Elcom ando diff e xcite con un status de 0 si no se e ncue ntran dife re ncias, 1 si l as dife re ncias fue ran e ncontrada y asigna un núm e ro m ás grande q ue 1 si ocurre e n un e rror. El siguie nte e s un e je m pl o q ue asum e q ue uste d e sta util izando e lSh e l lBash o un de sus de rivados. (Use usa $status e n l ugar de $?si uste d usa e lc-sh e l l .) $diff m e m o1 m e m o2 > /de v/nul l $e ch o $? 1 Ele status de sal ida indica q ue m e m o1 y m e m o2 son dife re nte s. $diff Arch ivo1 Arch ivo2 > /de v/nul l $e ch o $? 0 Ele status de sal ida indica q ue l os arch ivos Arch ivo1 y Arch ivo2 son idénticos. Ele status de sal ida pue de se r e xtre m adam e nte útilcuando se e scribe n scripts de lsh e l l . Por e je m pl o, e lscript isdiff m ostrado m ás ade l ante im prim e un sim pl e m e nsaje indicando un sim pl e m e nsaje indicando si dos o m ás arch ivos son igual e s o dife re nte s. Elscript usa l a opción -h para e je cutar com paracione s m ás rápido pe ro con m e nos pre e dición. Esto e s útilporq ue no e stam os ingre sados e n e lde tal l e e xacto de com o l os arch ivos difie re n. # !/b in/sh diff -h $1 $2 > /de v/nul l if [ $?-e q 0 ] ;th e n e ch o Los Arch ivos son Idéntico el if [ $?-e q 1 ] ;th e n e ch o Los Arch ivos son D ife re nte s el se e ch o H a O currido un ER R O R fi $isdiff m e m o1 m e m o2 Básicam e nte GNU Se gunda Edición h ttp//w w w .codigol ibre .org Fundación Código Libre Dom inicano fil e s are diffe re nt $isdiff Arch ivo1 Arch ivo2 fil e s are th e sam e