Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
BulgaraCeha slovacaCroataEnglezaEstonaFinlandezaFranceza
GermanaItalianaLetonaLituanianaMaghiaraOlandezaPoloneza
SarbaSlovenaSpaniolaSuedezaTurcaUcraineana

AlimentosArteBiologíaComputadorasComunicacionesDeportesDerechoDiferentes
DrogasEconomíaEducaciónGeografíaGramáticaHistoriaIngenieríaLibros
LiteraturaMatemáticasMercadeoMúsicaQuímicaSaludSociologíaTurismo

EL SHELL: COMANDOS BSICOS DE LINUX

computadoras



+ Font mai mare | - Font mai mic



DOCUMENTE SIMILARE



EL SHELL: COMANDOS BSICOS DE LINUX

Hasta este momento se han visto los entornos grficos existentes para Linux ms importantes, no obstante cualquier usuario de Linux acabar antes o despus relacionndose con el sistema empleando el modo texto. Este modo se basa en la ejecucin de una serie de comandos, que son interpretados por un programa o shell. Linux dispone de varios de estos programas pero el ms habitual es conocido como bash o Bourne Shell. Si Linux se ha arrancado en modo texto el sistema arranca de forma directa el shell y queda a la espera de introduccin de nuevos comandos. Si se ha arrancado en modo grfico se puede acceder al shell de dos formas:



Se puede acceder al shell del sistema presionando alguna de las siguientes combinaciones de teclas:

  • <ctrl>+<alt>+<F1>
  • <ctrl>+<alt>+<F2>
  • <ctrl>+<alt>+<F3>
  • <ctrl>+<alt>+<F4>
  • <ctrl>+<alt>+<F5>
  • <ctrl>+<alt>+<F6>

Esto hace que el sistema salga del modo grfico y acceda a alguna de las seis consolas virtuales de Linux, a las cuales tambin se puede acceder cuando se arranca en modo de texto. Para volver al modo grfico hay que presionar <ctrl>+<alt>+<F7> o <ctrl>+<alt>+<F8>.

La segunda forma es ms cmoda y menos radical permitiendo acceder al shell desde el mismo entorno grfico. Para esto hay que abrir un programa llamado terminal o consola, por ejemplo: kconsole (en el entorno KDE), xterm, gnome-terminal ( en GNOME), etc como se ha visto anteriormente.

1 Introduccin

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 maysculas y minsculas se consideran como diferentes.
  • En su forma ms habitual (los shells de Bourne o de Korn), el sistema operativo utiliza 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 realiza un autorrellenado al presionar la tecla del tabulador. Si no puede distinguir entre diversos casos rellenar hasta el punto en el que se diferencien. Por ejemplo, supongamos una carpeta con los siguientes directorios:

Programas

Documentos_proyecto

Documentos_privados

Al escribir cd Pr<tab> Linux rellenar el resto del contenido hasta escribir cd Programas. Por el contrario al escribir cd D<tab> escribir cd Documentos_

2 Algunos Comandos Sencillos de LINUX

Para efectuar el cambio o la introduccin de un password o contraseÑa se utiliza el comando passwd. El proceso a seguir es el siguiente:

passwd

(current) UNIX password: (se teclea la contraseÑa actual; no aparece en pantalla)

New UNIX password: (se teclea la nueva contraseÑa; no aparece en pantalla)

Retype new UNIX password: (se teclea de nuevo la nueva contraseÑa comprobando que se ha tecleado bien. Si no coincide no se cambia produce el cambio).

A continuacin se describen algunos comandos sencillos de que pueden ser tiles para familiarizarse con los comandos del sistema.

date Muestra por pantalla el da y la hora.

cal 1949 Muestra el calendario del aÑo 1949.

cal 05 1949 Muestra el calendario de mayo de 1949.

Who Indica qu usuarios tiene el ordenador en ese momento, en qu terminal estn y desde qu hora.

Whoami Indica cul es la terminal y la sesin en la que se est trabajando.

man comando Todos los manuales de Linux estn dentro del propio sistema operativo, y este comando permite acceder a la informacin correspondiente al comando comando. Por ejemplo con man who aparecer por pantalla y de forma formateada por pginas, la explicacin del comando who. Se puede navegar a travs de estas pginas con los cursores del teclado, y presionando q para salir. clear Este comando limpia la consola

3 Directorio Personal

Como se ha visto anteriormente el directorio personal es un directorio con un determinado nombre asignado a un usuario. Los directorios personales habitualmente son subdirectorios de /home (en algunos casos se utiliza mnt, u otro subdirectorio de orden inferior). Generalmente el nombre coincide con el del nombre de usuario, aunque puede no ser as, y varios usuarios pueden estar trabajando en el mismo directorio. Cada usuario de Linux puede crear una estructura en rbol de subdirectorios y archivos tan compleja como desee bajo su directorio personal pero normalmente nunca fuera de l.

3.1 Listado del contenido de directorios: comando ls

Una de las acciones ms habituales a la hora de trabajar es mostrar el contenido de un directorio, como se ha visto existen herramientas grficas con este fin, no obstante el shell incluye un programa con este mismo fin: ls,

Ls Muestra los nombres de los ficheros y subdirectorios contenidos en el directorio en el que se est. Slo se obtienen los nombres de los ficheros, sin ninguna otra informacin.

ls a Muestra todos los ficheros incluyendo algunos que ordinariamente estn ocultos para el usuario (aquellos que comienzan por un punto). Se recuerda que el fichero punto . indica el directorio actual y el doble punto .. el directorio padre, que contiene, al actual.

ls l Esta es la opcin de lista larga: muestra toda la informacin de cada fichero incluyendo: protecciones, tamaÑo y fecha de creacin o del ltimo cambio introducido,

ls c Muestra ordenando por da y hora de creacin.

ls -t Muestra ordenando por da y hora de modificacin.

ls r Muestra el directorio y lo ordena en orden inverso.

ls subdir Muestra el contenido del subdirectorio subdir.

ls -l filename Muestra toda la informacin sobre el fichero.

ls color Muestra el contenido del directorio coloreado.

Las opciones anteriores pueden combinarse. Por ejemplo:

ls cr Muestra el directorio ordenando inversamente por fechas.

El comando ls admite los caracteres de sustitucin o metacarcteres (*) y (?). El carcter * representa cualquier conjunto o secuencia de caracteres. El carcter ? representa cualquier carcter, pero slo uno. Por ejemplo:

ls *.gif Muestra todos los nombres de ficheros que acaben en .gif, por ejemplo dib1.gif, a.gif, etc.

ls file? Muestra todos los ficheros cuyos nombres empiecen por file y tengan un nombre de cinco caracteres, por ejemplo: file1, file2, filea, etc.

3.2 Creacin de subdirectorios. Comando mkdir

El comando mkdir (make directory) permite a cada usuario crear un nuevo subdirectorio:

mkdir subdir1

donde subdir es el nombre del directorio que se va a crear.

3.3 Borrado de subdirectorios. Comando rmdir

Este comando borra uno o ms directorios del sistema (remove directory), siempre que estos subdirectorios estn vacos. Por ejemplo:

rmdir subdir1

donde subdir es el nombre del directorio que se va a eliminar.

3.4 Cambio de directorio. Comando cd

Este comando permite cambiar de directorio a partir del directorio actual de trabajo. Por ejemplo,

cd /home/Pedro En este ejemplo pasamos del directorio actual de trabajo al nuevo directorio

/home/Pedro, que ser desde ahora nuestro nuevo directorio.

cd dire Nos traslada al subdirectorio dire (que deber existir como subdirectorio en el directorio actual).

cd .. Retrocedemos un nivel en la jerarqua de directorios. Por ejemplo, si estamos en /home/Pedro y usamos este comando, pasaremos al escalafn inmediatamente superior de la jerarqua de directorios, en este caso a /home. Nota: al contrario que en MS-DOS en Linux no existe la forma cd.. sin espacio entre cd y los dos puntos.

cd Nos sita nuevamente en el directorio personal del usuario.

3.5 Situacin actual. Comando pwd

El comando pwd (print working directory) visualiza 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 utiliza escribiendo simplemente pwd.

3.6 Acceso a unidades de disco

Linux a diferencia de Windows no utiliza letras ('a:', 'c:', 'd:', ) 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 CD-ROM este tiene que haber sido previamente 'montado'. El montado se realiza 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. Por ejemplo para acceder al CD-ROM se tecleara el siguiente comando:

mount -t iso9660 /dev/cdrom /mnt/cdrom

donde -t iso9660 indica el tipo de sistema que usa la unidad de disco para guardar los ficheros (las ms usuales son: iso9660 en el caso de un CD-ROM, vfat en el caso de Windows, y ext2 en el caso de Linux), /dev/cdrom indica el dispositivo que se va a montar. Todos los dispositivos estn representados por un fichero del directorio /dev, por ejemplo en el caso de un disquete ser seguramente /dev/fd0, por ltimo /mnt/cdrom es el directorio en el que se pondr a disposicin del usuario el contenido del CD-ROM. Para montar disquetes se suele utilizar el directorio /mnt/floppy.

De todas formas el usuario siempre puede crear un directorio vaco 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 'desmontarlo' mediante el comando umount antes de sacar el disquete o el CD-ROM. En este ltimo caso debera escribir:

umount /mnt/cdrom

Para utilizar el comando mount de la forma anterior hace falta ser administrador o root. Para que un usuario comn pueda utilizar disquetes, CD-ROM, etc. hay que editar el fichero /etc/fstab Por ejemplo para que cualquier usuario pueda acceder a un disquete habr que indicar la siguiente lnea:

/dev/fd0 /mnt/floppy vfat user,noauto 0 0

Tambin habr que asegurarse de que el directorio /mnt/floppy sea accesible por todos los usuarios.

Una vez seguidos los pasos anteriores cualquier usuario podr 'montar' un disquete escribiendo el siguiente comando:

mount /mnt/floppy

Al igual que antes el usuario deber ejecutar el comando umount /mnt/floppy antes de sacar el disquete.

Nota: Existen en la actualidad distribuciones (p. ej. Linux Mandrake) que realizan este proceso de forma automtica por lo que las unidades de disquete y CD-ROM quedan accesibles a todos los usuarios de una forma sencilla, empleando los comandos:

mount /mnt/floppy

umount /mnt/floppy

siempre que /mnt/floppy sea la ruta adecuada.

3.7 Copia de ficheros. Comando cp

Este comando tiene la siguiente forma,

cp file1 file2

y hace una copia de file1 y le llama file2. Si file2 no exista, lo crea con los mismos atributos de file1. Si file2 exista antes, su contenido queda destruido y es sustituido por el de file1. El fichero file2 estar en el mismo directorio que file1. Tanto file1 como file2 indican el nombre de un archivo, que puede incluir el la ruta al mismo si alguno de ellos no se encuentra en el directorio actual. Otra posibilidad es:

cp file1 file2 namedir

que hace copias de file1 y file2 en el directorio namedir.

3.8 Traslado y cambio de nombre de ficheros. Comando mv

Este comando tiene una forma similar al anterior ,

mv file1 file2

El comando mv realiza la misma funcin que el anterior (cp) pero adems destruye el fichero original. En definitiva traslada el contenido de file1 a file2; a efectos del usuario lo que ha hecho es cambiar el nombre a file1, llamndole file2. De igual forma,

mv file1 file2 namedir

traslada uno o ms ficheros (file1, file2,) al directorio namedir conservndoles el nombre. El comando,

mv namedir1 namedir2

cambia el nombre del subdirectorio namedir1 por namedir2.

Hay que recalcar que el comando mv sirve as mismo para cambiar el nombre de los ficheros.

3.9 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 realizar cuantas copias se desee del fichero. Pero, a veces, es ms prctico tener un mismo fichero con varios 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 mltiples 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 utilizar ficheros que pertenecen a directorios distintos. Gracias 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 file1 file2

A partir de este momento el fichero file1 tiene dos nombres: file1 y file2. A diferencia de los comandos cp y mv, este comando toma ms precauciones, ya que advierte previamente si el nombre file2 est ocupado, y en este caso no se ejecuta.

ln panacea subdir/panacea

Despus 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 enlazados a otro se borran como los ficheros normales. Si se borra el fichero original permanece su contenido en los ficheros enganchados.

8.3.10 Borrado de ficheros. Comando rm

Este comando tiene las formas siguientes,

rm file1 file2

Este comando elimina uno o ms ficheros de un directorio en el cual tengamos permiso de escritura.

Con este comando resulta facilsimo borrar ficheros intiles, y desgraciadamente, tambin los tiles.

Por eso es conveniente y casi imprescindible emplear lo opcin -i, de la forma siguiente:

rm -i file1 file2

Con esta opcin, Linux pedir confirmacin para borrar cada fichero de la lista, de si realmente se desea su destruccin o no. Se recomienda usar siempre este comando con esta opcin para evitar el borrado de ficheros tiles. Por ejemplo, si se teclea,

rm -i superfluo

aparecer en pantalla el aviso siguiente:

remove superfluo?

y habr que contestar y (yes) o n (not). En este comando se pueden utilizar los caracteres de sustitucin (* y ?), como por ejemplo,

rm fich*

que borrara todos los ficheros del directorio actual que comiencen por fich. El comando

rm *

borrar todos los ficheros del directorio actual, mientras que

rm -i *

realiza una labor anloga, pero con previa confirmacin.

3.11 Caractersticas de un fichero. Comando file

Este comando realiza una serie de comprobaciones en un fichero para tratar de clasificarlo. Su

formato es:

file fich

Tras su ejecucin este comando muestra el tipo del fichero e informacin al respecto del mismo.

8.3.12 Cambio de modo de los ficheros comandos chmod, chown y chgrp

Los permisos de cada fichero se pueden ver con el comando ls -l. Para cambiar los permisos de un fichero se emplea el comando chmod, que tiene el formato siguiente:

chmod [quien] oper permiso files

quien Indica 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. Si no se da el quien, el sistema supone a.

oper Indica la operacin que se desea hacer con el permiso. Para dar un permiso se pondr un +, y para quitarlo se pondr un -.

permiso Indica el permiso que se quiere dar o quitar. Ser una combinacin cualquiera de las letras anteriores : r,w,x,s.

files Nombres de los ficheros cuyos modos de acceso se quieren cambiar.

Por ejemplo, para quitar el permiso de lectura a los usuarios de un fichero el comando es:

chmod a -r 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 ver el contenido del directorio con el comando ls; el permiso w da la posibilidad de crear y borrar ficheros en ese directorio, y el permiso x autoriza a buscar y utilizar un fichero concreto.

Por otra parte, el comando chown se emplea para cambiar de propietario (change owner) 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 /etc/passwd. La forma general del comando chown es la siguiente:

chown newowner file1 file2

Anlogamente, el grupo al que pertenece un fichero puede ser cambiado con el comando chgrp, que tiene una forma general similar a la de chown,

chgrp newgroup file1 file2

Los grupos de usuarios estn almacenados en el fichero /etc/group.

4 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. Para usarlo basta simplemente colocarse en el directorio adecuado y teclear, du, ste comando da el espacio de disco utilizado en bloques. Para obtener la informacin en bytes se debe emplear el comando con la opcin h: du -h

El comando df por el contrario informa del espacio usado por las particiones del sistema que se encuentren montadas.

5 Visualizacin sin formato de un fichero. Comando cat

Este comando permite visualizar el contenido de uno o ms ficheros de forma no formateada.

Tambin permite copiar uno o ms ficheros como apndice de otro ya existente. Algunas formas de utilizar este comando son las siguientes,

cat filename Saca por pantalla el contenido del fichero filename.

cat file1 file2 Saca por pantalla, secuencialmente y segn el orden especificado, el contenido de los ficheros indicados.

cat file1 file2 >file3 El contenido de los ficheros file1 y file2 es almacenado en file3.

cat file1 file2 >>file3 El contenido de file1 y file2 es aÑadido al final de file3.

cat >file1 Acepta lo que se introduce por el teclado y lo almacena en file1 (se crea

file1). Para terminar se emplea <ctrl>d

6 Comando head

head -7 filename

escribe las 7 primeras lneas del fichero filename

7 Visualizacin 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 tamaÑo de pgina y poniendo cabeceras al comienzo 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 Produce una salida estndar de 66 lneas por pgina, con un encabezamiento de 5 lneas (2 en blanco, una de identificacin y otras 2 lneas en blanco).

pr -ln file Produce una salida de n lneas por pgina (cuando el tamaÑo de papel de impresora, por ejemplo, tiene un nmero de lneas distinto de 66)

pr -p file Hace una pausa para presentar la pgina, hasta que se pulsa <return> para continuar

pr -t file Suprime las 5 lneas del encabezamiento y las del final de pgina.

pr -wn file Ajusta la anchura de la lnea a n posiciones.

pr -d file Lista el fichero con espaciado doble.

pr -h `caracteres` file el argumento o cadena de caracteres `caracteres` se convertirn en la cabecera del listado.

pr +n file Imprime el fichero a partir de la pgina n.

Adems de los ejemplos anteriores, se pueden combinar varias opciones en un mismo comando, como por ejemplo en: pr -dt file la salida de este comando es por la consola, pero puede redireccionarse a otro fichero, por ejemplo, si ejecutamos el comando: pr file1 > file2 se crea un fichero nuevo llamado file2 que es idntico a file1, pero con formato por pginas y columnas.

8 Visualizacin de ficheros pantalla a pantalla. Comandos more y less

Estos comandos permiten visualizar un fichero pantalla a pantalla. El nmero de lneas por pantalla es de 23 lneas de texto y una ltima lnea de mensajes, donde aparecer la palabra more. Cuando se pulsa la barra espaciadora (el espacio en blanco), se visualizar la siguiente pantalla. Para salir de este comando (terminar la visualizacin) se pulsa <ctrl>d o q. Por ejemplo: more file El comando less es muy similar al anterior pero permite el desplazamiento a lo largo del texto empleando las teclas de cursores pudiendo desplazarse hacia arriba o abajo de un fichero.

9 Bsqueda en ficheros. Comandos grep, fgrep y egrep

El comando grep localiza una palabra, clave 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 lneas que contienen el conjunto de caracteres buscado. Si 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 ('). Su formato es el siguiente:

grep 'conjuntocaracteres' file1 file2 file3

siendo 'conjuntocaracteres' la secuencia de caracteres a buscar, y file1, file2, y file31 los ficheros donde se debe buscar. Veamos un nuevo ejemplo:

grep 'TRIANGULARIZACION MATRIZ' matrix.f scaling.f

Este comando buscar TRIANGULARIZACION MATRIZ entre las lneas de los ficheros matrix.f y scaling.f. Este comando permite seleccionar, entre todas las lneas de uno o ms ficheros, aquellas que contienen un motivo que satisface una expresin regular determinada.

grep [-opcion] expresin_regular [referencia]

Las opciones principales son:

c lo nico que se hace es escribir el nmero de las lneas que satisfacen la condicin.

i no se distinguen maysculas y minsculas.

l se escriben los nombres de los ficheros que contienen lneas buscadas.

n cada lnea es precedida por su nmero en el fichero.

s no se vuelcan los mensajes que indican que un fichero no se puede abrir.

v se muestran slo las lneas que no satisfacen el criterio de seleccin.

A continuacin se muestra una serie de ejemplos.

  • grep ˆd text lneas que comienzan por d.
  • grep ˆ[ˆd] text lneas que no comienzan por d.
  • grep -v ˆC file1 > file2 quita las lneas de file1 que comienzan por C y lo copia en file2.

10 Comandos tar y gzip

Tanto el comando tar como gzip son ampliamente empleados para la difusin de programas y ficheros en Linux. El primero de ellos agrupa varios ficheros en uno solo o archivo, mientras que el segundo los comprime. En conjunto estos dos programas actan de forma muy similar a programas como Winzip. Para crear un nuevo archivo se emplea:

tar cvf nombre_archivo.tar fichero1 fichero2

donde fichero1, fichero2 etc. son los ficheros que se van a aÑadir al archivo tar. Si se desea extraer los ficheros se emplea

tar xpvf nombre_archivo.tar fichero1

Al contrario que tar que agrupa varios ficheros en uno, gzip comprime un nico fichero con lo que la informacin se mantiene pero se reduce el tamaÑo del mismo. El uso de gzip es muy sencillo

gzip fichero

con lo que se comprime fichero (que es borrado) y se crea un fichero con nombre fichero.gz. Si lo que se desea es descomprimir un fichero se emplea entonces:

gzip d fichero.gz

recuperando el fichero inicial. Como se ha comentado al principio es tpico emplear tar y gzip de forma consecutiva, para obtener ficheros con extensin tar.gz o tgz que contienen varios ficheros de forma comprimida (similar a un fichero zip). El comando tar incluye la opcin z para estos ficheros de forma que para extraer los ficheros que contiene:

tar zxf fichero.tar.gz

11 Comandos de impresin.

11.1 Comando lpr

El comando lpr se emplea para imprimir una serie de ficheros. Si se emplea sin argumentos imprime el texto que se introduzca a continuacin en la impresora por defecto. Por el contrario,

lpr nombre_fichero

imprime en la impresora por defecto el fichero indicado.

7. REDIRECCIONES Y TUBERAS

7.1 Redirecciones

Los comandos de Linux tienen una entrada estndar (nmero 0) y dos salidas estndar (nmero 1 para la salida normal del comando, y nmero 2 para la salida de los mensajes de error que se puedan producir en su ejecucin). Por defecto tanto la entrada como las salidas estndar de los comandos son la propia terminal, a no ser que por la propia naturaleza del comando se den en l los nombres de algunos ficheros que hagan el papel de entrada y de salida. Por ejemplo, en el comando

cp file1 file2

file1 es la entrada y file2 es la salida; aqu no intervienen las entradas y salidas estndar. Sin embargo, cuando utilizamos por ejemplo el comando ls (listado de directorio), la salida de este comando se dirige hacia la terminal. Si queremos que la salida de este comando se dirija a un fichero llamado file, podramos escribir,

ls >file

el (>) es uno de los llamados operadores de redireccin y dirige la salida estndar hacia el fichero indicado a continuacin; si este fichero no existe, se crea en ese momento. Otros operadores de redireccin son el operador (<) que redirige la entrada estndar desde un determinado fichero, y el operador (>>) que redirige la salida estndar hacia otro fichero, pero aÑadiendo dicha salida al final de ese fichero, sin sobrescribir el contenido original. Por ejemplo, si cada vez que entramos en el sistema ejecutamos el comando,

date >>archivo

tendremos un fichero llamado archivo que contiene informacin sobre todas las veces que hemos entrado en el sistema. Otro ejemplo, para aÑadir al fichero file2 al final de file1 y al conjunto llamarle file3, sera

cat file1 file2 >file3

o, si quisiramos que el fichero resultante fuera el mismo file1,

cat file2 >>file1

Un ejemplo en redireccin a la entrada podra ser el siguiente,

mail juan <carta

que enva al usuario juan el contenido del fichero carta.

7.2 Tuberas

Siguiendo con los ejemplos anteriores, si quisiramos enviar a juan una lista de nuestros ficheros podramos utilizar 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 travs 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 tubera (pipe), que consiste en empalmar la salida estndar de un comando con la entrada estndar de otro. Para el ejemplo anterior esto se hace en la forma,

ls | mail juan

Con el operador de tubera (|) se pueden empalmar tantos comandos como se desee.

7.3 Bifurcacin o T (comando tee)

A veces interesa que la salida de un comando, adems de redirigirse a un determinado fichero, se bifurque tambin hacia la terminal, con objeto de observar inmediatamente el resultado. Esto se consigue con el operador tee, que podra emplearse de la siguiente forma:

ls | tee file

la salida de ls se bifurca hacia la terminal y hacia file.

Si quisiramos que la salida de este comando se aÑadiera al final de file, deberamos utilizar la opcin -a,

ls | tee -a file

7.4 Redireccin de la salida de errores

Los mensajes de error se dirigen a la salida nmero 2, que normalmente es tambin la terminal. A veces, por ejemplo cuando se quiere ejecutar un comando en background (ejecutar un comando en background es lanzar su ejecucin y recuperar el control de la terminal sin esperar a que termine, lo cual se hace aÑadiendo el carcter & al final del comando), interesa evitar que los mensajes de error aparezcan en la pantalla, pues en ella habremos empezado a hacer otra cosa.

Supongamos por ejemplo que queremos compilar y montar en background un conjunto de ficheros, dirigiendo los listados a un fichero llamado listados, y los mensajes de error a un fichero llamado errores. Lo haramos en la forma,

gcc prueba.c 2>errores

con lo cual la salida 2 (errores) se redirige hacia el fichero errores. Para redirigir la salida estndar de errores al mismo fichero que la salida estndar se emplea un comando como:

program <datos.d >resultados.r 2>&1



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 628
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved