Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) ACERCA DEL SISTEMA OPERATIVO UNIX Mat. Juan Fiacro Hernández Cruz1 México D.F., a 21 de julio de 1997 1 PEMEX-REFINACIÓN, SUBDIRECCIÓN DE DISTRIBUICIÓN, UNIDAD DE SISTEMAS Y APOYO LOGÍSTICO, COORDINACIÓN DE INGENIERÍA DE SISTEMAS Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) Índice General 1 INTRODUCCIÓN 2 2 EL EDITOR VI 3 3 COMANDOS DE UNIX 7 4 MANEJO DE INFORMACIÓN EN ARCHIVOS Y DIRECTORIOS 14 5 FILTROS 21 6 RESPALDO DE INFORMACIÓN 24 7 COMO CREAR Y CORRER UN ARCHIVO EJECUTABLE 26 8 COMUNICACIÓN 27 1 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) 1. INTRODUCCIÓN El sistema operativo UNIX fue desarrollado en 1969 por los laboratorios Bell y en base a un sistema operativo multiusuario llamado MULTICS. En 1973 Ritchie y Ken Thompson reescribieron el núcleo de UNIX en “C”, rompiendo así con la tradición de que el software de sistemás está escrito en lenguaje ensamblador. Aproximadamente el 90% de UNIX esta escrito en lenguaje “C” y el resto en lenguaje ENSAMBLADOR. Como todo sistema operativo, UNIX esta compuesto por un conjunto de programás que controlan y organizan las actividades de la computadora. Para poder entrar al sistema unix, el administrador del equipo en uso debe crearnos una cuenta con un password. Una vez creada nuestra cuenta podemos entrar al sistema unix en alguna terminal del equipo. Cuando aparece en la pantalla login: debemos teclear el login que nos da el administrador del equipo, luego <ENTER>. Posteriormente aparecerá password: en donde tendremos que teclear nuestro password , luego <ENTER> y ya estaremos dentro del sistema UNIX. Una vez que estemos dentro del sistema UNIX, podemos salir tecleando <CONTROL>d o exit-<ENTER> En el sistema operativo unix hay diferencia entre los archivos escritos con mayúsculas y los que están escritos con minúsculas, por ejemplo los archivos arch1 y ARch1 son diferentes en unix. 2 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) 2. EL EDITOR VI SINTAXIS DE COMANDOS $vi [-x] archivo <ENTER> -x ESCAPE :q :q! :wq INSERTAR TEXTO a i o O DESCRIPCIÓN Para crear el archivo usando vi Permite teclear la llave para poder trabajar con un archivo encriptado Escapar al modo comando Salir de vi si no se modifico el archivo Salir de vi sin salvar Salir de vi salvando el archivo DESCRIPCIÓN Agregar después del cursor Insertar en la posición del cursor Agregar una línea abajo del cursor lista para insertar Agregar una línea arriba del cursor lista para insertar 3 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) MOVIMIENTO DEL CURSOR h l j k H DESCRIPCIÓN Se mueve el cursor un espacio a la izquierda Se mueve el cursor un espacio a la derecha Se mueve el cursor un espacio hacia abajo Se mueve el cursor un espacio hacia arriba Se mueve el cursor a la parte más alta de la pantalla Se mueve el cursor a la mitad de la pantalla Se mueve el cursor a la parte más baja de la pantalla Se mueve el cursor al inicio de la línea Se mueve el cursor al final de la línea Se mueve el cursor una palabra hacia adelante Se mueve el cursor una palabra hacia atras Se mueve el cursor al final del archivo Se mueve el cursor a la eneava línea del archivo Se mueve el cursor como se espera Se despliega información acerca del archivo con el que se esta trabajando Se mueve el cursor n pantallas completas hacia arriba Se mueve el cursor n pantallas completas hacia abajo Se mueve el cursor n líneas hacia arriba Se mueve el cursor n líneas hacia abajo Se manda el cursor a la columna num_col sobre la línea actual Se manda el cursor a la línea num_lin M L ^o O $ w b G nG Teclas de flecha <CONTROL>-g n<CONTROL>-f n<CONTROL>-b n<CONTROL>-u n<CONTROL>-d |num_col :num_lin 4 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) BORRANDO dw ndw dd ndd x nx DESCRIPCIÓN Borra Borra Borra Borra Borra Borra una palabra y se guarda en buffer n palabras y se guardan en buffer una línea y se guarda en buffer n líneas y se guardan en buffer un carácter y se guarda en buffer n caracteres y se guardan en buffer COPIANDO yw nyw yy nyy DESCRIPCIÓN Copia Copia Copia Copia una palabra a buffer n palabras a buffer una línea a buffer n líneas a buffer SALVANDO TEXTO ZZ o :wq :w archivo_nuevo :n1,n2 w archivo_nuevo DESCRIPCIÓN Se salva el archivo y salimos del editor Salva el archivo en archivo_nuevo Salva de las líneas n1 a n2 en archivo_nuevo 5 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) BUSCANDO/SUSTITUYENDO TEXTO /cadena Busca hacia adelante la cadena en el archivo Busca hacia atrás la cadena en el archivo Busca hacia adelante o hacia atrás de acuerdo a lo especificado en el comando de busqueda, la siguiente ocurrencia de la cadena en el archivo Reemplaza unicamente la primer ocurrencia de la cadena1 por la cadena2 en cada línea del texto, de las lineas n1 a n2 Reemplaza la cadena1 por la cadena 2 todas las veces que se encuentre la cadena1 en el texto de las líneas n1 a n2 ?cadena n :n1,n2 s/cadena1/cadena2/ :n1,n2 s/cadena1/cadena2/g MISCELANEOS u U :set nu :set nonu J . p DESCRIPCIÓN DESCRIPCIÓN Deshace el último cambio Restaura la línea actual Temporalmente despliega números de línea en el archivo Deshace el despliegue de los números de línea en el archivo Junta la línea actual con la siguiente Repite lo que se hizo con el último comando Despliega lo que contiene el buffer en la posición del cursor 6 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) 3. COMANDOS DE UNIX $comando [opciones] [argumento1] ... [argumenton] Las opciones - Muchas opciones comienzan con un menos - Las opciones multiples se pueden juntar - El orden de las opciones no importa generalmente Los argumentos - Nombres de archivos, directorios o usuarios - Alguna información extra para que pueda ejecutarse el comando Los espacios son importantes y se debe presionar <ENTER> para ejecutar una línea de comando El comando passwd sirve para cambiar el password asignado por el administrador del equipo $passwd <ENTER> El comando tty nos da información acerca de nuestra terminal $tty <ENTER> El comando id nos dice cual es nuestro login y a que grupo pertenecemos $id <ENTER> El comando clear limpia la pantalla $clear <ENTER> El comando echo manda el mensaje especificado a la pantalla, o si se usan metacaracteres despliega los nombres de los archivos que coinciden con la cadena de busqueda $echo ”mensaje” <ENTER> Ejemplos: 7 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) $echo ”HOLA” <ENTER> Despliega HOLA en pantalla $echo * <ENTER> Despliega el contenido del directorio $echo j* <ENTER> Despliega los nombres de archivos que empiecen con j $echo [a-zA-Z]* <ENTER> Despliega los nombres de archivos que empiecen con letra minúscula o mayúscula El comando banner manda el mensaje especificado a la pantalla $banner “mensaje” <ENTER> Manda el mansaje especificado a la pantalla, con letras grandes y escritas utilizando el caracter # El comando ps despliega los procesos en background y su estatus correspondiente. $ps [-u login_name] <ENTER> -u despliega todos los procesos en background que corresponden al usuario con el login_name dado El comando ln [-f -n] ln permite crear un archivo ligado con el archivo dado -f forza a borrar algún archivo de destino ya existente, antes de ligar -n Si el archivo destino ya existe no crea la liga y envía un mensaje de error $ln arch_original arch_nuevo <ENTER> Se crea el archivo arch_nuevo ligado al archivo arch_original i. e. se crea el archivo arch_nuevo con el mismo contenido que el archivo arch_original, con la ventaja de que cualquier cambio que se haga a alguno de los archivos se refleja automáticamente en el otro, pero si se borra alguno de los archivos el otro permanece en el sistema. El comando help despliega una lista de los tópicos de ayuda. $help <ENTER> 8 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) Los comandos env o el comando printenv despliegan los valores de las variables de ambiente. $env <ENTER> $printenv <ENTER> Si adicionamos & a un comando antes de ejecutarlo , se ejecuta el comando en background i. e. no tenemos que esperar a que termine la ejecución del comando para poder ejecutar otros o para hacer algo mas en el sistema. $comando & <ENTER> Después de dar <ENTER> aparece en pantalla un número de proceso El comando nohup permite que los comandos que se corran, terminen su ejecución independientemente de que se apague la terminal o de que salga uno de la sesión. $nohup comando <ENTER> Envía el resultado de la ejecución al archivo nohup.out El comando alias permite asignar un nombre más a un comando. $alias [-t ] [-x nuevo_nombre-”comando”] <ENTER> -t Despliega los alias existentes en la sesión -x Define un nombre adicional para un comando El comando ls despliega el contenido de un directorio $ls [-a -l -ld -F] directorio <ENTER> -a despliega todas las entradas, incluyendo aquellas que empiezan con un punto -l para obtener información completa acerca de los archivos (permisos, ligas, propietario, etc.) -F pone una diagonal al final del nombre de un directorio y un asterisco si es un archivo ejecutable 9 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) Ejemplos: $ls Despliega el contenido del directorio actual Despliega el contenido del directorio actual con información completa Despliega el contenido del directorio actual incluyendo a los archivos cuyo nombre comienza con . Despliega el contenido del directorio actual con información completa incluyendo a los archivos cuyo nombre comienza con . Despliega el contenido del directorio actual con información completa incluyendo a los archivos cuyo nombre comienza con . e indicando de que tipo es cada archivo Despliega información completa acerca del directorio actual $ls -l $ls -a $ls -la $ls -laF $ls -ld El comando cd sirve para cambiar de directorio $cd [directorio] <ENTER> Notación especial: . directorio actual .. directorio padre Ejemplos: $cd / <ENTER> para cambiarnos al directorio raíz $cd /usr/roberto <ENTER> para cambiarnos al directorio /usr/roberto $cd <ENTER> para cambiarnos a nuestro directorio HOME El comando cat sirve para desplegar el contenido de uno o mas archivos en pantalla $cat arch1 [arch2] .. [archn] <ENTER> Nota: Al desplegar un archivo se puede detener el despliegue oprimiendo <CONTROL>-s y se puede continuar con el despliegue oprimiendo <CONTROL>q El comando crypt codifica y decodifica 10 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) $crypt llave < arch_entrada > arch_salida <ENTER> Se crea arch_salida codificado El comando more sirve para desplegar por líneas o por pantallas el contenido de uno o mas archivos en pantalla $more arch1 [arch2] .. [archn] <ENTER> Ejemplos: $more presentacion1 <ENTER> Despliega el contenido del archivo presentacion1, para desplegar por líneas dar <ENTER> y por pantallas dar <ESPACIO> $more resumen1 resumen2 resumen3 Despliega el contenido del archivo resu<ENTER> men1 seguido del contenido del archivo resumen2 y finalmente el contenido del archivo resumen3 El comando pg sirve para desplegar por páginas el contenido de uno o mas archivos en pantalla $pg arch1 [arch2] .. [archn] <ENTER> Ejemplos: $pg presentacion2 <ENTER> Despliega por páginas el contenido del archivo presentacion2 $pg resumen1 resumen2 resumen3 Despliega por páginas el contenido del <ENTER> archivo resumen1, seguido del contenido del archivo resumen2 y finalmente el contenido del archivo resumen2 El comando who [am i] sirve para desplegar información acerca de los usuarios que están en el sistema $who <ENTER> -am i Me recuerda quien soy yo El comando date despliega la fecha y la hora actual del sistema 11 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) $date <ENTER> El comando man despliega información acerca del (de los) comando(s) especificado(s) $man comando1 [comando2] .. [comandon] <ENTER> Ejemplos: $man ls <ENTER> Despliega información acerca del comando ls $man man <ENTER> Despliega información acerca del manual mismo El comando wc [-l] [-c] [-w] archivo <ENTER> Despliega el número de lineas, palabras y caracteres del archivo especificado -l Despliega únicamente el número de líneas del archivo especificado -c Despliega únicamente el número de caracteres del archivo especificado -w Despliega únicamente el número de palabras del archivo especificado Sin opción Despliega el número de líneas, palabras y caracteres del archivo especificado El comando pack sirve para comprimir archivos $pack [-f] archivo(s) <ENTER> Al ejecutar este comando se comprime el archivo, quedando con el mismo nombre pero con extensión z -f Forza la compresión de los archivos de entrada El comando unpack sirve para expandir archivos comprimidos con pack $unpack archivo(s)[.z] <ENTER> El comando compress sirve para comprimir archivos $compress [-f] archivo(s) Al ejecutar este comando se compri<ENTER> me el archivo, quedando con el mismo nombre pero con extensión Z -f Forza la compresión de los archivos de entrada, aun cuando no se logre ninguna reducción de tamaño en el archivo a comprimir 12 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) El comando uncompress sirve para expandir archivos comprimidos con compress $uncompress archivo(s)[.Z] <ENTER> 13 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) 4. MANEJO DE INFORMACIÓN EN ARCHIVOS Y DIRECTORIOS Para saber de los permisos asociados a un archivo usar, $ls -l archivo <ENTER> resultaría $[-d]rwxr—r— 1 usua mats 100 Jul 16 09:10 archivo - Si el primer carácter es un guión me indica que el archivo no es directorio - Si el primer carácter es una d me indica que el archivo si es directorio - Las tres letras siguientes indican permisos de lectura, escritura y ejecución para el usuario - Las tres letras siguientes indican permiso de lectura, sin permiso de escritura y sin permiso de ejecución para el grupo - Las tres letras siguientes indican permiso de lectura, sin permiso de escritura y sin permiso de ejecución para otros - El número 1 indica que el archivo tiene sólo una liga - La palabra usua indica que el usuario es usua - La palabra mats indica que el grupo es mats - El numero 100 indica que el archivo consta de 100 bytes - La palabra Jul indica que estamos en el mes de julio - El número 16 indica el número de día del mes actual - 09:10 Indica la hora del sistema - La palabra archivo indica el nombre de nuestro archivo Asignar o quitar permisos a los archivos con el comando, chmod de la siguiente manera, $chmod [ugo][+-][rwx] archivo[s] <ENTER> 14 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) Ejemplos: $chmod u+r prueba <ENTER> Se asignan permisos de lectura al archivo prueba para el usuario $chmod u+w prueba <ENTER> Se asignan permisos de escritura al archivo prueba para el usuario $chmod u+x prueba <ENTER> Se asignan permisos de ejecución al archivo prueba para el usuario $chmod g+w prueba <ENTER> Se asignan permisos de escritura al archivo prueba para el grupo $chmod o+w prueba <ENTER> Se asignan permisos de escritura al archivo prueba para otros $chmod ugo+rwx prueba <ENTER> Se asignan permisos de lectura, escritura y ejecución al archivo prueba para el usuario, el grupo y otros $chmod go-wx prueba <ENTER> Se niegan permisos de escritura y ejecución al archivo prueba para el el grupo y otros Metacaracteres: * Cualquier sucesión de caracteres ? Cualquier carácter [ ] Encierra un rango o lista de caracteres 15 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) Ejemplos: $ls *.c <ENTER> Despliega todos los archivos que terminan con .c $ls ch*.c <ENTER> Despliega todos los archivos que empiezan con ch y terminan con .c $ls fi[gn] <ENTER> Despliega los archivos fig o fin $ls archivo[1-5] <ENTER> Despliega todos archivo1..archivo5 $ls archivo.? <ENTER> Despliega los archivos que comienzan con archivo. y terminan con cualquier caracter los archivos El comando cp sirve para copiar un archivo a otro directorio o al mismo directorio con otro nombre $cp archivo archivo_nuevo <ENTER> Ejemplos: $cp prueba1 prueba2 <ENTER> Copia prueba1 en prueba2 $cp *.c /usr/roberto <ENTER> Copia los archivos que terminan con .c al directorio /usr/roberto El comando mv sirve para renombrar un archivo o para cambiarlo de directorio $mv archivo archivo_nuevo <ENTER> Ejemplos: $mv prog1 prog2 <ENTER> Renombra prog1 con prog2 $mv *.c /usr/roberto <ENTER> Cambia los archivos que terminan con .c al directorio /usr/roberto 16 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) El comando rm sirve para borrar uno o mas archivos $rm [-r] [directorio(s), archivo(s)] <ENTER> - r Con esta opción se borran directorios con o sin información Ejemplos: $rm prueba <ENTER> Borra el archivo prueba $rm *.c <ENTER> Borra los archivos que terminan con .c $rm -r basic Se borra el directorio basic con o sin información El comando mkdir sirve para crear uno o mas directorios $mkdir dir1 [dir2] .. [dirn] <ENTER> Ejemplos: $mkdir progs_c <ENTER> $mkdir amigo1 <ENTER> amigo2 Se crea el directorio progs_c amigo3 Se crean los directorios amigo1, amigo2 y amigo3 El comando rmdir sirve para borrar uno o mas directorios vacios $rmdir dir1 [dir2] .. [dirn] <ENTER> Ejemplos: $rmdir progs_c <ENTER> $rmdir amigo1 <ENTER> amigo2 Se borra el directorio vacio progs_c amigo3 Se borran los directorios vacios amigo1, amigo2 y amigo3 El comando pr sirve para dar a los archivos un formato de impresión estandar $pr [-t -h -d -n] archivo[s] <ENTER> -t Para no imprimir encabezado ni pie de página -h Para imprimir con el encabezado deseado 17 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) -d Para imprimir a doble espacio -n Para que cada línea se imprima con número de línea El comando lp sirve para mandar a imprimir uno o mas archivos $lp [-dptr -m] archivo[s] <ENTER> -dptr Para mandar a imprimir en la impresora ptr -m Para recibir por correo notificación de termino de impresión Ejemplos: $lp -m prueba <ENTER> Se manda a imprimir el archivo prueba solicitando notificación por correo de termino de impresión $lp *.c <ENTER> Se mandan a imprimir los archivos que terminan con .c En UNIX existe un separador de comandos y es ; y se usa como sigue, $comando1;comando2;..;comandon <ENTER> Para mandar el resultado de un comando a un archivo se usa el símbolo > como sigue $comando > nueco_arch <ENTER> Ejemplo: $ls > nuevo_arch <ENTER> Los nombres de los archivos del directorio se mandan al archivo nuevo_arch $cat > nuevo_arch <ENTER> >Este es el contenido <ENTER> >del archivo nuevo_arch <ENTER> <CONTROL >-d $ Con lo anterior se envia el texto tecleado al archivo nuevo_arch $cat archivo1 archivo2 > archivo3 Con esto creamos el archivo archivo3 <ENTER> con el contenido del archivo1 seguido del contenido del archivo2 18 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) Para agregar el resultado de un comando a un archivo se usa el símbolo >> como sigue $comando >> arch_existe Se agrega el resultado del comando al <ENTER> archivo arch_existe y si no existiera el archivo arch_existe, se crea $cat archivo1 >> archivo2 <ENTER> Con esto agregamos al archivo archivo2 el contenido del archivo archivo1 El símbolo \ se usa para teclear una línea de comando muy larga en varias líneas $comando [opciones] [argumento1] \ <ENTER> [argumento2]\ <ENTER> ... [argumenton] <ENTER> $ Ejemplo: $echo ”línea\ >muy\ >larga ”<ENTER> $línea muy larga Esto resultaría El símbolo | es el símbolo para redireccionar información y se usa como sigue, $comando1 <ENTER> | comando2 El resultado del comando1 se pasa como archivo de entrada para el comando2 Ejemplo: $cat arch | pg <ENTER> Se página el contenido del archivo arch Los símbolos “ sirven para ejecutar lo que se encuentra dentro de ‘ y ‘, cuando estos símbolos se encuentran precedidos por algun comando $comando1 El resultado del comando2 se pa‘comando2‘<ENTER> sa como archivo de entrada al comando1 Ejemplo: $banner ‘ls j*‘ <ENTER> Despliega en formato banner a los archivos que comienzan con j 19 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) El comando find busca en el sistema de archivos a partir de un directorio dado, nombres de archivos que coincidan con una cadena de busqueda $find pathname -name”string” -print <ENTER> 20 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) 5. FILTROS El comando grep despliega las líneas que contienen la cadena de texto especificada en los archivos especificados $grep [-c] [-l] [-invx] archivo [-e cadena de busqueda] [-f archivo con la cadena de busqueda] archivo(s) <ENTER> -c Despliega sólo la cantidad de líneas que contienen la cadena de busqueda -l Despliega sólo los nombres de los archivos que contienen por lo menos una ocurrencia de la cadena que se busca -n Precede cada línea que contiene a la cadena de busqueda, con su número de línea en el archivo -i Ignora si la cadena esta en minúsculas o mayúsculas para la busqueda -v Despliega las líneas que no contienen la cadena que se busca -x Despliega una línea sólo si la cadena de busqueda coincide con la línea completa El comando sed funciona como editor de flujo. Lee uno o más archivos de texto, hace cambios de edición de acuerdo a un script de comandos de edición y manda los resultados a la salida estandard $sed [-e ‘script’] [-f archivo con el script] archivo(s) <ENTER> 21 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) -e ‘script’ Con script se especifica el comando de edición a ejecutar sobre el archivo Se especifica que el archivo con el script debe usarse como fuente para que los comandos de edición que contiene sean aplicados al archivo -f archivo con el script Es importante el orden en que se coloque -e y -f Ejemplo: $sed -e ’1,$ s/rchivo/archivo/’ articulo sustituye en el archivo articulo la pri>articulo_nuevo mer ocurrencia de la cadena rchivo por la cadena archivo en todas las líneas del archivo articulo El comando cut despliega porciones especificas de un archivo $cut [-c rango de caracteres ] [-f rango de campos] [-d caracter delimitador] [-s] archivo <ENTER> -c rango de caracteres Despliega las columnas especificadas por el rango de caracteres -f rango de campos Despliega el texto que se encuentra entre el rango de campos -d caracter delimitador Usa el caracter especificado como delimitador de campo, el caracter delimitador default es el caracter tab -s No toma en cuenta para el corte a las líneas que no contienen caracter delimitador Ejemplos: $cut -c2,4,5-10 archivo > nuevo_arch <ENTER> $cut -f1,3-6 -d’ ‘ archivo > nuevo_arch <ENTER> $cut -sf1,3-6 -d archivo’ ‘ > nuevo_arch <ENTER> El comando paste une dos archivos línea con línea o junta todas las líneas 22 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) de un archivo en una sola $paste [-s arch] [-d’|’] [arch1 arch2] <ENTER> -s Junta todas las líneas del archivo arch en una sola -d’|’ Se especifica que el caracter | sera el caracter delimitador. Por default el caracter delimitador es <tab> Ejemplos: $paste -d ’ ‘ art1 art2 Se unen los archivos art1 y <ENTER> art2 línea con línea, siendo el caracter ‘ ‘ el caracter delimitador e1 23 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) 6. RESPALDO DE INFORMACIÓN El comando cpio sirve para respaldar, leer o recuperar información de un dispositivo Para respaldar información usar el siguiente comando, $cpio -o[acv] [-M ”cadena”] [-O dispositivo] <ENTER> -a Asigna el tiempo de acceso igual al tiempo actual, a los archivos copiados -c Escribe información de encabezado tipo ASCII. Esta opción se requiere cuando se respaldan y se recuperan archivos de otro sistema -v Despliega en pantalla información acerca de los archivos que se van copiando -M ”cadena” Con la cadena dada se especifica el mensaje de terminación de respaldo Por ejemplo: $[comando para listar los archivos a respaldar] | cpio -ovcdum > [PATH del dispositivo] <ENTER> Para leer la información de un dispositivo usar el siguiente comando, $cpio -i[cdefmrsStuvzG] [-M ”cadena”] [-I dispositivo] [patron] <ENTER> 24 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) -e Lee o escribe información de encabezado en formato extendido Asigna el tiempo de acceso igual al tiempo actual, a los archivos copiados Escribe información de encabezado tipo ASCII. Esta opción se requiere cuando se respaldan y se recuperan archivos de otro sistema Despliega en pantalla información acerca de los archivos que se van copiando Con la cadena dada se especifica el mensaje de terminación de respaldo -a -c -v -M ”cadena” Por ejemplo: $ cpio -ivt < [PATH del dispositivo] <ENTER> Para recuperar la información de un dispositivo usar el siguiente comando, $ cpio -ivcdum < [PATH del dispositivo] <ENTER> El comando tar sirve para respaldar, leer o recuperar información de un dispositivo $tar [-ctx] [-v] [-e excepción] [dispositivo] [lista de archivos a respaldar/leer/recuperar] <ENTER> -c Para crear un nuevo respaldo -t Para leer la información de un respaldo -x Para recuperar la información de un respaldo -v Para desplegar información acerca de los archivos que se estan respaldando -e El nombre de archivo dado en excepción se considera para que no sea respaldado 25 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) 7. COMO CREAR Y CORRER UN ARCHIVO EJECUTABLE Existen varias formas de lograr esto y una forma de lograrlo es como sigue, $echo ”who|wc -l ”> nc <ENTER> Con esto creamos el archivo nc $chmod u+x nc <ENTER> Con esto asignamos permisos de ejecución para el usuario al archivo nc $nc <ENTER> Se ejecuta nc y nos dice cuantos usuarios hay en el sistema 26 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) 8. COMUNICACIÓN El comando write sirve para enviar mensajes a los usuarios $write login_name <ENTER> Así enviamos mensaje al usuario con el login Teclear el texto a enviar... ^d El comando mail sirve para enviar y desplegar mensajes por correo a los usuarios $mail <ENTER> Así se despliegan todos los mensajes de correo que nos han enviado Así enviamos correo al usuario con el login_name dado $mail login_name <ENTER> Teclear el texto a enviar... ^d El comando mesg permite o niega comunicación con otros usuarios $ mesg -y permite comunicación con usuarios otros niega comunicación con otros usuarios $mesg -n Podríamos enviar mensajes y correo de otra forma por ejemplo: 27 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) $cat archivo <ENTER> | write login_name Así enviamos mensaje al usuario con el login_name dado $cat archivo <ENTER> | mail login_name Así enviamos correo al usuario con el login_name dado 28 Laboratorio de Visualización Matemática (http://valle.fciencias.unam.mx) Bibliografía [1] El entorno de programación UNIX Brian W. Kernigan, Rob Pike PHHPrentice Hall [2] UNIX Sistema V Versión 4 Kenneth H. Rosen, Richard R. Rosinski, James M. Farber Mc Graw Hill 29