Sei sulla pagina 1di 40

INTRODUCCIN AL SISTEMA OPERATIVO GNU/Linux CAPTULO 1.

HISTORIA DE UNIX
Unix es un sistema operativo portable, multitarea y multiusuario; desarrollado en principio por un grupo de empleados de los laboratorios Bell de AT&T, entre los que figuran Ken Thompson, Dennis Ritchie y Douglas McIlroy. El sistema operativo UNIX comienza en 1969 como un proyecto de investigacin de AT&T Bell Labs. Es descendiente de MULTICS, un proyecto de sistema operativo sumamente ambicioso iniciado por un conjunto de empresas que nunca vio la luz. En 1976 aparece la Versin 6 , disponible en forma gratuita para las Universidades. La versin 7, ampliamente distribuida, aparece en 1979; es la base de la mayora de las versiones de UNIX. costaba $100 dlls. para universidades y $21000 dlls. para otros. Luego de esta versin AT&T cre el grupo USG (UNIX Support Group), luego este grupo se separ de AT&T con el nombre USL (UNIX System Laboratories) para desarrollar UNIX como producto comercial. Los grupos Bell Labs y USG continuaron desarrollando UNIX en direcciones divergentes. USL sac al mercado las versiones System III y System V, ampliamente difundidas. En 1992 AT&T vendi sus operaciones en UNIX a Novell quien sac un producto llamado UnixWare, el cual no result muy popular. El UNIX de Berkeley comenz en 1977, cuando el CSRG (Computer Systems Research Group) de la Universidad de California en Berkeley licenci el cdigo de la versin V6 de AT&T. Las versiones de Berkeley llamadas BSD (Berkeley Software Distribution) comenzaron en 1977 con 1BSD (para PDP-11) y culminaron en 1993 con la versin 4.4 BSD. El propsito ltimo de Berkeley era eliminar todo el cdigo original de AT&T, pero perdi sus fuentes de financiamiento antes de culminar su propsito. Al disolverse, el CSRG lanz su ltima versin de cdigo propio, llamada 4.4BSD-Lite (liviana). La mayora de los UNIX de la rama BSD tienen como antecedente esta versin.

Superadas varias querellas de licencias entre BSD y AT&T, desde hace unos aos los fabricantes pueden tomar el cdigo fuente pblico de AT&T, BSD o ambos para comenzar a partir de ellos sus propios desarrollos. Esto ha originado un sin nmero de variantes. La clasificacin por el origen, AT&T o BSD, se va perdiendo al combinar los fabricantes lo mejor de ambas. Si bien esto ha originado bastante confusin, en el correr de los aos la variedad de lneas de investigacin ha permitido decantar soluciones eficientes, robustas y elegantes, a ms de asegurar la permanencia del sistema operativo sin riesgo alguno de monopolio o propiedad. El desarrollo ms reciente ha sido el advenimiento de Linux, a partir de un ncleo (kernel) diseado por Linus Torvalds, un estudiante graduado de la Universidad de Helsinki, Finlandia, en 1991. A este ncleo se agregan una cantidad de productos complementarios, fundamentalmente de GNU, un proyecto de desarrollo de UNIX libre de costo. Sostenido por una extensa comunidad de empresas, desarrolladores, voluntarios y entusiastas, Linux es hoy un sistema operativo completo, de calidad profesional, usado en produccin y soportado como sistema operativo primario por muchos proveedores. Muchas empresas grandes como Oracle han portado sus productos a Linux.

Ahora que ya sabemos que es Unix y su historia, estamos preparados para denir a GNU/Linux. Que es GNU/Linux? GNU/Linux es un clon del sistema operativo Unix, escrito desde cero por el nlandes Linus Torvalds con la asistencia de un pequeno grupo de hackers esparcidos por la red1 . Entre sus principales caractersticas se encuentra la implantacin del estardar POSIX. Estrictamente, GNU/Linux se reere al nucleo o kernel. En un sentido ms amplio, comprende el nucleo del sistema operativo ms un conjunto de programas que permiten compilar lenguajes de programacion,editar texto, interpretar comandos, manejar archivos y discos, acceder a otras maquinas, establecer co municaciones telefonicas, enviar y recibir correo electronico, manejar las colas de impresion y un sinfi de tareas ms. Algunos de estos programas pueden haber sido desarrollados por los propios usuarios. Lo que en un principio no era ms que un proyecto personal de un joven que se crea el mejor programador del mundo , termino siendo uno de los mejores sistemas operativos; usado ampliamente en todo el mundo, desde instituciones educativas hasta comerciales, pasando por gubernamentales. Las versiones iniciales fueron distribuidas en cdigo fuente por el propio Linus, para que otras personas pudieran entender su proyecto y sobretodo para que lo ayudaran. Linus trabajo activamente hasta la version 0.96, tras ello, se sumaron al proyecto ms programadores y se formo un grupo de desarrollo amplio (Linux Developers) que continua siendo dirigido por el; pero como el mismo lo reconoce, su labor es ms la de un router del grupo que la del desarrollo en si.

1.1 ESTRUCTURA DEL SISTEMA OPERATIVO.


Concepto de Sistema Operativo: Un sistema operativo es un programa o conjunto de programas de computadora destinado a permitir una gestin eficaz de sus recursos. (Hardware y Software). Cuando hablamos de sistemas operativos tenemos que tener bien en claro los siguientes conceptos, los cuales son la base de cualquier sistema operativo:

Procesos Llamadas al sistema Archivos

Procesos
Todo el software ejecutable de la computadora se organiza en varios procesos. Un proceso es tan solo un programa en ejecucin , consta del programa ejecutable, sus datos y pila. Los estados en los que un proceso se puede encontrar son:

En ejecucin (proceso corriendo).

Listo (no existe cpu disponible para el) Bloqueado (proceso detenido).

Llamadas al Sistema
Las llamadas al sistema son el conjunto de operaciones o servicios que el sistema operativo ofrece a los procesos que se ejecutan en modo usuario para que puedan acceder a sus recursos. Estas llamadas permiten realizar operaciones sobre los archivos tales como (apertura, lectura, escritura), sobre los procesos (creacin, comunicacin, eliminacin), o sobre la red (envo y recepcin de mensajes).

Archivos
Concepto: Un archivo es un conjunto de caracteres o bytes. La estructura del sistema de archivos es jerrquica, es decir una grfica dirigida o, vista de otro modo, una estructura arbrea. Los tipos de Archivos que tenemos en GNU/Linux son:

Archivos Regulares: contienen una secuencia de bytes que corresponden generalmente a cdigo o datos. Ellos pueden ser accedidos utilizando las llamadas al sistema estndares de E/S. Archivos Tipo Directorios: estn almacenados en el disco con un formato especial y forman la columna vertebral del sistema de archivos. Este tipo de archivo solamente puede ser referenciado a travs de las llamadas al sistema especficas para directorios. Archivos Especiales: son archivos asociados con dispositivos perifricos, tales como impresoras o discos; o con mecanismos de comunicacin entre procesos, tales como pipes o sockets. Este tipo de archivo puede ser tambin accedido mediante las llamadas al sistema estndares de E/S.

Componentes de un Sistema Operativo


Un sistema operativo est formado por varios programas que en conjunto presentan al usuario una vista integrada del sistema, los componentes principales de un sistema operativo son los siguientes mdulos:

Administrador de procesos. (scheduler) Administrador de E/S. Administrador de la Memoria. Manejo del Sistema de Archivos.

1.2 CARACTERSTICAS DEL SISTEMA OPERATIVO GNU/Linux



Reutiliza el software, a travs de la combinacin de comandos simples en aplicaciones complejas. Portable: el mismo sistema operativo corre en un espectro de mquinas que van desde notebooks a supercomputadoras. Flexible: se adapta a muchas aplicaciones diferentes. Potente: dispone de muchos comandos y servicios ya incorporados. Multiusuario: atiende a muchas personas simultneamente. Multitarea: hace muchas cosas a la vez. Elegante: sus comandos son breves, coherentes, especficos para cada tarea y muy eficientes. Orientado a redes. Dispone de un estndar (POSIX) que debe cumplir todo sistema operativo que pretenda ser GNU/Linux, lo que asegura una evolucin predecible. Tiene muchas herramientas de software (compiladores, editores, utilitarios para muchas tareas).

1.3 OBJETIVOS, FILOSOFA, VENTAJAS Y DESVENTAJAS DE GNU/Linux Objetivos de GNU/Linux



Crear un sistema interactivo de tiempo compartido diseado por programadores y para programadores, destinado a usuarios calificados. Que fuera sencillo, elegante, escueto y consistente. Que permitiera resolver problemas complejos combinando un nmero reducido de comandos bsicos.

Filosofa del sistema GNU/Linux

Comandos cortos, simples, especficos y muy eficientes, que "hacen una sola cosa pero la hacen muy bien". Entrada y salida estandarizadas que permiten la interconexin de comandos. Esto se llama entubamiento ("pipelining"): la salida de un comando es tomada por el siguiente como entrada.

Ventajas de GNU/Linux

Multiusuario. Multitarea. Soporta acceso remoto. Soporte nativo de TCP/IP (Fcil conexin a Internet y otras redes). Contiene xFree86, que es una interfaz grfica de usuario basada en los estndares de X-Windows, y tambin es gratuita. Al instalar el sistema operativo, tambin se tiene la posibilidad de instalar varios programas, tales como: hojas de clculo, bases de datos, procesadores de texto, varios lenguajes de programacin, paquetes de telecomunicaciones y juegos. Cumple los estndares POSIX y de Sistemas Abiertos, esto es que tiene la capacidad de comunicarse con sistemas distintos a l. Existe mucha documentacin sobre ste.

Desventajas de GNU/Linux

Carencia de soporte tcnico. No ofrece mucha seguridad. Problemas de hardware, no soporta todas las plataformas, y no es compatible con algunas marcas especficas. No existe un control de calidad al momento de elaborar software para GNU/Linux, pues muchas veces las aplicaciones se hacen y se liberan sin control alguno. Es poco probable que aplicaciones para DOS y OS/2, se ejecuten correctamente bajo GNU/Linux. No hay forma segura de instalarlo sin reparticionar el disco duro. El reparticionar el disco duro, implica borrar toda la informacin del mismo y despus restablecerla. Se requiere experiencia y conocimiento del sistema para administrarlo, pues como es un sistema por lnea de comandos, estos poseen muchas opciones y en ocasiones es difcil realizar algunas tareas, que en otros sistemas operativos de red son triviales.

CAPTULO 2. INICIAR UNA SESIN EN GNU/Linux

2.1 ELEMENTOS BSICOS DE LA CUENTA DE UN USUARIO


GNU/Linux es un sistema operativo multitarea y multiusuario, por lo que se deben establecer ciertos mecanismos de acceso para proteger los datos de cada usuario y que puedan ser compartidos en caso necesario. GNU/Linux posee un mecanismo de permisos asociados a cada archivo. Este mecanismo permite que los archivos y directorios pertenezcan a un usuario en particular. Tambin permite que los archivos sean compartidos entre usuarios y grupos de usuarios. El comportamiento por defecto en la mayora de los sistemas es que todos los usuarios pueden leer los archivos de otro usuario, pero no pueden modificarlos o borrarlos. Cada usuario (perteneciente a un grupo de usuarios) tiene asociado un nombre, una palabra clave o password, un directorio propio (home) y un shell de inicio:

Nombre: Identificacin del usuario cuando entra en la mquina (login). Clave: Palabra oculta que solo conoce el usuario. UID, GID: Nmeros de identificacin de usuario y grupo, respectivamente. Directorio propio (home): Directorio inicial donde se situara el usuario al entrar en el sistema. Shell de inicio: Primer proceso que se arranca una vez dentro del sistema.

Existen diferentes categoras de usuarios en funcin de sus privilegios:

Superusuario o root (UID=0): Es el administrador del sistema. Tiene todos los privilegios. Usuarios normales: El resto de usuarios que pertenecen a distintos grupos, los cuales pueden tener una serie de propiedades comunes. Usuarios especiales: Asignados a tareas especificas por el sistema, generalmente de informacin o manejo de aplicaciones ya instaladas de uso comn a usuarios externos o internos.

2.2 ENTRADA AL SISTEMA


Who.-muestra los usuarios que estn actualmente en el sistema. Indica identificador de usuario, terminal en que est conectado, fecha y hora de ingreso al sistema. La sintaxis del comando es: who [opcion(es)] [archivo] [am i] Opciones del comando: -H nos muestra las cabeceras de las columnas -u nos muestra el tiempo que estuvo inactivo el terminal. -q muestra el nmero total de usuarios conectados. -r indica el nivel de ejecucin en que se encuentra el sistema. who am i .- da informacin sobre el usuario que est trabajando, indicando su mquina y nombre de usuario, terminal, fecha y hora. Id.- proporciona la identificacin del usuario invocante, dando el nombre de usuario y su nmero (UID), nombre de grupo primario y su nmero (GID), nombres de otros grupos a los cuales pertenece (si los hay) y sus nmeros. La sintaxis del comando es: id [opcion(es)] [nombre_de_usuario]

ls.-lista archivos del directorio actual. Sintaxis: ls [opciones] [archivo...] Opciones: -a Lista todos los archivos, incluyendo aquellos que comienzan con un .. -d Lista el nombre del directorio en vez de los archivos contenidos en l. -l Lista los archivos con mucho mas detalle, especificando para cada archivo sus permisos, el nmero de enlaces rgidos, el nombre del propietario, el grupo al que pertenece, el tamao en bytes, y la fecha de modificacin. -r Invierte el orden de listado de los archivos. -s Muestra el tamao de cada archivo en bloques de 1024 bytes a la izquierda del nombre. -t Lista los archivos ordenados por el tiempo de modificacin en vez de ordenarlos alfabticamente. -A Lista todos los archivos excepto el . y el ... -R Lista los contenidos de todos los directorios recursivamente. -S Ordena el listado por el tamao de los archivos.

Uname.- Indica nombre y versin del sistema operativo. Usado con la opcin -a muestra toda la informacin. Sintaxis: uname [opcion] Opciones: -r Muestra la versin completa del kernel del sistema. Hostname.-Es un alias o nombre que un administrador asigna a un equipo para identificarlo. TTY Sirve para comprobar el estado actual de la terminal y para cambiar la configuracin de la misma. Al ejecutarlo nos aparecer algo como esto: /dev/pts/0 STTY Permite fijar las opciones de una terminal. Sintaxis: stty [opciones]

-a Ver cules son las teclas programadas para cada funcin

2.3 CAMBIO DE CONTRASEA


La contrasea es un elemento de acceso que asegura la identificacin en el sistema de un usuario; Cuando el usuario desea cambiar su password, esto se hace por medio del comando passwd Passwd.-Este comando permite cambiar el password de acceso a una cuenta dentro de un sistema GNU/Linux. Para cambiar la contrasea en GNU/Linux se recomienda utilizar claves que incluyan nmeros y smbolos como @, #, $, &. Pasos para cambiar el password de un usuario en GNU/Linux: 1.-Teclear el Comando Passwd 2.-Teclea tu Password Actual 3.-Teclea tu nuevo Password 4.-Vuelve a Teclear tu nuevo Password

2.4 SALIDA DEL SISTEMA


Para salir del sistema existen los siguientes comandos: Comando exit.- termina la sesin con GNU/Linux. Las teclas Ctrl-D tambin terminan la sesin. Logout.- Es un comando que al igual que exit y CTRL-D, nos sirve para salir y terminar la sesin en nuestro sistema.

CAPTULO 3. COMANDOS BSICOS

3.1 SINTAXIS DE UN COMANDO


La estructura general de un comando en Linux es la siguiente: $ comando [ -opciones ] [ argumentos ]

nombre.- Es el nombre del comando. opciones o banderas.- controlan la forma en que acta el comando; van precedidas por el signo - (menos). argumentos son comnmente nombres de archivos o nombres de login de usuarios.

3.2 COMANDO ls
Este comando sirve para listar archivos. Su sintaxis es: ls [opciones] [archivo...]

Si se ejecuta ls sin argumentos, dar como resultado un listado de todos los archivos (incluyendo directorios) del directorio donde el usuario est posicionado. Sus opciones son: -a -d Lista todos los archivos, incluyendo aquellos que comienzan con un .. Lista el nombre del directorio en vez de los archivos contenidos en l.

-l Lista los archivos con mucho mas detalle, especificando para cada archivo sus permisos, el nmero de enlaces rgidos, el nombre del propietario, el grupo al que pertenece, el tamao en bytes, y la fecha de modificacin. -r -s -t -A -R -S Invierte el orden de listado de los archivos. Muestra el tamao de cada archivo en bloques de 1024 bytes a la izquierda del nombre. Lista los archivos ordenados por el tiempo de modificacin en vez de ordenarlos alfabticamente. Lista todos los archivos excepto el . y el ... Lista los contenidos de todos los directorios recursivamente. Ordena el listado por el tamao de los archivos.

Ejemplos: ls -la lista todos los archivos (ocultos y visibles) del directorio actual de manera detallada. ls -R lista todos los archivos de los directorios contenidos en el directorio actual recursivamente.

3.3 COMANDO cd
Este comando se usa para cambiar de directorio. Generalmente cuando el usuario inicia una sesin, el directorio donde comienza es su directorio personal. De ah uno puede moverse a los diferentes directorios donde se tenga acceso usando este comando. Su sintaxis es la siguiente: cd directorio

Ejemplos:

cd /etc/rc.d cambia del directorio actual al directorio /etc/rc.d

3.4 COMANDO cp
Este comando se utiliza para copiar archivos. Su sintaxis es la siguiente: cp [opciones] archivo-origen camino-destino cp [opciones] archivos-origen... directorio-destino

Entre las opciones ms relevantes, se tiene: -f -p -R -v -i Borrar los archivos de destino ya existentes. Preservar los permisos, el usuario y el grupo del archivo a copiar. Copia directorios recursivamente. Da informacin en pantalla sobre los archivos que se van copiando. Pregunta si sobreescribir archivos regulares destino existentes.

Ejemplos: cp archivo1 archivo2 copia el archivo1 al archivo2 cp -R directorio1 directorio2 copia un directorio y todo su contenido del directorio1 al directorio2

3.5 COMANDO mkdir


El comando mkdir (make directory) se utiliza para crear nuevos directorios. Su sintaxis es: mkdir [opciones] directorio... Sus opciones son las que siguen: -m modo (Establece los permisos de los directorios creados.) -p (Crea los directorios padre que falten para cada argumento directorio)

Ejemplos: mdkir usuarios crea el directorio llamado usuarios

3.6 COMANDO rm
El comando rm sirve para eliminar o borrar archivos. rm [opciones] archivo... Opciones: -f -r -v (No imprimir mensajes de error, ni pedir al usuario una confirmacin por cada archivo que se vaya a borrar.). (Borrar los contenidos de directorios recursivamente.) (Muestra el nombre de cada archivo eliminado.)

Ejemplos: rm archivo1 borra el archivo1 rm -r directorio1 borrar el directorio1

COMANDO rmdir
El comando rmdir (remove directory) se utiliza para borrar un directorio; pero antes de utilizar este comando se deben de borrar todos los ficheros que contenga (incluidos los ficheros invisibles), es decir, el directorio que se va a borrar tiene que estar vaco.

Ejemplo: rmdir alumnos borra el directorio vacio alumnos

3.7 COMANDO more


Este comando nos sirve como una utilidad de pgina. Un ejemplo en particular de cuando nos sirve este comando es, cuando la salida de un ls es demasiado larga, o la salida de dmesg o algn otro archivo con bastante informacin como los logs del sistema. Esto es porque los comandos no saben encajonar o dividir la informacin para ir vindola por partes. Su sintaxis es: more [opciones] [file ...]

Algunas de sus opciones son: -num especifica el nmero de lneas mostradas por pantalla

-d mostar un prompt al usuario con el siguiente mensaje [Presiona la barra espaciadora para continuar, 'q' para salir.] y desplegar [Presiona 'h' para instrucciones]. Sonar una campana cada que se presione un tecla desconocida. -f +/ +num muestra el contenido por pginas. especifica una cadena que ser buscada antes de que el archivo ser desplegado. comienza en la linea especificada

Ejemplos: more +2000 /var/spool/mail/root muestra el conternido del archivo '/var/spool/mail/root' a partir de la lnea 2000. ps -fea | grep more muestra la salida del comando ps listando los procesos actuales del sistema por pgina. more -30 /var/spool/mail/root muestra el contenido del archivo '/var/spool/mail/root' por pgina de 30 lneas cada una.

3.8 COMANDO date


Este comando tiene dos funciones: una es la de mostrar en pantalla la fecha del sistema (en varios formatos), la otra es la funcin de configurar la hora del sistema, pero para que esta funcionalidad se cumpla, se debe ejecutar el comando desde una sesin de root. La sintaxis de este comando es: date [opcin...] [+FORMAT] date [opcin] [MMDDhhmm[[CC]AA][.ss]]

FORMAT controla el formato con que se mostrar la fecha, algunas de las opciones de este argumento son:

%a (Da de la semana abreviado) %A (Da de la semana completo) %b (Nombre del mes abreviado) %B (Nombre del mes completo) %d (Da del mes) %m (Nmero de mes) %H (Hora, en formato 24h) %M (Minutos) %S (Segundos).

Ejemplos: date +%d muestra el dia del mes actual date +%a-%b muestra el dia de la semana y el mes actual abreviados y separados por un guin.

3.9 COMANDO mv
El comando mv mueve o renombra archivos o directorios. Su sintaxis es: mv [opciones] origen destino

Llamemos destino al archivo o directorio al cual se va a mover un archivo o directorio especificado. Si destino existe, mv pregunta al usuario si quiere reemplazar el archivo o directorio. Cuando tanto origen como destino estn en el mismo sistema de archivos, slo el nombre se cambia; el propietario, permisos y marcas de tiempo permanecen intactos. Cuando estn en sistemas de archivos diferentes, el archivo origen se copia con el nuevo nombre (destino) y luego se borra. mv copiar el tiempo de modificacin, el tiempo de acceso, el identificador del propietario y del grupo y los permisos. Sus opciones son: -f, --force Borra los archivos de destino existentes sin preguntar nunca al usuario. -i, --interactive Pregunta si se desean sobreescribir archivos de destino regulares existentes. Si la respuesta no es afirmativa, se pasa al siguiente archivo sin efectuar la operacin. -u, --update No mueve un archivo que tenga un destino existente con el mismo tiempo de modificacin o ms reciente. -v, --verbose Muestra el nombre de cada archivo antes de moverlo.

Ejemplos: mv bitacora instalacion renombra el archivo llamado bitacora a instalacion dentro del directorio actual. mv -i bitacora instalacion renombra el archivo llamado bitacora al archivo existente instalacion preguntando si se desea sobreescribir el archivo.

3.10 COMANDO tar


El comando tar copia archivo(s) o directorio ha un archivo comprimido, es decir, a un archivo que contenga todos los archivos especificados o bien, desempaqueta todos los archivos agrupados en l.

Su sintaxis es: tar [opciones] destino origen1...origenN

Llamemos destino al archivo o directorio en el cual se comprimiran los archivos (origen) especificados. Las opciones mas usadas son: -c --create crea un nuevo archivo empaquetado -t list lista el contenido del archivo empaquetado -x --extract --get extrae los arhivos de un archivo empaquetado -f, --file F usa un archivo para empaquetar -j, --bzip2 usa un archivo para empaquetar con formato bz2 -v, --verbose lista el proceso de empaquetado en pantalla -z, --gzip, --gunzip comprime los archivos especificados

Ejemplos: tar -cvf empaquetado.tar archivo1 archivo 2 directorio1 empaqueta los archivos archivo1, archivo2 y el directorio1 en un archivo empaquetado llamado empaquetado.tar tar -xvf empaquetado.tar desempaqueta el contenido del archivo empaquetado.tar tar -cvzf empaquetado.tar.gz archivo1 archivo 2 empaqueta y comprime los archivos archivo1 y archivo2 en un archivo llamado empaquetado.tar.gz tar -xvzf empaquetado.tar.gz desempaqueta y descomprime el contenido del archivo llamado empaquetado.tar.gz

3.11 COMANDO cat


Este comando concatena archivos o muestra el contenido de un archivo en la salida estandar. Su sintaxis es: cat [opciones] [archivo...]

Algunas de sus opciones son: -A, --show-all equivalente al la combinacin de -vET -b, --number-nonblank numera las lneas del archivo sin contar saltos de lnea. -e equivalente a la combinacin de -vE

-E, --show-ends muestra el signo de '$' al final de cada lnea -n, --number numera todas las lineas del archivo -t equivalente a la combinacin de -vT

-T, --show-tabs muestra los tabuladores contenidos en el achivo con ^I -u (ignorado)

--help muestra la ayuda del comando y sale --version muestra informacin de la version del comando y sale

Ejemplos: cat -A /var/spool/mail/root muestra el contenido del archivo '/var/spool/mail/root' colocando el signo de '$' al final de cada linea. cat -nb /var/spool/mail/root muestra el contenido del archivo '/var/spool/mail/root' numerando solamente las lneas que no contienen saltos de lnea.

3.12 COMANDO ps
El comando ps muestra los procesos que se encuentran activos. Por default, ps selecciona todos los procesos activos asociados al identificador del usuario actual (EUID) y asociado a la misma terminal que invoc. Despliega el identificador del proceso (PID), la terminal asocia con el proceso (TTY), el tiempo de CPU acumulado en el fomato [dd-]hh:mm:ss y el nombre ejecutable del proceso (CMD) . Su sintaxis es: ps [opciones]

Algunas de sus opciones son: -A -a seleciona todos los procesos. Identico a la opcin -e. selecciona y muestra todos los procesos excepto los no asociados con la terminal

-C cmdlist selecciona los procesos dados por el nombre del proceso ejecutable. -G grplist selecciona los procesos de acuerdo al identicador de grupo (RGID) indicado. Identifica el grupo del usuario quien cre el proceso. -U userlist selecciona los procesos de acuerdo al identificador del usuario (EUID)quien hace uso del proceso.

Ejemplos: ps -U admin muestra los procesos asociados al usuario admin ps -fea muestra todos los procesos actuales con todas sus caractersticas: UID,PID,TTY,TIME,etc.

3.13 COMANDO grep


Este comando muestra la lneas coincidentes con el patrn de bsqueda. Busca el archivo especificado y muestra las lneas que contienen el patrn dado. Su sintaxis es: grep [opciones] [patrn] archivo

Algunas de sus opciones son:

-e PATTERN, --regexp=PATTERN muestra las lineas que contienen el patrn especificado. Esta opcion se usa especialmente para patrones que comienzan con un guin '-'. -R, -r, --recursive lee todos los archivos bajo los directorios de manera recursiva. Ejemplos: grep -e -mail /var/spool/mail/root muestra todas las lneas contenidas en el archivo '/var/spool/mail/root' que contengan el patrn -mail grep mail* /var/spool/mail/root muestra todas las lneas contenidas en el archivo '/var/spool/mail/root' que contengan una palabra que comience con mail.

3.14 COMANDO find


El comando find, realiza bsquedas de archivos jerrquicamente. El comando find busca en un rbol de directorios el nombre del archivo especificado en cada uno de ellos, evaluando la expresion de izquierda a derecha, entregando la ruta completa de la ubicacin del archivo a directorio especificado. Su sintaxis es: find [ruta] [test] [expresion]

Algunos de los tests son: -amin n archivos que han sido accesados n minutos atrs. -atime n archivos que fueron accesados n-24 horas atrs. -cmin n archivos que cambiaron su estado n minutos atrs -ctime n archivos que cambiaron n-24 horas atrs. -mmin n archivos que moficaron su contenido n minutos atrs. -mtime n archivos que fueron modificados n*24 horas atrs. -name patron archivos cuyo nombre coincide con el patrn especificado. -size n[cwbkMG] archivos con n unidades de espacio ocupados. Los siguientes sufijos pueden ser usados: b c w k M G por bloques de 512-bytes (opcion por default) por bytes por palabras de 2 bytes por Kilobytes (unidades de 1024 bytes) por Megabytes (unidades de 1048576 bytes) por Gigabytes (unidades de 1073741824 bytes)

Ejemplos: find -size 6M lista todos los archivos a partir del directorio actual con un peso aproximado de 6 Megas. find / -name calificaciones -print lista todos los archivos encontrados en el sistema que se llamen calificaciones.

3.15 COMANDO zip


El comando zip comprime y empaqueta archivos y directorios. Su sintaxis es: zip [opciones] [archivos...]

Algunos de sus comandos son: -b path usa la ruta especificada para crear el archivo zip -d borra los archivos especificados desde el archivo zip.

Por ejemplo: zip -d alumnos.zip alumnos/calificaciones/juan alumnos/fotos/\*

borrar el achivo alumnos/calificaciones/juan y todos los archivos dentro de alumnos/fotos contenidos en el archivo comprimido alumnos.zip. -r comprime todos los archivos y caperta recursivamente.

Ejemplos: zip -r cursos.zip cursos comprime todos los archivos y directorios contenidos en cursos dentro de un archivo llamado cursos.zip zip pruebas.zip examen1.doc usuarios.txt promedios.xls comprime los archivos examen1.doc usuarios.txt promedios.xls dentro del archivo pruebas.zip

3.16 COMANDO unzip


El comando unzip lista, comprueba y extrae archivos comprimidos en un archivo zip dentro del directorio actual. Su sintaxis es: unzip [-Z] [-cflptTuvz[abjnoqsCKLMVWX$/:]] archivo[.zip] [archivo(s) ...] [-x xarchivo(s) ...] [-d exdir]

archivo[.zip] nombre del archivo que contendr los archivos comprimidos en zip. [archivo(s)] parmetro opcional que especifica una lista de archivos a comprimir [-x xarchivo(s)] parmetro opcional que especifica una lista de archivo a ser excluidos de la compresion. [-d exdir] parmetro opcional que especifica el directorio donde se extraern los archivos comprimidos. -f actualiza los archivos existentes, por ejemplo, extrae aquellos archivos que existen en disco y que son ms recientes que la copia en disco. -l -v lista los archivos contenidos el en zip. lista los archivos contenidos en el zip de forma detallada.

Ejemplos: unzip Bitacoras.zip -d /tmp extrae los archivos contenidos en Bitacoras.zip dentro de la ruta /tmp unzip Bitacoras.zip extrae los archivos contenidos en Bitacoras.zip dentro del directorio actual

Comando du.
Funcin: Informa el espacio que ocupa un archivo. Sintaxis: du [-opciones] [argumentos]

Opciones: -h (Formato humano) convierte los valores obtenidos a megabytes. -s Genera un total por cada argumento.

Ejemplos: Para calcular el espacio que ocupan dos directorios: du -hs directorio1 directorio2 Calculo del espacio que ocupa el directorio actual: du -hs Identificacin de archivos en el direcotrio actual ordenndolos de menor a mayor por tamao: du -hs * | sort n

Comando man.
Funcin: muestra el manual, paginado con el comando more, para el comando que se le indique como argumento, est ordenado por secciones: funcin del comando, sintaxis, opciones, ejemplos, comando relacionados. Sintaxis: man [comando]

Comando df.
Funcin: Informa el uso de disco. Sintaxis: df [-opciones] [sistema de archivos]

Opciones: -h (Formato humano) convierte los valores obtenidos a megabytes. Salida:

Primera columna: Sistema de archivos, dispositivo asociado al sistema de archivos. Segunda columna: Tamao del sistema de archivos. Tercera columna: Espacio ocupado del sistema de archivos. Cuarta columna: Espacio disponible en el sistema de archivos. Quinta columna: Nivel de saturacin del sistema de archivos expresado procentualmente. ltima columna: Punto de montaje para el dispositivo asociado al sistema de archivos.

Comando su.
Funcin: Permite el acceso a un shell con privilegios de otro usuario. Idealmente, los permisos en el sistema se configuran de modo que este comando solicite autentificacin a travs de contrasea. Sintaxis: su [-opcin] [-usuario] [argumento]...

Opciones: -c permite invocar un comando con privilegios de otro usuario. -l, - invoca un shell para el nuevo usuario indicado como argumento. Ejemplos: Para invocar un shell con privilegios del usuario administrador su administrador Para ejecutar un comando con privilegios de otro usuario: su - root -c df

Comando tail.
Funcin: Por omisin muestra las ltimas 10 lneas del archivo que recibe de la entrada estndar. Sintaxis: tail [-#] archivo

Opciones:

-c, -bytes=n

Obtiene los ltimos n bytes de un archivo.

-n

Extrae las ltimas n lneas de un archivo.

-f

Abre en forma interactiva un archivo, muestra las ltimas 10 lneas y mantiene abierto el archivo, imprimiendo cada nueva lnea que se le agrega.

Ejemplos: Anlisis interactivo de una bitcora de aplicacin: tail -f /var/log/apache.log Revisin de las ltimas 5000 lneas de un archivo: tail -5000 archivo | more

Comando useradd.
Funcin: Crea un nuevo usuario en el sistema. Sintaxis: useradd [-opciones] login

Opciones: -d Permite indicar el directorio hogar para el nuevo usuario. -m Crea el directorio hogar para el usuario. -s Define el shell que atender por omisin al usuario. -u Indica el nmero identificador del usuario en el sistema. -g Indica el nmero identificador del grupo del usuario en el sistema. Combinacin de opciones: useradd -d /home/usuario1 -m -s /bin/bash -u 504 -g 503 usuario1

Comando adduser
Funcin: Crea un nuevo usuario en el sistema de forma interactiva.

Comando uname.
Funcin: Informa sobre las caractersticas del sistema. Sintaxis: uname [-opciones]

Opciones: -s Sistema operativo. -p Tipo de procesador. -r Versin del kernel. -a Imprime toda la informacin.

Comando wall.
Funcin: Enva mensajes a todas las terminales del sistema. Sintaxis: wall mensaje

Para enviar el mensaje usamos la combinacin de teclas ^D Ejemplo: wall El sistema se apagar en 10 minutos ^D

CAPTULO 4. DISTRIBUCIN DE LA INFORMACIN.

4.1 SISTEMAS DE ARCHIVOS (/etc, /var, /bin, /sbin, /tmp, /lib, /dev, etc)
GNU/Linux es un sistema operativo en el que la organizacin de los archivos es jerrquica, organizada en directorios, presentando una estructura en forma de rbol, en donde los directorios son ramas y los archivos hojas. El directorio raz (/) es el directorio principal, del que cuelgan subdirectorios, de los que a su vez cuelgan otros directorios o subdirectorios. Un sistema de archivos es equivalente a una unidad lgica en MSDOS, pero mientras en DOS se referencia automticamente con una unidad (por ejemplo c: ), en GNU/Linux es necesario montarla (hacerla accesible).

Cmo montar un sistema de archivos en GNU/Linux?

Montar un sistema de archivos consiste en asignar un directorio, o punto de montaje, a la unidad lgica. El montaje de un sistema de archivos se realiza con el comando mount, y el desmontaje con el comando umount. Ambas tareas solo son realizables, en principio, por root.

mount Dispositivo Directorio Monta el Dispositivo en el directorio especificado. mount Muestra los dispositivos montados. umount Directorio Desmonta el Directorio especificado.

Entre los sistemas de archivos ms comunes en GNU/Linux tenemos:

/: Sistema de archivos raz.

/home : Sistema de archivos para ubicacin de los directorios de usuario. /tmp : Sistema de archivos para temporales. Puede estar ubicado en memoria RAM (disco RAM), con lo que el acceso ser ms rpido. /usr : Sistema de archivos para archivos ejecutables, documentacin, referencia. /var : Sistema de archivos para logs, auxiliares, archivos que crecen.

Entre los directorios ms comunes en GNU/Linux tenemos:

/ : directorio raz. De l cuelgan todos los dems directorios. /bin : archivos ejecutables, comandos de usuario. /cdrom : punto de montaje de CD. /dev : archivos de dispositivos (discos, terminales, etc.). /etc : archivos de configuracin, administracin e informacin del sistema. /floppy : punto de montaje de disquetes. /home : archivos de usuarios. /lib : archivos de bibliotecas de desarrollo y material de apoyo. /lost+found : archivos perdidos. /mnt : punto de montaje de dispositivos externos. /sbin: archivos ejecutables de administracin. /tmp : Archivos temporales o zona de trabajo de algunos programas GNU/Linux. /usr : archivos ejecutables, documentacin, referencia. /var : archivos logs y auxiliares.

4.2 NAVEGACIN EN LOS SISTEMAS DE ARCHIVOS


El sistema de archivos de GNU/Linux es un sistema jerrquico en el cual podemos movernos dentro de l, a travs de sus directorios y archivos. Comandos tiles para Navegar dentro del Sistema de Archivos de GNU/Linux

Crear un Directorio: mkdir {nombre del directorio}.

Posicionarnos dentro de un directorio cd {nombre del directorio}.

Moverse de un directorio a otro cd {nombre del directorio}.

Para saber en que lugar del rbol de directorios estamos utilizamos el comando: pwd

Trayectoria

La trayectoria (path) de un archivo o directorio indica cmo llegar a ste a partir de un directorio dado. Ruta Absoluta: es el camino absoluto que muestra toda la ruta para llegar a un archivo o directorio

Ejemplo: /home/documentos/Carta.txt Aqu tenemos toda la ruta para llegar a nuestro archivo Carta.txt, que est dentro del directorio documentos, el cual a su vez esta dentro del directorio home. Ruta Relativa: es el camino relativo que muestra solo parte de la ruta para llegar a un archivo o directorio.

Ejemplo: /documentos/Carta.txt

Directorios Especiales: Todos los directorios contienen dos directorios especiales en GNU/Linux:

El directorio actual, representado por el punto .

El directorio padre representado por dos puntos ..

Un ejemplo en donde utilizamos los directorios especiales es el siguiente: Estando en el directorio /home/alumnos se puede acceder a Carta.txt con solo teclear /home/documentos/Carta.txt (path absoluto) o bien tecleando ../documentos/Carta.txt (path relativo). Directorio Hogar y Directorio de Trabajo de los Usuarios en GNU/Linux: Cada vez que se crea una cuenta para un usuario nuevo, se le asigna un directorio (el directorio hogar). El directorio hogar (home directory o login directory) es el directorio donde est el usuario cuando se conecta al sistema. /home Al directorio donde en un momento dado se encuentra el usuario se le llama el directorio de trabajo (working directory o current directory). Cmo regresarse al directorio home? La manera ms sencilla para regresar al directorio home es simplemente usando el comando cd sin ningn argumento.

PRCTICA
1. Conectarse al servidor y crear los siguientes directorios: RutaRelativa

RutaAbsoluta

2. Cambiarse al directorio RutaAbsoluta utilizando el siguiente comando: cd RutaAbsoluta

3. Ejecutar el comando PWD: pwd

4. Verifica la salida del comando. Lo que ves es la ruta absoluta del directorio.

5. Cambiate al directorio RutaRelativa que creaste, utilizando el siguiente comando: cd ../RutaRelativa

6. Ahora te encuentras dentro del directorio RutaRelativa y te cambiaste a l haciendo uso de una ruta relativa (../RutaRelativa).

7. Puedes verificar el contenido del directorio padre haciendo uso de rutas relativas. Ejecuta el siguiente comando: ls l ..

CAPTULO 5. ATRIBUTOS DE LOS ARCHIVOS

5.1 TIPOS DE ARCHIVOS


Archivos Ordinarios: Son un conjunto de datos almacenados en memoria secundaria. Directorios (o carpetas), es un archivo especial que agrupa otros archivos de una forma estructurada. Archivos especiales: Son la base sobre la que se asienta LINUX, puesto que representan los dispositivos conectados a un computadora (Impresoras, Discos magnticos, Disquetes Cintas magnticas, Terminales, etc.). Hay dos tipos de archivos especiales:

o o

En Modo Bloque: aquellos que contienen bloques de bytes. Por ejemplo los discos duros o los disquetes. En Modo Carcter: aquellos que permiten el acceso a los dispositivos como secuencias o flujos continuos de bytes. Por ejemplo una terminal o una impresora.

FIFO o PIPES Es similar a un archivo ordinario. La diferencia es que cuando se lee un dato de el, se borra y ya no podr ser ledo. Tambin se conocen como tuberas con nombre (named pipes). Enlaces o Ligas (Rgidos y Simblicos)

o o

Enlace rgido: No es una clase de archivo, slo un segundo nombre. Se usa generalmente cuando dos usuarios necesitan compartir la informacin de un archivo de forma consistente. Enlace simblico: Un enlace simblico es un archivo que slo contiene el nombre de otro archivo, de tal modo que pueden emplearse para asignar mas de un nombre a un archivo o directorio.

Los enlaces o ligas de ambos tipos finalmente son archivos y se pueden tratar como tal, borrarlos, cambiarles los permisos, etc. Sin embargo, es conveniente aclarar que si se crea y despus borra una liga tanto rgida como simblica el archivo origen no ser afectado; para el caso de que se borre el archivo origen la liga dura sigue existiendo, pero en el caso de la liga simblica si se borra el archivo origen esta tambin deja de existir.

5.2 COMANDOS PARA CONOCER Y CAMBIAR LOS ATRIBUTOS DE UN ARCHIVO 5.2.1 COMANDO ls
$ ls [opciones][archivo(s)] : permite ver los archivos que hay en un directorio. Opciones:

-a (para ver archivos ocultos). -F (se identifican los tipos de archivos menos los de dispositivos). -R (muestra el contenido de los directorios recursivamente). -l (indica los archivos que se quieren visualizar en formato largo: una lnea completa por cada archivo).

Ejemplo de la utilizacin del comando ls con la opcin l: $ ls l total 1 -rw-r--r-- 1 prueba usuarios 170 mar 26 18:17 README

El formato de esta opcin es el siguiente: <-rw-r--r-->< 1>< prueba>< usuarios>< 170>< mar 26 18:17>< README> < modo>< enlaces>< propietario>< grupo>< tamao>< fecha>< nombre>

< modo>Es un conjunto de 10 caracteres, el primero de ellos indican el tipo de archivo del que se trata y los siguientes 9 los permisos del archivo. Los permisos se explicn ms adelante, el tipo de archivo puede ser:

- archivo regular d directorio l enlace simblico b dispositivos de modo bloque e dispositivos de modo carcter

< enlaces> indica el nmero de enlaces de tipo Liga Dura que tiene el archivo. Indica por tanto desde cuantos sitios se puede acceder a ese archivo. Si el archivo es de tipo directorio, este campo es el nmero de subdirectorios+2. < propietario> contiene el nombre del dueo del archivo. < grupo> indica el grupo al que pertenece el propietario. < tamao> indica el tamao del archivo en bytes. < fecha> indica la fecha y hora de creacin o de ltima actualizacin del archivo. < nombre> indica el nombre del archivo por el que le identificamos en el sistema.

5.2.2 Comando ln
Este comando sirve para establecer enlaces entre archivos. Un enlace puede ser rgido o simblico

Enlace rgido es aquel en el cual se puede dar otro nombre a un mismo archivo (nicamente para el mismo sistema de archivos, por ejemplo en /home). Enlace simblico es aquel en el cual se pueden enlazar directorios y archivos an de diferentes sistemas de archivos.

La sintaxis del comando ln es: ln [opciones] origen [destino] ln [opciones] origen... directorio Sus opciones son: -d (Permite al super-usuario hacer enlaces rgidos a directorios). -s (Crear enlace simblico). -f (Borrar los archivos de destino que ya existen).

Ejemplo de la utilizacin del comando ln para crear un enlace simblico: $ ln -s mbox correo Si hacemos un listado largo a travs del comando ls l veremos algo como lo siguiente: lrwxrwxrwx 1 usuario grupo 4 abr 1 14:07 correo -> mbox la liga correo est apuntando al archivo mbox

5.3 PERMISOS DE LOS ARCHIVOS Y DIRECTORIOS EN GNU/Linux


En GNU/Linux hay tres tipos de usuarios que pueden acceder a un archivo: propietario, grupo y resto de usuarios. Cada uno de ellos puede tener los tres tipos de permisos que hay sobre archivos: lectura (r), escritura (w) y ejecucin (x). Los usuarios se clasifican como:

Usuario (u): El propietario del fichero. Grupo (g): El grupo al que pertenece el fichero. Otros (o): El resto de los usuarios del sistema

Los permisos se clasifican como:

Leer (read = r) Escribir (write = w) Ejecutar (execute = x)

Acceso

Archivo

Directorio

Ver el contenido

Listar el contenido

Modificar el contenido

Crear/eliminar archivos

Ejecutar

Entrar en el directorio

Modo Octal Existe otra manera en que se pueden especificar los permisos de archivos: los bits r, w y x tienen asignados un numero, proveniente de la notacin binaria que se utiliza para almacenarlos como bits propiamente tal:

Read=

Write=

eXecute=

Ahora es posible utilizar nmeros, que son la suma de los distintos bits de permisos. La combinacin de bits encendidos o apagados en cada grupo da ocho posibles combinaciones de valores, es decir la suma de los bits encendidos:

---

=0

no se tiene nungn permiso

--x

=1

solo permiso de ejecucin

-w-

=2

solo permiso de escritura

-wx

=3

permisos de escritura y ejecucin

r--

=4

solo permiso de lectura

r-x

=5

permisos de lectura y ejecucin

rw-

=6

permisos de lectura y escritura

rwx

=7

todos los permisos establecidos, lectura, escritura y ejecucin

Cuando se combinan los permisos del usuario, grupo y otros, se obtienen un nmero de tres cifras que conforman los permisos del archivo o del directorio. Ejemplo: Si deseamos otorgar slo permiso de lectura, el cdigo a utilizar es el 4. Si deseamos otorgar slo permiso de lectura y ejecucin, el cdigo es el 5. Si deseamos otorgar slo permiso de lectura y escritura, el cdigo es el 6. Si deseamos otorgar todos los permisos, el cdigo es el 7. Si deseamos quitar todos los permisos, el cdigo es el 0.

Cuando se crea un directorio, los permisos asignados son, rwxr-xr-x, o sea:

Usuario: leer, escribir y ejecutar Grupo: leer y ejecutar Otros: leer y ejecutar

Cuando se crea un archivo, los permisos asignados son, rw-r--r--, o sea:

Usuario: leer y escribir Grupo: leer Otros: leer

5.3.1 MODIFICACIN DE PERMISOS


Para cambiar los permisos de un archivo o directorio, se utiliza el comando chmod (CHange MODe, cambiar modo). Es necesario ser el usuario propietario del archivo, o root, para cambiar sus permisos. La sintaxis del comando chmod es la siguiente: #chmod [opciones] permiso nombre_archivo_o_directorio

Opciones: -R cambiar los permisos a los archivos y directorios de manera recursiva. Un ejemplo de chmod se muestra a continuacion: # chmod u-x,g+w,o+rw archivo Este comando elimina el permiso de ejecucin para el usuario, coloca el bit de acceso a escritura para el grupo y da a todos los dems acceso de lectura y escritura. Con el modo octal, es posible utilizar nmeros, que son la suma de los distintos bits de permisos. Por lo tanto el comando chmod ahora se convierte en: chmod xyz archivo

donde x, y y z son nmeros que representan los permisos del usuario, grupo y otros, respectivamente. Cada nmero es la suma de los permisos a colocar y se calculan como se indic anteriormente. Ejemplo de chmod con modo octal: # chmod 644 archivo 6 = 4 + 2 = rw 4=r 4=r

5.3.2 MODIFICACIN DE PROPIETARIO Y GRUPO


Para cambiar el dueo del archivo se utiliza el comando chown (CHange OWNer, cambiar propietario). Al igual que en el caso anterior, es necesario ser el usuario propietario o root para poder hacer esto: La sintaxis del comando chown es la siguiente: # chown nuevo_usuario[.nuevo_grupo] nombre_archivo

Ejemplo de la utilizacin del comando chown:

# chown jperez constancia Lo que asigna a jperez como propietario del archivo constancia. Para cambiar el grupo, se utiliza el comando chgrp (CHange GRouP, cambiar grupo); igual, es necesario ser el propietario del archivo, o ser root. Sintaxis: # chgrp [opciones] nuevo_grupo [archivo1][archivo2]

Opciones: -R -v -c cambia de forma recursiva la propiedad de los directorios y sus contenidos describe en detalle los cambios de propiedad. describe con detalle slo los cambios cuya propiedad cambia.

Ejemplo de la utilizacin del comando chgrp: # chgrp usuarios constancia Esto coloca al grupo usuarios como el perteneciente al archivo constancia. Tambin es posible cambiar simultneamente el usuario propietario y el grupo de un archivo a travs del comando chown, separndolos por uno o dos puntos: # chown jperez.usuarios constancia # chown jperez:usuarios constancia Lo que asigna a jperez como propietario y a usuarios como grupo del archivo constancia.

6. EDITORES.

6.1 EDITOR DE PANTALLA VI


El editor vi es un editor de pantalla completa. De forma similar a ed, el editor vi siempre trabaja con una copia del fichero que se edita, que l mismo se encarga de mantener en un buffer. Los cambios realizados sobre el fichero solo se graban cuando se invoca algn comando de grabacin. Para invocar el editor vi se hace mediante: vi fichero. Si el fichero existe lo carga en el buffer de trabajo. Adems, la orden para invocar el editor vi tiene una serie de opciones, las ms importantes son:

r (Cada cierto tiempo 'vi' salva el buffer de edicin en disco. De forma que si se produce cualquier fallo en el sistema, siempre se encontrar una copia reciente del fichero que se editaba). R (Indica que solo se editar el archivo para consulta. No permitindose realizar cambio alguno sobre la informacin.). wn (Normalmente 'vi' utiliza la pantalla completa como ventana de edicin. Mediante esta opcin se podr alterar el tamao de la ventana de edicin a un nmero de lneas determinado por n).

Podemos utilizar la opcin + , que permite entrar en el vi en la lnea que le indiquemos. Por ejemplo: Vi +7 fichero Editar el fichero indicado y tomar como lnea actual la 7. Vi +$ fichero Editar el fichero indicado y tomar como lnea actual la ltima lnea del fichero. Vi +/cadena fichero Editar el fichero indicado y tomar como lnea actual la primera lnea que contenga la cadena indicada.

El editor vi tiene tres modos de trabajo diferente: El modo de insercin, el de edicin y el de comandos. Modo de Insercin. En el modo de insercin, toda la entrada que demos en el teclado se inserta en el archivo en el punto donde se encuentre el cursor. Modo de Edicin. En el modo de edicin daremos instrucciones que alteran el contenido, como por ejemplo para posicionarse en determinado punto, hacer reemplazos de texto, copiar o mover, bloques de texto, etc. Modo de Comandos. En el modo comandos se dan instrucciones para salvar el archivo, traer a edicin otro, insertar otro archivo en el punto donde se est, terminar la edicin, etc.

En el modo edicin, las instrucciones para mover el cursor en el texto son:

Instrucciones Suplementarias:

anular la ltima instruccin dada

realiza una bsqueda hacia adelante

realiza una bsqueda hacia atrs

busca la siguiente ocurrencia de la ltima bsqueda

repite la ltima instruccin

copia una lnea de texto

ndd

borra n nmero de lneas

nyy

copia n nmero de lneas

P (mayscula)

pega texto colocandose en la lnea de arriba

pega texto colocandose en la lnea de abajo

ZZ (maysculas)

salva el archivo y termina la edicin


cancela una orden

ESC

se cambia a modo comandos

Comandos para modo insercin:

cambia a modo insercin y se coloca en el estado actual del cursor.

cambia a modo insercin y se coloca al inicio de la lnea donde se encuentra en cursor.

o (minscula)

cambia a modo insercin e inserta una lnea en blanco abajo de la posicin del cursor.

cambia a modo insercin e inserta una lnea en blanco arriba de la posicin del cursor.

a (minscula)

cambia a modo insercin y se coloca una posicin despus donde se encuentra el cursor.

cambia a modo insercin y se coloca al final de la lnea donde se encuentra el cursor.

CAPTULO 7 .- COMANDOS BSICOS DE RED

7.1 COMANDO who


El comando who nos da informacin sobre quin est conectado en el sistema. La sintaxis del comando es: who [opciones] [archivo] [am i] Opciones:

-H nos muestra las cabeceras de las columnas: -u nos muestra el tiempo que estuvo inactivo el terminal. -q muestra el nmero total de usuarios conectados.

7.2 COMANDO w
El comando w nos indica lo que est haciendo cada usuario. Sintaxis: $ w La informacin que aparece al ejecutar este comando es:

USER usuario. TTY terminal en el que est conectado el usuario. FROM desde donde est conectado el usuario.

LOGIN@ hora en la que empez la sesin. IDLE tiempo que el usuario ha permanecido inactivo. JCPU tiempo total de CPU para todos los procesos en el terminal. PCPU tiempo total de CPU para todos los procesos activos en el terminal. WHAT comando que est siendo ejecutado en el terminal.

7.3 COMANDO write


El comando write se utiliza para enviar un mensaje a un usuario conectado al sistema. Por defecto el mensaje se enva a la ltima terminal donde se haya conectado el usuario. Los usuarios pueden deshabilitar la posibilidad de recibir mensajes utilizando el comando mesg. Sintaxis: write < usuario> [terminal]

7.4 COMANDO wget


Comando que nos permitir bajarno webs enteras archivos de internet proporcionando una direccin. Sintaxis. $ wget [option] [URL] Ejemplo: $ wget http://www.servidor.com/archivo.zip

7.5 COMANDO ssh


El comando ssh ofrece comunicacin encriptada y segura entre dos sistemas sobre una red no segura. Este comando reemplaza al telnet, rlogin, rsh. Sintaxis: ssh usuario@direccion-servidor Ejemplo: $ ssh admin@132.248.39.23

7.6 COMANDO scp


El comando scp permite copiar archivos entre dos mquinas. Utiliza ssh para la transmisin de la informacin, por lo que ofrece la misma seguridad que el ssh (conexin segura y encriptada). De la misma manera utiliza los mtodos de autenticacin de ssh. Este comando reemplaza al rcp, ftp. La sintaxis general para transferir un fichero local a un sistema remoto es: scp localfile username@tohostname:/newfilename. El parmetro localfile especifica el origen o procedencia y el grupo de username@tohostname:/newfilename especifica el destino. Ejemplo: $ scp archivo1.txt admin@132.248.23.20

7.7 .COMANDO nslookup


El comando nslookup nos sirve para averiguar la direccin IP de un servidor o un nombre de dominio en un DNS, dndole como argumento un nombre de dominio si queremos saber la ip del mismo u viceversa.

Sintaxis: [admin@aldebaran ~]$ nslookup [IP Nombre de dominio] Ejemplo: [admin@aldebaran ~]$ nslookup www.hotmail.com Server: 132.248.204.1 Address: 132.248.204.1#53 Non-authoritative answer: www.hotmail.com canonical name = www.hotmail.com.nsatc.net. www.hotmail.com.nsatc.net canonical name = www.hotmail.aate.nsatc.net. Name: www.hotmail.aate.nsatc.net Address: 165.193.120.166

7.8 COMANDO ping


Este programa nos indica el tiempo exacto que tardan los paquetes de datos en ir y volver a travs de la red desde de una maquina a otra remota. Este comando es uno de los primeros a los que acudimos cuando queremos verificar que un servidor est saliendo a red, le mandamos un ping. Sintaxis: $ ping [IP Nombre de dominio]

Ejemplo: $ ping 132.240.38.12

7.9 COMANDO netstat


El comando netstat nos permite conocer las conexiones de red establecidas entre nuestra mquina y una remota, el puerto por el cual se estn comunicando, las tablas de ruteo, estadsticas de interfaces y conexiones enmascaradas. Este comando cuenta con un gran nmero de opciones y cada una de ellas nos servir para conocer un aspecto del uso de la red distinto. Unas de las opciones ms comunes para este comando son t, u, p, a y n, todas ellas en conjunto nos muestran las conexiones de nuestro servidor a otra mquina, el protocolo utilizado, la direccin local, la externa y si se encuentra escuchando el puerto o en espera. Ejemplo:

7.10 COMANDO traceroute


Traceroute es una herramienta de diagnstico de redes que permite seguir la pista de los paquetes que van desde un host (punto de red) a otro. Se obtiene adems una estadstica del RTT o latencia de red de esos paquetes, lo que viene a ser una estimacin de la distancia a la que estn los extremos de la comunicacin. Ejemplo:

7.11 COMANDO ifconfig


Ifconfig es una utilidad de lnea de comandos que permite obtener y configurar las interfaces de red de un equipo. Si no se proporcionan argumentos, ifconfig muestra el estado de las interfaces de red que se encuentran activas. Si se proporciona una interfaz como argumento, ifconfig muestra el estado de dicha interfaz. Si se utiliza con la opcin -a, muestra el estado de todas las interfaces, incluso aquellas que se encuentren desactivadas. Por lo regular lo usaremos cuando necesitemos saber la ip de una mquina, para este propsito el comando no necesita argumentos. Es importante resaltar que este comando solo lo puede ejecutar el usuario root o algun otro con privilegios de administracin. sintaxis: ifconfig netmask broadcast up

CAPTULO 8.- CORREO ELECTRNICO


Qu es el correo electrnico? El correo electrnico es casi probablemente el servicio ms til para muchos de los usuarios de Internet, permitiendo intercambio de informacin casi instantneamente. Este servicio consiste, dicho de una manera sencilla, en el envo de un bloque de informacin de texto (aunque puede llevar incluida informacin multimedia o en general cualquier otro fichero adjunto) de un remitente a un destino, de igual modo que el correo convencional. Hay ya una gran cantidad de programas de transporte de correo, uno de los ms conocidos es sendmail, desarrollado por Eric Allman en la Universidad de California, en Berkeley. Actualmente este programa se ofrece como el agente de correo estndar en algunas distribuciones de GNU/Linux. Qu es un mensaje de correo? Un mensaje de correo consta de un cuerpo, que es el texto que ha escrito el remitente, y datos especiales que especifican el destinatario o destinatarios, el medio de transporte, entre otros elementos.

8.2. Coleccin de cabeceras y campos comunes de un correo electrnico en LINUX



From: Contiene la direccin de correo electrnico del remitente, y posiblemente el nombre real. Aqu se usa un zoolgico completo de formatos distintos. To: Esta es la direccin de e-mail del destinatario. Si hay varias direcciones se separan por comas.

Cc: Esta es una lista de las direcciones de correo que recibirn una copia de carbn del mensaje. Si hay varias direcciones, se separan por comas. Bcc: Esta es una lista de las direcciones de correo que recibirn una copia de carbn ciega del mensaje. La diferencia principal entre Cc: y Bcc: es que las direcciones listadas en el Bcc: no aparecern en la cabecera del mensaje que se enva a cada destinatario. Es una forma de avisar a los destinatarios de que usted ha enviado copias del mensaje a otras personas, sin decir quines son. Si hay varias direcciones, se separan por comas. Subject: Describe el contenido del mensaje en pocas palabras. Date: Indica la fecha y hora en que se envi el mensaje.

Reply-To: Especifica la direccin a la que el remitente desea que el destinatario le conteste. Esto puede ser til si se tienen varias direcciones, pero se desea recibir la mayor parte del correo slo en aquella que se usa ms a menudo. Este campo es opcional. Organization: La organizacin que posee la mquina desde la que se ha enviado el mensaje. Si la mquina usada es la suya propia no incluya este campo, o bien indique privado o cualquier trivialidad sin sentido. Este campo no est descrito en ningn RFC y es completamente opcional. Algunos programas de correo lo soportan directamente, pero la mayora no. Message-ID: Una cadena generada por el transporte de correo en el sistema remitente. Es nica para cada mensaje. Received: Cada anfitrin que procesa su correo (incluyendo las mquinas del remitente y el destinatario) insertan este campo en el encabezado, dando el nombre del anfitrin, una identificacin de mensaje, hora y fecha a la que lo recibieron, de qu anfitrin procede, y qu software de transporte ha sido usado. Esto se hace as para que usted pueda conocer la ruta que su mensaje ha seguido, y pueda protestar a la persona responsable si algo ha ido mal.

8.3 MANDAR Y RECIBIR UN CORREO


Agentes de usuario de correo Los Agentes de usuario de correo (MUA - Mail User Agents) son los programas que los usuarios ejecutan para enviar y leer el correo electrnico. Aunque parezca que los Agentes de usuario de correo realizan todo el trabajo de transmisin y recepcin de correo electrnico, dichos agentes slo constituyen la parte visible de todo el sistema de correo electrnico. En realidad, no entregan el correo electrnico. Son los Agentes de entrega de correo los que entregan el correo electrnico. Funciones de los agentes de usuario de correo):

Asignan formato a los mensajes salientes con informacin de cabecera apropiada y, si es necesario, codifican los mensajes salientes para que los Agentes de entrega de correo utilicen la codificacin durante el enrutamiento de los mensajes. Permiten que los usuarios lean, guarden y eliminen los mensajes de correo electrnico entrantes. Programan aplicaciones de Extensiones multipropsito de correo Internet (MIME), si es necesario, para que el usuario pueda experimentar la informacin no textual adjunta al correo electrnico entrante, por ejemplo, para ver archivos de grficos o clips de video, o para escuchar datos de audio.

Agentes de entrega de correo Los Agentes de entrega de correo (MDA - Mail Delivery Agents) forman el ncleo del sistema de correo electrnico. Estos programas, que por regla general se ejecutan en segundo plano, son responsables de enrutar y entregar el correo electrnico. Aunque sendmail se puede ejecutar directamente desde una lnea de comandos de shell para enviar un mensaje, no suele utilizarse de esa forma. Los Agentes de usuario de correo se utilizan, en general, como clientes para sendmail a fin de enviar correo. Funciones de los agentes de entrega de correo :

Entregan el correo a los usuarios locales (los usuarios que reciben correo electrnico en el equipo en que se ejecuta el Agente de entrega de correo) programando el programa /bin/mail o reenviando el correo a los usuarios de los equipos cliente locales. Reenvan, por medio del mecanismo de transporte apropiado, el correo electrnico que no est dirigido a los usuarios locales a otros equipos/redes para realizar su entrega. Modifican el formato de la informacin de direccin en las cabeceras de mensaje para tener cabida para las necesidades del siguiente equipo/red de la ruta de entrada de un mensaje y para acoger el mtodo de entrega que se utiliza para enrutar el mensaje.

Comandos de Correo Electrnico en LINUX: COMANDO mail Este comando sirve para mandar mails a un destinatrio. Sintaxis: mail [opciones] [destino] Opciones:

-v verboso muestra detalles de entrega. -s TEMA especifica el tema (subject) del mensaje. -c LISTA enva copias a LISTA de usuarios, separados por coma. -b LISTA enva copia ciega a LISTA de usuarios. -f [ARCH] lee contenido de archivo propio mbox o el indicado. -u USUARIO equivale a mail -f /var/spool/mail/USUARIO

Comandos internos del comando mail:

& indicador de comandos de mail. ? muestra lista de comandos para manejo de mensajes. d borra mensaje corriente, marcado con '>' N muestra el mensaje nmero N q sale del programa de correo

CAPTULO 9.- OPERACIONES DE ENTRADA Y SALIDA.

9.1. REDIRECCIONAMIENTOS
En linux, a cada dispositivo corresponde un archivo de configuracin, aunque puede requerir de otros archivos que le sirvan para

realizar sus procesos de lectura, escritura y almacenamiento temporal de informacin. De esta manera, deducimos que a cada proceso estn asociados, al menos, 3 archivos abiertos y a cada uno se le asigna un nmero consecutivo conocido como descriptor de archivo. Primero: Corresponde al dispositivo que inicia el proceso, normalmente tecleamos los comandos o ejecutamos los programas, as que el primer archivo asociado y abierto es el correspondiente al teclado. Este archivo de donde provienen los datos o las instruciones de entrada se conoce como entrada estndar (standard input). Su descriptor (como archivo asociado al proceso) es el 0. Segundo: Este archivo es el asociado al dispositivo al cual se enviar el resultado del proceso, tpicamente es el monitor, aunque podra ser un archivo u otro proceso. A este archivo se le conoce como salida estndar (standard output) y su descriptor de archivo es el 1. Tercero: Las posibles salidas de error son separadas de la salida estndar, aunque para la ejecucin de un comando normalmente la vemos tambin en la pantalla, se le conoce como salida de error y su descriptor de archivo es el 2.

Mediante el uso de redireccionamientos, se pueden modificar los archivos de donde proviene la entrada estndar o al/los que se dirigen las salidas.

9.2.SIMBOLOGA.
> < >> << Direcciona de forma destructiva a un archivo, si no existe lo crea y si existe lo sobreescribe. Toma la entrada de un archivo. Agrega a un archivo, si este no existe lo crea, si existe, agrega la informacin redirigida. Agrega desde la entrada estndar y requiere un indicador de finalizacin.

Ejemplos: Para enviar el contenido del archivo /etc/passwd a otro archivo. Cat /etc/passwd > /home/usuario/passwd_bckp Para recibir la entrada estndar de un archivo: mail -s Correo de prueba usuario@cuaed.unam.mx < mensaje_de_bienvenida.txt Para agregar a un archivo el contenido de /etc/hosts: cat /etc/hosts >> configuracion_red.txt Para tomar la entrada estndar del teclado en forma interactiva: cat << FIN *Aqu recibe la entrada del teclado hasta que encuentra el patrn FIN Para tomar la entrada estndar del teclado en forma interactiva y direccionarla a un archivo: cat << FIN > otra_forma_de_editar.txt Esta es una prueba de direccionamientos FIN Ordenamiento numrico del contenido de un archivo: sort < archivo Para direccionar la salida de error a un archivo: $ find / -name apache.log 2> /dev/null Desecha las salidas de error direccionndolas a un dispositivo de salida. Direccionamiento de salida de error y estndar a un mismo archivo: find / -name apache.log 2>1& busqueda

9.3. TUBERAS
Las tuberas permiten enviar la salida de un proceso a otro proceso, el cual la puede usar como entrada estndar, de manera que se puede procesar mediante la ejecucin consecutiva de comandos una salida original.

Ejemplo: cat /etc/passwd | cut -d: -f1 | grep curso | wc -l *En este caso el segundo comando selecciona solo el campo de nombre de usuario de la tabla de usuarios del sistema, el tercero busca los que contengan el patrn curso y el ltimo los cuenta.

CAPTULO 10.- PROCESOS

10.1 QU ES UN PROCESO?
Proceso: Conjunto de comandos o instrucciones que se encuentran en ejecucin en el sistema. Un comando por si solo representa un proceso. Hay 2 tipos de procesos:

Procesos en primer plano (foreground): Estn asociados a una terminal, es decir, requieren la atencin de un shell, de manera que no se puede ejecutar otro comando hasta que terminan (no hay prompt). Procesos en segundo plano (background): Se puede ejecutar otro proceso sin esperar a que terminen, no se asocian a una terminal y regresan inmediatamente el prompt.

10.2 TABLA DE PROCESOS


Contiene toda la informacin de cada proceso que se ejecuta en el sistema. El comando que permite conocer el contenido de esta tabla es:ps (process status).

Sintaxis: ps [-opciones] Sin opciones muestra los procesos asociados a la sesin (Nmero identificador de proceso, terminal asociada, tiempo de cpu y comando). Opciones:

-e

Lista todos los procesos.

-f

Informacin sobre los procesos en formato largo (full listing).

-a

Procesos ms frecuentes.

Combinando las opciones disponibles podemos obtener toda la informacin referente a un proceso:

PID: Nmero identificador del proceso en el sistema. PPID: Identificador del proceso padre en el sistema. UID: Nmero identificador del dueo del proceso en el sistema. S: Estado del proceso: R En ejecucin. S Durmiendo. I Ocioso. Z Zombie. X En espera de recursos. PRI: SZ: RSS: TTY: Prioridad. Tamao calculado en memoria para el proceso. Cantidad de memoria que ocupa el proceso mientras est corriendo. Terminal asociada tiempo de cpu.

10.3 ENVO DE SEALES A LOS PROCESOS.


El comando kill permite enviar seales a los procesos. Sintaxis: kill (seal) PID

Seales.

Identificador numrico

Significado.

TERM

15

Terminacin.

KILL

Muerte.

HUP

Reinicio.

Identificacin de trabajos en el sistema: El comando jobs into su nmero informa los procesos asociados a la terminal, regresando identificador como el comando asociado. Para enviar seales a los trabajo cambia la sintaxis del comando kill: Kill % ID_job

Envo de un proceso de 1er a segundo plano. Cuando un proceso se encuentra en ejecucin en primer plano se puede detener momentneamente con la combinacin de teclas ^Z (control + z), en estado detenido o stopped se puede volver a ejecutar en segundo plano usando el comando: $ bg % id_job Regreso de un proceso de segundo a primer plano. Usamos el comando: $ fg % id_job

CAPTULO 11. GENERALIDADES DE SHELLS 11.1 INTRODUCCIN:


Unix nace con Bourne Shell, el siguiente shell disponible es C-Shell en Berkeley y stos se toman como estndares. El shell es un programa que sirve de intermediario entre el usuario y el kernel, es decir, el usuario ejecuta comandos cuyos nombres y sintaxis son fciles de recordar y usar y el shell los traduce al sistema operativo, que a su vez interacta con la arquitectura de los equipos:

11.2 FUNCIONES

Control del ambiente en las sesiones. Es el medio para transferir y redireccionar la salida entre archivos y procesos. Acepta y procesa programas de los usuarios. Sustitucin de variables y cadenas (metacaracteres). El shell asigna una prioridad u orden para interpretar las lneas de comandos: o Sustitucin de history (csh y bash). o Separacin de palabras: Se separan por blancos o tabuladores. Para poner blancos se deben delimitar con comillas, aunque ignora el nmero de blancos entre palabras. Actualizacin de la lista history (csh y bash: Registro de rdenes que se dan en una sesin). Interpreta las comillas simples ('), dobles () e invertidas (`). Sustitucin de alias. Prioridad en los componentes de una lnea de comandos: o Redireccionamiento de entradas y salidas. o Sustitucin de variables. o Sustitucin de comandos. o Expande los nombres de archivos. o Ejecuta el comando.

11.3 TIPOS DE SHELL


C-Shell: Intrprete de comandos que incorpora un mecanismo de historial de comandos (history), facilita el control de trabajos (jobs), es interactivo con la terminacin de nombres de archivos y usuarios. sh: Es el ms antiguo de los shells, es usado como shell de autenticacin y no guarda historial de comandos. tcsh: Es una ampliacin de csh, incluye un editor para la lnea de comandos, terminacin de palabra programable, mecanismo de historial de comandos bash: Incorpora las utilidades de korn shell y csh. Tiene historial de comandos interactivo. Para indicarle comportamientos definidos al shell, aplicaciones o programas podemos hacer uso de las variables, las cuales pueden almacenar cadenas de caracteres que representan rutas, nombres, opciones, argumentos, etc. Existen dos tipos de variables:

Las variables locales se asocian con el shell que las genera y no se pasan a los procesos descendientes de este, ni a otros shells o subshells. Tradicionalmente en su nombre solo se usan minsculas. Las variables de ambiente permanecen durante nuestra sesin y pueden ser usadas por las aplicaciones. Sus nombres se definen preferentemente en maysculas.

11.4 ARCHIVOS DE INICIALIZACIN


Contienen los comandos o variables que le indican al shell el comportamiento que esperamos de l y se ubican en los directorios hogar para los usuarios o las aplicaciones. Varan de un shell a otro:

.login y .cshrc para csh. .profile para sh. .bash_profile para bash.

11.5 VARIABLES DE AMBIENTE Son variables definidas en shell que van a permanecer durante nuestra sesin. Las utilizan las aplicaciones en determinado momento y por convencin se usan maysculas para definir sus nombre. Ejemplos:
VARIABLE FUNCIN

PATH

Define trayectoria de bsqueda de los comandos.

TERM

Contiene el tipo de terminal en uso.

HOME

Contiene la ruta del directorio hogar del usuario.

SHELL

Define el shell del usuario.

Para visualizar el contenido de estas variables: echo $VARIABLE

11.6 DEFINICIN DE VARIABLES


csh: % set variable=valor (define) } variables de shell o locales % unset variable (elimina) % setenv VARIABLE valor (define) } Variables de ambiente (globales) % unsetenv VARIABLE (elimina) sh: $ variable=valor (define) } variables de shell o locales $ unset variable (elimina) $ variable=valor $ export variable (define) } Variables de ambiente (globales) $ uset=var Comandos tiles para conocer el shell: env

Funcin: informa los valores de las variables de ambiente. stty -a Visualiza la configuracin de la terminal, es decir, nmero de filas y columnas, color de fondo, de letra y para los diferentes tipos de archivos, velocidad de tranferencia hacia la terminal, tipo de terminal, funciones para el teclado, apariencia, etc.

* La informacin de estos apuntes se tomaron de la pgina http://www.cuaed.unam.mx

Potrebbero piacerti anche