0 calificaciones0% encontró este documento útil (0 votos)
23 vistas26 páginas
Este documento describe comandos básicos de Linux como ls, cd, pwd y mkdir. Explica cómo navegar y gestionar directorios, ver el contenido de directorios, crear y eliminar subdirectorios, y cambiar de directorio. También cubre el uso de dispositivos como discos duros, discos USB y CD/DVD montando y desmontando unidades.
Este documento describe comandos básicos de Linux como ls, cd, pwd y mkdir. Explica cómo navegar y gestionar directorios, ver el contenido de directorios, crear y eliminar subdirectorios, y cambiar de directorio. También cubre el uso de dispositivos como discos duros, discos USB y CD/DVD montando y desmontando unidades.
Este documento describe comandos básicos de Linux como ls, cd, pwd y mkdir. Explica cómo navegar y gestionar directorios, ver el contenido de directorios, crear y eliminar subdirectorios, y cambiar de directorio. También cubre el uso de dispositivos como discos duros, discos USB y CD/DVD montando y desmontando unidades.
Cualquier usuario de Linux acabar antes o despus relacionndose con el sistema
empleando el modo texto, y no los entornos grficos. Este modo se basa en la ejecucin de una serie de comandos, que son interpretados por un programa o shell. Linux dispone de !arios de estos programas pero el ms habitual es conocido como bash o "ourne #hell. #i Linux se ha arrancado en modo texto el sistema arranca de forma directa el shell y queda a la espera de introduccin de nue!os comandos. #i se ha arrancado en modo grfico se puede acceder al shell de dos formas: #e puede acceder al shell del sistema presionando alguna de las siguientes combinaciones de teclas: $ %ctrl&'%alt&'%()& $ %ctrl&'%alt&'%(*& $ %ctrl&'%alt&'%(+& $ %ctrl&'%alt&'%(,& $ %ctrl&'%alt&'%(-& $ %ctrl&'%alt&'%(.& Esto hace que el sistema salga del modo grfico y acceda a alguna de las seis consolas !irtuales de Linux, a las cuales tambin se puede acceder cuando se arranca en modo de texto. /ara !ol!er al modo grfico hay que presionar %ctrl&'%alt&'%(0& o %ctrl&'%alt&'%(1&. La segunda forma es ms cmoda y menos radical permitiendo acceder al shell desde el mismo entorno grfico. /ara esto hay que abrir un programa llamado terminal o consola, por ejemplo: 2console 3en el entorno 45E6, xterm, gnome7terminal 3en 89:;E6, etc. <ntroduccin Existen una serie de nociones bsicas que hay que tener en cuenta a la hora de introducir los comandos. En primer lugar citaremos las siguientes: Los comandos hay que teclearlos exactamente. Las letras may=sculas y min=sculas se consideran como diferentes. En su forma ms habitual 3los shells de "ourne o de 4orn6, el sistema operati!o utili>a un signo de ? como prompt para indicar que est preparado para aceptar comandos, aunque este carcter puede ser fcilmente sustituido por otro u otros elegidos por el usuario. En el caso de que el usuario acceda como administrador este signo se sustituye por @. Cuando sea necesario introducir el nombre de un fichero o directorio como argumento a un comando, Linux, permite escribir las primeras letras del mismo y reali>a un autorrellenado al presionar la tecla del tabulador. #i no puede distinguir entre di!ersos casos rellenar hasta el punto en el que se diferencien. /or ejemplo, supongamos una carpeta con los siguientes directorios: /rogramas 5ocumentosAproyecto 5ocumentosApri!ados Bl escribir cd /r%tab& Linux rellenar el resto del contenido hasta escribir cd /rogramas. /or el contrario al escribir cd 5%tab& escribir cd 5ocumentos Blgunos Comandos #encillos de L<9CD /ara efectuar el cambio o la introduccin de un passEord o contraseFa se utili>a el comando passEd. El proceso a seguir es el siguiente: passEd 3current6 C9<D passEord: 3se teclea la contraseFa actualG no aparece en pantalla6 9eE C9<D passEord: 3se teclea la nue!a contraseFaG no aparece en pantalla6 Hetype neE C9<D passEord: 3se teclea de nue!o la nue!a contraseFa comprobando que se ha tecleado bien. #i no coincide no se cambia produce el cambio6. B continuacin se describen algunos comandos sencillos de que pueden ser =tiles para familiari>arse con los comandos del sistema. date ;uestra por pantalla el dIa y la hora. cal )J,J ;uestra el calendario del aFo )J,J. cal K- )J,J ;uestra el calendario de mayo de )J,J. Eho <ndica qu usuarios tiene el ordenador en ese momento, en qu terminal estn y desde qu hora. Ehoami <ndica cul es la terminal y la sesin en la que se est trabajando. man comando Lodos los manuales de Linux estn dentro del propio sistema operati!o, y este comando permite acceder a la informacin correspondiente al comando comando. /or ejemplo con man Eho aparecer por pantalla y de forma formateada por pginas, la explicacin del comando Eho. #e puede na!egar a tra!s de estas pginas con los cursores del teclado, y presionando q para salir. clear Este comando limpia la consola. 5irectorio /ersonal Como se ha !isto anteriormente el directorio personal es un directorio con un determinado nombre asignado a un usuario. Los directorios personales habitualmente son subdirectorios de Mhome 3en algunos casos se utili>a mnt, u otro subdirectorio de orden inferior6. 8eneralmente el nombre coincide con el del nombre de usuario, aunque puede no ser asI, y !arios usuarios pueden estar trabajando en el mismo directorio. Cada usuario de Linux puede crear una estructura en rbol de subdirectorios y archi!os tan compleja como desee bajo su directorio personal pero normalmente nunca fuera de l. Listado del contenido de directorios: comando ls Cna de las acciones ms habituales a la hora de trabajar es mostrar el contenido de un directorio, como se ha !isto existen herramientas grficas con este fin, no obstante el shell incluye un programa con este mismo fin: ls, ls ;uestra los nombres de los ficheros y subdirectorios contenidos en el directorio en el que se est. #lo se obtienen los nombres de los ficheros, sin ninguna otra informacin. ls 7a ;uestra todos los ficheros incluyendo algunos que ordinariamente estn ocultos para el usuario 3aquellos que comien>an por un punto6. #e recuerda que el fichero punto . indica el directorio actual y el doble punto .. el directorio padre, que contiene, al actual. ls 7l Esta es la opcin de lista larga: muestra toda la informacin de cada fichero incluyendo: protecciones, tamaFo y fecha de creacin o del =ltimo cambio introducido,... ls 7c ;uestra ordenando por dIa y hora de creacin. ls 7t ;uestra ordenando por dIa y hora de modificacin. ls 7r ;uestra el directorio y lo ordena en orden in!erso. ls subdir ;uestra el contenido del subdirectorio subdir. ls 7l filename ;uestra toda la informacin sobre el fichero. ls 77color ;uestra el contenido del directorio coloreado. Las opciones anteriores pueden combinarse. /or ejemplo: ls 7cr ;uestra el directorio ordenando in!ersamente por fechas. El comando ls admite los caracteres de sustitucin o metacarcteres 3$6 y 3N6. El carcter $ representa cualquier conjunto o secuencia de caracteres. El carcter N representa cualquier carcter, pero slo uno. /or ejemplo: ls $.gif ;uestra todos los nombres de ficheros que acaben en .gif, por ejemplo dib).gif, a.gif, etc.. ls fileN ;uestra todos los ficheros cuyos nombres empiecen por file y tengan un nombre de cinco caracteres, por ejemplo: file), file*, filea, etc. Creacin de subdirectorios. Comando m2dir El comando m2dir 3ma2e directory6 permite a cada usuario crear un nue!o subdirectorio: m2dir subdir) donde subdir es el nombre del directorio que se !a a crear. "orrado de subdirectorios. Comando rmdir Este comando borra uno o ms directorios del sistema 3remo!e directory6, siempre que estos subdirectorios estn !acIos. /or ejemplo: rmdir subdir) donde subdir es el nombre del directorio que se !a a eliminar. Cambio de directorio. Comando cd Este comando permite cambiar de directorio a partir del directorio actual de trabajo. /or ejemplo, cd MhomeM/edro En este ejemplo pasamos del directorio actual de trabajo al nue!o directorio MhomeM/edro, que ser desde ahora nuestro nue!o directorio. cd dire 9os traslada al subdirectorio dire 3que deber existir como subdirectorio en el directorio actual6. cd .. Hetrocedemos un ni!el en la jerarquIa de directorios. /or ejemplo, si estamos en MhomeM/edro y usamos este comando, pasaremos al escalafn inmediatamente superior de la jerarquIa de directorios, en este caso a Mhome. 9ota: al contrario que en ;#75:# en Linux no existe la forma cd.. sin espacio entre cd y los dos puntos. cd 9os sit=a nue!amente en el directorio personal del usuario. #ituacin actual. Comando pEd El comando pEd 3print Eor2ing directory6 !isuali>a o imprime la ruta del directorio en el que nos encontramos en este momento. Este comando es uno de los pocos que no tiene opciones y se utili>a escribiendo simplemente pEd. Bcceso a unidades de disco Linux a diferencia de OindoEs no utili>a letras 3Pa:P, Pc:P, Pd:P, ...6 para acceder a las distintas unidades de disco de un ordenador. En Linux para acceder al contenido de una unidad de disco o de un C57H:; este tiene que haber sido pre!iamente PmontadoP. El montado se reali>a mediante el comando mount, con lo que el contenido de la unidad se pone a disposicin del usuario en el directorio de Linux que se elija. /or ejemplo para acceder al C57H:; se teclearIa el siguiente comando: mount 7t isoJ..K Mde!Mcdrom MmntMcdrom. donde 7t isoJ..K indica el tipo de sistema que usa la unidad de disco para guardar los ficheros 3las ms usuales son: isoJ..K en el caso de un C57H:;, !fat en el caso de OindoEs, y ext* en el caso de Linux6, Mde!Mcdrom indica el dispositi!o que se !a a montar. Lodos los dispositi!os estn representados por un fichero del directorio Mde!, por ejemplo en el caso de un disquete ser seguramente Mde!MfdK, por =ltimo MmntMcdrom es el directorio en el que se pondr a disposicin del usuario el contenido del C57H:;. /ara montar disquetes se suele utili>ar el directorio MmntMfloppy. 5e todas formas el usuario siempre puede crear un directorio !acIo con el nombre que el elija para montar las unidades de disco que desee donde desee. Cuando el usuario haya dejado de usar ese disco deber PdesmontarloP mediante el comando umount antes de sacar el disquete o el C57H:;. En este =ltimo caso deberIa escribir: umount MmntMcdrom /ara utili>ar el comando mount de la forma anterior hace falta ser administrador o root. /ara que un usuario com=n pueda utili>ar disquetes, C57H:;, etc. hay que editar el fichero MetcMfstab /or ejemplo para que cualquier usuario pueda acceder a un disquete habr que indicar la siguiente lInea: Mde!MfdK MmntMfloppy !fat user,noauto K K Lambin habr que asegurarse de que el directorio MmntMfloppy sea accesible por todos los usuarios. Cna !e> seguidos los pasos anteriores cualquier usuario podr PmontarP un disquete escribiendo el siguiente comando: mount MmntMfloppy Bl igual que antes el usuario deber ejecutar el comando umount MmntMfloppy antes de sacar el disquete. 9ota: Existen en la actualidad distribuciones 3p. ej. Linux ;andra2e6 que reali>an este proceso de forma automtica por lo que las unidades de disquete y C57H:; quedan accesibles a todos los usuarios de una forma sencilla, empleando los comandos: mount MmntMfloppy umount MmntMfloppy siempre que MmntMfloppy sea la ruta adecuada. Copia de ficheros. Comando cp Este comando tiene la siguiente forma, cp file) file* y hace una copia de file) y le llama file*. #i file* no existIa, lo crea con los mismos atributos de file). #i file* existIa antes, su contenido queda destruido y es sustituido por el de file). El fichero file* estar en el mismo directorio que file). Lanto file) como file* indican el nombre de un archi!o, que puede incluir el la ruta al mismo si alguno de ellos no se encuentra en el directorio actual. :tra posibilidad es: cp file) file* namedir que hace copias de file) y file* en el directorio namedir. Lraslado y cambio de nombre de ficheros. Comando m! Este comando tiene una forma similar al anterior, m! file) file* El comando m! reali>a la misma funcin que el anterior 3cp6 pero adems destruye el fichero original. En definiti!a traslada el contenido de file) a file*G a efectos del usuario lo que ha hecho es cambiar el nombre a file), llamndole file*. 5e igual forma, m! file) file* namedir traslada uno o ms ficheros 3file), file*,...6 al directorio namedir conser!ndoles el nombre. El comando, m! namedir) namedir* cambia el nombre del subdirectorio namedir) por namedir*. Qay que recalcar que el comando m! sir!e asI mismo para cambiar el nombre de los ficheros. Enlaces a ficheros. Comando ln En Linux un mismo fichero puede estar repetido con ms de un nombre, ya que con el comando cp se pueden reali>ar cuantas copias se desee del fichero. /ero, a !eces, es ms prctico tener un mismo fichero con !arios nombres distintos, y lo que es ms importante, poder acceder a l desde ms de un directorio. En Linux esto recibe el nombre de enlaces m=ltiples a un fichero. El ahorro de espacio de disco es importante al poder compartir un fichero ms de un usuario. Estos enlaces son muy prcticos a la hora de utili>ar ficheros que pertenecen a directorios distintos. 8racias a los enlaces se puede acceder a muchos ficheros desde un mismo directorio, sin necesidad de copiar en ese directorio todos esos ficheros. La forma de este comando es, ln file) file* B partir de este momento el fichero file) tiene dos nombres: file) y file*. B diferencia de los comandos cp y m!, este comando toma ms precauciones, ya que ad!ierte pre!iamente si el nombre file* est ocupado, y en este caso no se ejecuta. ln panacea subdirMpanacea 5espus de este comando el fichero panacea tendr el mismo nombre, pero a efectos del usuario estar colocado en dos sitios distintos: en el directorio actual y en el subdirectorio subdir. Los ficheros enla>ados a otro se borran como los ficheros normales. #i se borra el fichero original permanece su contenido en los ficheros enganchados. "orrado de ficheros. Comando rm Este comando tiene las formas siguientes, rm file) file* Este comando elimina uno o ms ficheros de un directorio en el cual tengamos permiso de escritura. Con este comando resulta facilIsimo borrar ficheros in=tiles, y desgraciadamente, tambin los =tiles. /or eso es con!eniente y casi imprescindible emplear lo opcin 7i, de la forma siguiente: rm 7i file) file* Con esta opcin, Linux pedir confirmacin para borrar cada fichero de la lista, de si realmente se desea su destruccin o no. #e recomienda usar siempre este comando con esta opcin para e!itar el borrado de ficheros =tiles. /or ejemplo, si se teclea, rm 7i superfluo aparecer en pantalla el a!iso siguiente: remo!e superfluoN y habr que contestar y 3yes6 o n 3not6. En este comando se pueden utili>ar los caracteres de sustitucin 3$ y N6, como por ejemplo, rm fich$ que borrarIa todos los ficheros del directorio actual que comiencen por fich. El comando rm $ borrar todos los ficheros del directorio actual, mientras que rm 7i $ reali>a una labor anloga, pero con pre!ia confirmacin. CaracterIsticas de un fichero. Comando file Este comando reali>a una serie de comprobaciones en un fichero para tratar de clasificarlo. #u formato es: file fich Lras su ejecucin este comando muestra el tipo del fichero e informacin al respecto del mismo. Cambio de modo de los ficheros comandos chmod, choEn y chgrp Los permisos de cada fichero se pueden !er con el comando ls 7l. /ara cambiar los permisos de un fichero se emplea el comando chmod, que tiene el formato siguiente: chmod oper permiso files quien <ndica a quien afecta el permiso que se desea cambiar. Es una combinacin cualquiera de las letras u para el usuario, g para el grupo del usuario, o para los otros usuarios, y a para todos los anteriores. #i no se da el quien, el sistema supone a. oper <ndica la operacin que se desea hacer con el permiso. /ara dar un permiso se pondr un ', y para quitarlo se pondr un 7. permiso <ndica el permiso que se quiere dar o quitar. #er una combinacin cualquiera de las letras anteriores : r,E,x,s. files 9ombres de los ficheros cuyos modos de acceso se quieren cambiar. /or ejemplo, para quitar el permiso de lectura a los usuarios de un fichero el comando es: chmod a 7r fichero.txt Los permisos de lectura, escritura y ejecucin tienen un significado diferente cuando se aplican a directorios y no a ficheros normales. En el caso de los directorios el permiso r significa la posibilidad de !er el contenido del directorio con el comando lsG el permiso E da la posibilidad de crear y borrar ficheros en ese directorio, y el permiso x autori>a a buscar y utili>ar un fichero concreto. /or otra parte, el comando choEn se emplea para cambiar de propietario 3Pchange oEnerP a un determinado conjunto de ficheros. Este comando slo lo puede emplear el actual propietario de los mismos. Los nombres de propietario que admite Linux son los nombres de usuario, que estn almacenados en el fichero MetcMpassEd. La forma general del comando choEn es la siguiente: choEn neEoEner file) file* ... Bnlogamente, el grupo al que pertenece un fichero puede ser cambiado con el comando chgrp, que tiene una forma general similar a la de choEn, chgrp neEgroup file) file*... Los grupos de usuarios estn almacenados en el fichero MetcMgroup. Espacio ocupado en el disco Comandos du y df El comando du permite conocer el espacio ocupado en el disco por un determinado directorio y todos los subdirectorios que cuelgan de l. /ara usarlo basta simplemente colocarse en el directorio adecuado y teclear, du, ste comando da el espacio de disco utili>ado en bloques. /ara obtener la informacin en bytes se debe emplear el comando con la opcin Rh: du 7h El comando df por el contrario informa del espacio usado por las particiones del sistema que se encuentren montadas. Sisuali>acin sin formato de un fichero. Comando cat Este comando permite !isuali>ar el contenido de uno o ms ficheros de forma no formateada. Lambin permite copiar uno o ms ficheros como apndice de otro ya existente. Blgunas formas de utili>ar este comando son las siguientes, cat filename #aca por pantalla el contenido del fichero filename. cat file) file*... #aca por pantalla, secuencialmente y seg=n el orden especificado, el contenido de los ficheros indicados. cat file) file* &file+ El contenido de los ficheros file) y file* es almacenado en file+. cat file) file* &&file+ El contenido de file) y file* es aFadido al final de file+. cat &file) Bcepta lo que se introduce por el teclado y lo almacena en file) 3se crea file)6. /ara terminar se emplea %ctrl&d Comando head head 70 filename escribe las 0 primeras lIneas del fichero filename Sisuali>acin de ficheros con formato. Comando pr Este comando, a diferencia de cat, imprime por consola el contenido de los ficheros de una manera formateada, por columnas, controlando el tamaFo de pgina y poniendo cabeceras al comien>o de las mismas. Est muy en relacin con el comando lp de salida por impresora. Las formas ms importantes que admite son las siguientes: pr file /roduce una salida estndar de .. lIneas por pgina, con un encabe>amiento de - lIneas 3* en blanco, una de identificacin y otras * lIneas en blanco6. pr 7ln file /roduce una salida de n lIneas por pgina 3cuando el tamaFo de papel de impresora, por ejemplo, tiene un n=mero de lIneas distinto de ..6 pr 7p file Qace una pausa para presentar la pgina, hasta que se pulsa %return& para continuar pr 7t file #uprime las - lIneas del encabe>amiento y las del final de pgina. pr 7En file Bjusta la anchura de la lInea a n posiciones. pr 7d file Lista el fichero con espaciado doble. pr 7h TcaracteresT file el argumento o cadena de caracteres TcaracteresT se con!ertirn en la cabecera del listado. pr 'n file <mprime el fichero a partir de la pgina n. Bdems de los ejemplos anteriores, se pueden combinar !arias opciones en un mismo comando, como por ejemplo en: pr 7dt file la salida de este comando es por la consola, pero puede redireccionarse a otro fichero, por ejemplo, si ejecutamos el comando: pr file) & file* se crea un fichero nue!o llamado file* que es idntico a file), pero con formato por pginas y columnas. Sisuali>acin de ficheros pantalla a pantalla. Comandos more y less Estos comandos permiten !isuali>ar un fichero pantalla a pantalla. El n=mero de lIneas por pantalla es de *+ lIneas de texto y una =ltima lInea de mensajes, donde aparecer la palabra more. Cuando se pulsa la barra espaciadora 3el espacio en blanco6, se !isuali>ar la siguiente pantalla. /ara salir de este comando 3terminar la !isuali>acin6 se pulsa %ctrl&d o q. /or ejemplo: more file El comando less es muy similar al anterior pero permite el despla>amiento a lo largo del texto empleando las teclas de cursores pudiendo despla>arse hacia arriba o abajo de un fichero. "=squeda en ficheros. Comandos grep, fgrep y egrep El comando grep locali>a una palabra, cla!e o frase en un conjunto de directorios, indicando en cules de ellos la ha encontrado. Este comando rastrea fichero por fichero, por turno, imprimiendo aquellas lIneas que contienen el conjunto de caracteres buscado. #i el conjunto de caracteres a buscar est compuesto por dos o ms palabras separadas por un espacio, se colocar el conjunto de caracteres entre apstrofes 3U6. #u formato es el siguiente: grep UconjuntocaracteresU file) file* file+ siendo UconjuntocaracteresU la secuencia de caracteres a buscar, y file), file*, y file+) los ficheros donde se debe buscar. Seamos un nue!o ejemplo: grep ULH<B98CLBH<VBC<:9 ;BLH<VU matrix.f scaling.f Este comando buscar LH<B98CLBH<VBC<:9 ;BLH<V entre las lIneas de los ficheros matrix.f y scaling.f. Este comando permite seleccionar, entre todas las lIneas de uno o ms ficheros, aquellas que contienen un moti!o que satisface una expresin regular determinada. grep W7opcionX expresinAregular Wreferencia...X Las opciones principales son: c lo =nico que se hace es escribir el n=mero de las lIneas que satisfacen la condicin. i no se distinguen may=sculas y min=sculas. l se escriben los nombres de los ficheros que contienen lIneas buscadas. n cada lInea es precedida por su n=mero en el fichero. s no se !uelcan los mensajes que indican que un fichero no se puede abrir. ! se muestran slo las lIneas que no satisfacen el criterio de seleccin. B continuacin se muestra una serie de ejemplos. Y grep Z[d\ text lIneas que comien>an por d. Y grep Z[W[dX\ text lIneas que no comien>an por d. Y grep 7! Z[C\ file) & file* quita las lIneas de file) que comien>an por C y lo copia en file*. Comandos tar y g>ip Lanto el comando tar como g>ip son ampliamente empleados para la difusin de programas y ficheros en Linux. El primero de ellos agrupa !arios ficheros en uno solo o Parchi!oP, mientras que el segundo los comprime. En conjunto estos dos programas act=an de forma muy similar a programas como Oin>ip. /ara crear un nue!o archi!o se emplea: tar Rc!f nombreAarchi!o.tar fichero) fichero* ] donde fichero), fichero* etc. son los ficheros que se !an a aFadir al archi!o tar. #i se desea extraer los ficheros se emplea tar Rxp!f nombreAarchi!o.tar fichero) ] Bl contrario que tar que agrupa !arios ficheros en uno, g>ip comprime un =nico fichero con lo que la informacin se mantiene pero se reduce el tamaFo del mismo. El uso de g>ip es muy sencillo g>ip fichero con lo que se comprime fichero 3que es borrado6 y se crea un fichero con nombre fichero.g>. #i lo que se desea es descomprimir un fichero se emplea entonces: g>ip Rd fichero.g> recuperando el fichero inicial. Como se ha comentado al principio es tIpico emplear tar y g>ip de forma consecuti!a, para obtener ficheros con extensin tar.g> o tg> que contienen !arios ficheros de forma comprimida 3similar a un fichero >ip6. El comando tar incluye la opcin > para estos ficheros de forma que para extraer los ficheros que contiene: tar R>xf fichero.tar.g> Comandos de impresin Comando lpr El comando lpr se emplea para imprimir una serie de ficheros. #i se emplea sin argumentos imprime el texto que se introdu>ca a continuacin en la impresora por defecto. /or el contrario, lpr nombreAfichero imprime en la impresora por defecto el fichero indicado. Hedirecciones y tuberIas Hedirecciones Los comandos de Linux tienen una entrada estndar 3n=mero K6 y dos salidas estndar 3n=mero ) para la salida normal del comando, y n=mero * para la salida de los mensajes de error que se puedan producir en su ejecucin6. /or defecto tanto la entrada como las salidas estndar de los comandos son la propia terminal, a no ser que por la propia naturale>a del comando se den en l los nombres de algunos ficheros que hagan el papel de entrada y de salida. /or ejemplo, en el comando cp file) file* file) es la entrada y file* es la salidaG aquI no inter!ienen las entradas y salidas estndar. #in embargo, cuando utili>amos por ejemplo el comando ls 3listado de directorio6, la salida de este comando se dirige hacia la terminal. #i queremos que la salida de este comando se dirija a un fichero llamado file, podrIamos escribir, ls &file el 3& es uno de los llamados operadores de redireccin y dirige la salida estndar hacia el fichero indicado a continuacinG si este fichero no existe, se crea en ese momento. :tros operadores de redireccin son el operador 3% que redirige la entrada estndar desde un determinado fichero, y el operador 3&& que redirige la salida estndar hacia otro fichero, pero aFadiendo dicha salida al final de ese fichero, sin sobreescribir el contenido original. /or ejemplo, si cada !e> que entramos en el sistema ejecutamos el comando, date &&archi!o tendremos un fichero llamado archi!o que contiene informacin sobre todas las !eces que hemos entrado en el sistema. :tro ejemplo, para aFadir al fichero file* al final de file) y al conjunto llamarle file+, serIa cat file) file* &file+ o, si quisiramos que el fichero resultante fuera el mismo file), cat file* &&file) Cn ejemplo en redireccin a la entrada podrIa ser el siguiente, mail juan %carta que en!Ia al usuario juan el contenido del fichero carta. LuberIas #iguiendo con los ejemplos anteriores, si quisiramos en!iar a juan una lista de nuestros ficheros podrIamos utili>ar los comandos, ls &fichero mail juan %fichero rm fichero Es decir que hemos conectado la salida estndar de ls con la entrada estndar de mail, a tra!s de un fichero transitorio filelist. Linux permite hacer esta operacin directamente, sin pasar por el fichero de almacenamiento transitorio: esto se hace mediante el concepto de tuberIa 3pipe6, que consiste en empalmar la salida estndar de un comando con la entrada estndar de otro. /ara el ejemplo anterior esto se hace en la forma, ls ^ mail juan Con el operador de tuberIa 3^6 se pueden empalmar tantos comandos como se desee. "ifurcacin o L 3comando tee6 B !eces interesa que la salida de un comando, adems de redirigirse a un determinado fichero, se bifurque tambin hacia la terminal, con objeto de obser!ar inmediatamente el resultado. Esto se consigue con el operador tee, que podrIa emplearse de la siguiente forma: ls ^ tee file la salida de ls se bifurca hacia la terminal y hacia file. #i quisiramos que la salida de este comando se aFadiera al final de file, deberIamos utili>ar la opcin 7a, ls ^ tee 7a file Hedireccin de la salida de errores Los mensajes de error se dirigen a la salida n=mero *, que normalmente es tambin la terminal. B !eces, por ejemplo cuando se quiere ejecutar un comando en bac2ground 3ejecutar un comando en bac2ground es lan>ar su ejecucin y recuperar el control de la terminal sin esperar a que termine, lo cual se hace aFadiendo el carcter _ al final del comando6, interesa e!itar que los mensajes de error apare>can en la pantalla, pues en ella habremos empe>ado a hacer otra cosa. #upongamos por ejemplo que queremos compilar y montar en bac2ground un conjunto de ficheros, dirigiendo los listados a un fichero llamado listados, y los mensajes de error a un fichero llamado errores. Lo harIamos en la forma, gcc prueba.c *&errores con lo cual la salida * 3errores6 se redirige hacia el fichero errores. /ara redirigir la salida estndar de errores al mismo fichero que la salida estndar se emplea un comando como: program %datos.d &resultados.r *&_) Ejecucin de programas Ejecucin en el fondo _ , 2ill, nice y nohup /ara ejecutar un programa en el fondo, es decir, recuperando inmediatamente el control del terminal, basta aFadir el carcter _ al final del comando de ejecucin: program %datos.d &resultados.r _ inmediatamente aparecer en el terminal, debajo de esta lInea, un n=mero que es el n=mero de proceso de la ejecucin de este programa. /ara detener definiti!amente dicha ejecucin 3no se puede detener temporalmente6 se puede utili>ar el comando 2ill: 2ill n=merodeproceso La ejecucin de un programa en el fondo no impide que apare>can en la pantalla los mensajes de error que se produ>can 3a no ser que se haya redirigido la salida de errores6, y que el programa se pare cuando se salga del sistema. /ara que el programa contin=e ejecutndose a=n cuando nosotros hayamos terminado la sesin, hay que utili>ar el comando nohup: nohup program #i no se utili>an redirecciones todas las salidas del programa se dirigen a un fichero llamado nohup.out. Cuando se utili>a nohup el ordenador entiende que el usuario no tiene prisa y automticamente disminuye la prioridad de la ejecucin. Existe un comando, llamado nice, que permite reali>ar ejecuciones con baja prioridad, es decir se le indica al ordenador que puede ejecutar de forma ms lenta esta aplicacin si existen otras que sean ms urgentes. #e utili>a en las formas, nice program _ nice nohup program _ /ara darle al programa la prioridad mInima habrIa que utili>ar el comando, nice 7)J program _ donde el 7)J indica la mInima prioridad. Comando time El comando time, precediendo a cualquier otro comando, suministra informacin acerca del tiempo total empleado en la ejecucin, del tiempo de C/C utili>ado por el programa del usuario, y del tiempo de C/C consumido en utili>ar recursos del sistema. /or ejemplo para saber el tiempo utili>ado en la compilacin y montaje del programa prueba.c utili>arIamos el comando, time gcc prueba.c Comando top Linux incluye una aplicacin llamada top cuya finalidad es manipular la ejecucin de programas de una forma interacti!a. Esta aplicacin muestra una lista de los procesos que se estn ejecutando. Los principales comandos de top son: u que muestra los procesos que pertenecen a un determinado usuario, 2 equi!alente al comando 2ill para matar un proceso y h que muestra la ayuda del programa. /rogramas de comandos El sistema operati!o Linux, al igual que otros sistemas operati!os, permite reali>ar programas de comandos, esto es, programas constituidos por distintos comandos que podrIan teclearse interacti!amente uno por uno en una terminal, pero que es muchas !eces ms cmodo agruparlos en un fichero, y ejecutarlos con una sola instruccin posteriormente. Los comandos de Linux pueden ser externos 7 que implican la creacin de un nue!o proceso, cuyo cdigo est en Mbin o MusrMbin7 e internos 7 cuyo cdigo est incluido en el del intrprete shell que los ejecuta. Cna cierta primera forma de agrupar comandos la ofrece Linux por medio del carcter G. /or ejemplo, tecleando el comando, dateG lsG Eho el ordenador ejecutar sucesi!amente los comandos date, ls y Eho. Lambin podrIa crearse con un editor de textos un fichero llamado comandos que contu!iera las lIneas siguientes: date ls Eho /ara ejecutar este fichero de comandos puede teclearse, sh comandos o bien con!ertir el fichero comandos en directamente ejecutable por medio del comando chmod en la forma, chmod a'x comandos de modo que el programa de comandos comandos puede ejecutarse simplemente tecleando su nombre, comandos Los comandos sh comandos y comandos no son enteramente equi!alentes. BsI, el primero de ellos exige que el fichero comandos est en el directorio de trabajo, mientras que el segundo slo exige que el fichero comandos est en uno de los directorios de b=squeda de comandos especificados en la !ariable /BLQ. Cuando se ejecuta un fichero de comandos Linux abre lo que se llama un nue!o shell, es decir un nue!o entorno para la ejecucin de los comandos. /ara que las !ariables del capara>n original conser!en su !alor en el nue!o capara>n es necesario prepararlas con la sentencia export antes de abrir el nue!o shell. /or ejemplo, como consecuencia de lo que se acaba de decir, si en el interior de un fichero de comandos se cambia de directorio con el comando cd, al acabar la ejecucin de dicho fichero !ol!eremos automticamente al directorio inicial. <ntroduccin de comentarios /ara introducir lIneas de comentarios en un programa de comandos basta comen>ar dichas lIneas con el carcter @. Qay que tomar la precaucin de que este carcter no sea el primer carcter del fichero de comandos, porque entonces el ordenador interpreta que el programa est escrito en C7shell 3una !ariante especial de C9<D desarrollada en la Cni!ersidad de "er2eley6 y el resultado es impre!isible. /uede ser buena prctica comen>ar todos los ficheros de comandos con una lInea en blanco. Sariables del shell C9<D permite definir !ariables en un fichero de comandos en la forma, C#EH`MmntMmecanMjuanto LEH;`hp*+J* ... Es una prctica habitual el utili>ar nombres con letras may=sculas para las !ariables del capara>n. /ara recuperar el !alor de una !ariable hay que precederla con el carcter . /or ejemplo, utili>ando en otra parte del programa LEH;, en dicho lugar se sustituirIa LEH; por su !alor, esto es, hp*+J*. El shell del Linux tiene definidas para cada usuario unas !ariables estndar. /ara a!eriguar cules son basta teclear el comando siguiente, set /ara definir otras !ariables propias de cada usuario puede utili>arse el fichero .profile, que es un fichero de comandos propio de cada usuario que se ejecuta automticamente al hacer el login. /ara definir !ariables que contengan espacios en blanco deben encerrarse entre caracteres 3U6 o 3P , como por ejemplo, (ECQB`P+) de 5iciembre de )J1.P ms adelante se !er la diferencia entre el carcter 3U6 y el carcter 3P . Comando echo El comando echo imprime un determinado texto en la terminal. Cn ejemplo de utili>acin de dicho comando puede ser el siguiente: echo ;e gusta el sistema operati!o C9<D El comando echo es de gran utilidad en los ficheros de comandos. Cuando el texto que se desea escribir en la terminal contiene alguno de los caracteres especiales de C9<D 3 $ N W X & && % _ G a U 6 hay que tomar precauciones especiales desconectando su significado. Cna forma de hacerlo es precediendo dicho carcter con la barra in!ertida 3a6. BsI, para escribir mediante el comando echo tres asteriscos, utili>arIamos echo a$a$a$ si no utili>ramos la barra in!ertida, el asterisco se interpretarIa como un carcter de sustitucin y se imprimirIa el nombre de todos los ficheros del directorio. :tra forma de anular el significado de los caracteres especiales es encerrando el texto a escribir mediante comillas 3P o entre apstrofos normales 3U6. Los apstrofos 3U6 anulan el significado de todos los caracteres comprendidos entre ellos. BsI pues, el triple asterisco lo podrIamos escribir con el comando, echo U$$$U Las comillas 3P son menos restricti!as, y anulan el significado de todos los caracteres excepto los tres siguientes: 3 T a6. Esto es muy importante porque si SBH es el nombre de una !ariable, y SBH aparece en un comando echo entre apstrofos se escribe SBH, mientras que si aparece entre comillas se escribe el !alor de la !ariable, al cumplir el carcter su cometido. El carcter 3a6 tiene otros significados, adems del ya !isto de anular el significado especial de otros caracteres. BsI, sir!e como indicador de que un comando contin=a en la lInea siguiente. Cuando se utili>a en la definicin interacti!a de un comando, en la lInea siguiente aparece el prompt secundario 3& , que indica que se debe seguir tecleando el comando. Cuando en un comando echo aparecen los caracteres 3ac6 y 3an6 quiere decir, respecti!amente, que no se cambie de lInea y que se salte de lInea, al escribir por la pantalla. El carcter apstrofo in!erso o acento gra!e 3T6 tiene tambin un significado especial. Cuando en un comando echo aparece el nombre de otro comando encerrado entre apstrofos in!ersos 3por ejemplo, TdateT, TEhoT, TlsT, ...6, el nombre de dicho comando se sustituye por el resultado que genera al ejecutarse interacti!amente. Cn ejemplo podrIa ser el siguiente: echo PLos usuarios del sistema son anan TEhoTP El lector puede hacer la prueba y obser!ar el resultado correspondiente. /armetros de los ficheros de comandos B los ficheros de comandos pueden pasrseles como parmetros un conjunto de una o ms !ariables. 5entro del fichero de comandos estas !ariables o parmetros se conocen con los nombres K, ), *, ..., J. La !ariable K representa el propio nombre del fichero de comandos, y ), *, ..., J son los nombres de los parmetros propiamente dichos. Samos a comen>ar !iendo un ejemplo muy sencillo de programa de comandos al que se le pasa slo una !ariable o parmetro. El comando de borrar de Linux rm no confirma la operacin de borrado si no se le pone la opcin 37i6. Esto es peligroso porque uno fcilmente puede ol!idarse de teclear dicha opcin y borrar lo que no querIa borrar. Samos a crear un fichero de comandos llamado del que incluya dicha opcin. 5icho fichero podrIa estar formado por, echo Pbuiere borrar el fichero )NP rm 7i ) 5espus de darle a este fichero el correspondiente permiso de ejecucin con el comando chmod, podrIamos borrar con confirmacin el fichero file tecleando, del file. 5entro del fichero de comandos, K !aldrIa del y ) !aldrIa file. Cn programa de comandos ms complicado y que utili>a dos parmetros podrIa ser el contenido en el fichero cambio, que intercambia el nombre de dos ficheros: m! ) ficheropufo m! * ) m! ficheropufo * Este fichero se ejecutarIa en la forma, cambio file) file* En este ejemplo K es cambio, ) es file) y * es file*. En realidad a un fichero de comandos se le pueden pasar todos los argumentos que se deseen, aunque slo hay nombre especIfico para los nue!e primeros 3ms el propio nombre del comando6. El n=mero de argumentos que se le pasa est contenido en la !ariable @. La !ariable $ contiene el conjunto de todos los parmetros. Cn nue!o ejemplo puede aclarar algo ms este punto. #i el programa del que hemos hecho pre!iamente lo hubiramos utili>ado en la forma: del $.f tericamente deberIa de borrar, con confirmacin, todos los ficheros (ortran del directorio. En la prctica no es asI, porque 3$.f6 no representa un =nico argumento sino muchos argumentos 3todos los ficheros (ortran del directorio6. Como resultado slo se borra el primer fichero (ortran. /ara borrar todos e indicarnos adems cuntos ficheros hay, el fichero del podrIa estar compuesto por los siguientes comandos: echo PQay @ programas (ortran anP rm 7i $ El comando shift hace posible utili>ar y distinguir parmetros que estn ms a la derecha del no!eno lugar en la llamada al programa de comandos. En efecto, cuando se llama al comando shift, * se con!ierte en ), + en *, etc, y lo que hubiera sido )K en J, con lo cual ya se puede referenciar. El comando shift deja inalterado K y puede utili>arse tantas !eces como se desee. :tras posibilidades de los ficheros de comandos Los ficheros de comandos tienen muchas ms posibilidades que las que se han apuntado en esta <ntroduccin: pueden leer !ariables, preguntar por la existencia de un fichero y por si es ejecutable o no, y admiten construcciones lgicas del tipo <(, 5:, 5: OQ<LE, etc. /ara utili>ar estas posibilidades acudir al manual correspondiente. Compilando programas en Linux Linux como cualquier sistema Cnix que se precie incluye un compilador de C y C''. Esto no implica que se est limitado a estos dos lenguajes de programacin. /or el contrario existen una gran cantidad de compiladores gratuitos para los lenguajes ms importantes. El compilador de CMC'' de Linux es un compilador de lInea de comandos, esto es, no dispone de ninguna interfa> grfica que facilite la programacin y compilacin del cdigo. Existen eso sI editores de texto capaces de mostrar la sintaxis del cdigo resaltada como 2Erite, aunque la compilacin hay que reali>arla manualmente a tra!s de una consola o terminal. Compilacin y lin2ado El primer paso para crear un programa, por ejemplo en C'', es crear el fichero de cdigo fuente, y guardarlo en un fichero de texto por ejemplo e).cpp. Lras esto hay que compilar el programa. /ara esto se emplear el comando g'', de la siguiente forma: g'' e).cpp Con lo que conseguiremos que se compile el programa. Con este comando hemos conseguido que se cree un programa llamado a.out en el directorio de trabajo. /ara ejecutarlo emplearemos .Ma.out 9ormalmente no desearemos que el programa se llame a.out sino que tenga un nombre ms significati!o, como ejemploA), para conseguirlo emplearemos: g'' 7o ejemploA) e).cpp #i queremos ejecutar el programa emplearemos .MejemploA). #i el programa escrito reali>a emplea alguna funcin que no se encuentre en la librerIa estndar hay que incluirla en la orden de compilacin, por ejemplo: g'' 7o ejemploA* e*.cpp 7lname 5onde name es el nombre de la librerIa. /or defecto estas se guardan en un fichero cuyo nombre es libname.so, cuya locali>acin suele ser MusrMlib. #i el programa no est escrito en C'' sino en C las opciones de compilacin son las mismas sal!o que en lugar del programa g'' se emplear el comando gcc. gcc Ro ejemploA+ e+.c Comando ma2e Este comando sir!e para organi>ar la compilacin y el enla>ado de programas complicados que dependen de muchos mdulos y librerIas diferentes. Cuando se ejecuta este comando, se construye un nue!o ejecutable !ol!iendo a compilar slo aquellos ficheros fuente que son ms recientes que el los ficheros compilados correspondientes, teniendo en cuenta para ello las fechas de =ltima modificacin de cada fichero. Este comando se basa en un fichero B#C<< 3llamado por defecto ma2efile6 que contiene una relacin de dependencias entre los distintos mdulos, asI como las acciones que hay que reali>ar para poner a punto cada mdulo, es decir para pasar de un fuente a un objeto, por ejemplo. Este comando tiene la siguiente forma general: ma2e WRf ma2efilenameX WRargAoptX WexeAnameX El fichero ma2efile 3con ste o con otro nombre in!ocado por medio de la opcin Rf6 contiene cuatro tipos de lIneas diferentes: Y LIneas de comentario, que comien>an por el carcter 3@6. #i en una lInea cualquiera aparece el carcter 3@6, se ignora todo lo que aparece a continuacin de dicho carcter en dicha lInea. Y LIneas de definicin de macros. Lienen la forma general, <5E9L<(<CB5:H ` cadenaAdeAcaracteres #i en alguna otra lInea aparece 3<5E9L<(<CB5:H6, dicha ocurrencia se sustituye por cadenaAdeAcaracteres. 9o es necesario que el nombre del identificador est escrito con may=sculas, pero es una costumbre bastante extendida el hacerlo asI. ;ediante el uso de macros se pueden representar bre!emente pathnames o listas de nombres de ficheros largos. #i el identificador tiene una sola letra, no hace falta poner los parntesis. El comando ma2e tiene una serie de macros definidas por defecto que se pueden listar con el comando ma2e Rp. LIneas describiendo las relaciones de dependencia. Lienen la forma, file.o fila.o ... : file).cpp file*.cpp ... La lista de ficheros que estn a la i>quierda del carcter 3 dependen de los ficheros que estn a la derecha. En estas lIneas se reali>a la sustitucin habitual de los caracteres 3N$WX6 LIneas de comandos shell, comen>ando siempre por un tabulador. Estas lIneas representan las acciones que hay que reali>ar para actuali>ar los ficheros dependientes, seg=n las relaciones de dependencia descritas en la lInea anterior. En una misma lInea de comandos puede haber !arios comandos separados por un carcter 3 , y de este modo se ejecutan en un mismo procesoG si hay !arias lIneas de comandos, cada lInea se ejecuta en un proceso diferente. Estos comandos shell 3compilaciones, etc.6 se ejecutan o no seg=n las fechas de los ficheros correspondientes. Qay tambin una lista de dependencias implIcitas y de macrodefiniciones standard que se pueden obtener con el comando ma2e 7p 3la salida de este comando puede tener !arios cientos de lIneas6. B continuacin se presentan algunos ejemplos de ficheros ma2efile. B continuacin se muestran una serie de ejemplos @ Esto es un ejemplo de fichero ma2efile @ 5efiniciones de macros ma ` ma*0ad.o ma*0bd.o ma*0cd.o LE#L: test.o 3ma6 xlf Ro LE#L R: 3ma6 test.o: test.f xlf Rc R: test.f ma*0ad.o: ma*0ad.f xlf Rc R: ma*0ad.f ma*0bd.o: ma*0bd.f xlf Rc R: ma*0bd.f ma*0cd.o: ma*0cd.f xlf Rc R: ma*0cd.f Qay informaciones que no es necesario dar por que se suponen por defecto. /or ejemplo, si el fichero objeto 3.o6 y el fichero C 3.c6 o C'' 3.cpp6 tienen el mismo sufijo, no hace falta definir esas relaciones de dependencia, que por otra parte son tri!iales. "=squeda a!an>ada en ficheros. Expresiones regulares B !eces se desea encontrar las lIneas de un fichero que contienen una palabras o palabras determinadas. Cuando el texto que se desea encontrar es =nico, lo que hay que hacer es ponerlo tal cual en la seccin del comando que define la b=squeda, por ejemplo grep P/BLBLB#P ListaAdeAlaAcompra.txt #in embargo, en otras ocasiones el texto que se desea buscar no es =nico, es decir, no est unI!ocamente determinado como en el ejemplo anterior, sino que debe cumplir unas ciertas condiciones, como la de estar escrito con may=sculas, comen>ar por determinado carcter, estar a principio o final de lInea, etc. Este problema se puede resol!er en muchos comandos de Linux por medio de las expresiones regulares que se !an a presentar a continuacin. Las expresionesAregulares son una forma de describir patrones para la b=squeda de unas determinadas lIneas dentro de uno o ms ficheros B#C<<. #e trata pues de encontrar las lIneas cuyo contenido cumple ciertas condiciones, que se definen en la expresinAregular. Caracteres especiales En una expresinAregular se pueden utili>ar algunos caracteres que tienen un significado especial. #on los siguientes: W comien>o de la definicin de un conjunto de caracteres . un carcter cualquiera, excepto el %eol& $ un conjunto de caracteres cualesquiera, excepto el primer carcter de una expresin o inmediatamente despus de la secuencia a3 X terminacin de la definicin de un conjunto de caracteres 7 sir!e para definir el conjunto de caracteres que !an del que le precede al que le sigue. #i !a detrs del W o delante del X, no es especial [ comien>o de lInea, si est al comien>o de la expresin [ conjunto complementario 3el que no cumple la condicin6, si est justo despus del W que abre la definicin de un conjunto fin de lInea, cuando est al final de una expresin. a quita el significado especial a un carcter, excepto en la definicin de un conjunto de caracteres Expresiones regulares de un solo carcter #e trata de buscar palabras o conjuntos de un solo carcter, que cumple ciertas condiciones. B continuacin se presentan algunos ejemplos: a$ representa el carcter $ . cualquier carcter, excepto el %eol& Wa7fX un carcter cualquiera entre la a y la f WB7VX cualquier letra may=scula W[a7dX cualquier carcter que no sea una letra entre la a y la d W:clase donde clase puede ser: digit 3cifra del K al J6, xdigit 3cifra hexadecimal6, alpha 3letra cualquiera6, upper 3letra may=scula6, loEer 3letra min=scula6, alnum 3letra o dIgito cualquiera6, space 3un espacio en blanco6, cntrl 3carcter de control6, punct 3un carcter de puntuacin6 y print 3carcter imprimible6. Expresiones regulares generales #e pueden formar de acuerdo con las siguientes reglas: 7 una expresin regular de un slo carcter Wa7>X cualquier letra min=scula 7 una expresin regular de un slo carcter, seguida del carcter $, representando entonces todas las palabras de longitud positi!a o nula que se pueden construir con los caracteres aceptados por la una expresiones regulares de un slo carcter Wa7>X$ cualquier palabra escrita con min=sculas 7 concatenando 3poniendo una a continuacin de la otra6 dos expresiones regulares construidas pre!iamente Wa7>XWB7VX cualquier palabra de dos letras, de las cuales la primera es min=scula y la segunda may=scula 7 Cna expresinAregular definida en la forma a3expresiones regularesa6 representa la propia expresiones regulares 3es decir, definida ella sola6, pero define una forma de referirse luego a esa expresiones regulares. En efecto las expresiones regulares definidas de esta forma quedan afectadas por un n=mero del ) al J, y es posible luego hacer referencia a una expresiones regulares por medio del n=mero que le corresponde, en la forma an=mero. #i an=mero !a seguido de un $, esa subexpresin puede repetirse un n=mero cualquiera de !eces. [a3.$a6a)a) Bl comien>o de la lInea, un campo formado por un carcter cualquiera que se repite las !eces que sea, !ol!iendo a aparecer dos !eces mas antes de que se acabe la lInea. Esta expresin detectarIa las lIneas que contienen palabras 3o conjuntos de palabras6 triples. 7 una expresiones regulares de un slo carcter seguida de a3enteroa6 representa entero apariciones consecuti!as de alguno de los caracteres aceptados por la expresiones regulares de un slo carcter. #i !a seguida de a3entero,a6 representa un n=mero mInimo de entero apariciones consecuti!as. #i !a seguida de a3entero), entero*a6 representa un mInimo de entero) y un mximo de entero* apariciones consecuti!as. Los n=meros enteros deben estar comprendidos entre K y *--. 7 toda expresin que comien>a con [ indica que los caracteres buscados deben estar a comien>o de la lInea [Wa7>X$ selecciona las lIneas que slo contienen letras min=sculas 7 toda expresin que termina con indica que los caracteres buscados deben estar a final de la lInea [Wa7>Xac+adW[a7>Xac+ad selecciona las lIneas que comien>an con tres min=sculas, terminan con tres caracteres cualesquiera pero que no son min=sculas, y no tiene ning=n otro carcter entre medio.