Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1 Linux
Linux posee un estilo y aspecto similares a los de cualquier sistema UNIX pero Linux es mucho ms reciente que la mayora de estos sistemas ya que su desarrollo comenz en 1991 cuando Linux Torvalds escribi y bautiz con el nombre de Linux a un kernel pequeo pero autocontenido, para el procesador 80386 que fue el primer procesador verdadero de 32-bits dentro de la gama de Intel de procesadores compatibles con las mquinas PC. Poco despus del inicio de su desarrollo, el cdigo fuente de Linux se puso a disposicin mundial gratuitamente por medio de Internet. Como resultado, la historia de Linux representa un caso de colaboracin por parte de mltiples usuarios de todo el mundo, que se comunicaban mayormente por Internet. A partir de un kernel inicial que implementaba parcialmente un pequeo subconjunto de los servicios del sistema UNIX, el sistema Linux creci para incluir buena parte de la funcionalidad UNIX. El sistema Linux bsico es un entorno estndar para aplicaciones y programacin de usuario, pero no impone ningn mtodo estndar de gestin del conjunto de funcionalidades disponibles. Segn ha ido madurando Linux, surge la necesidad de disponer de otra capa de funcionalidad por encima del sistema Linux. Dicha necesidad es satisfecha por las diversas distribuciones de Linux existentes. Una distribucin Linux incluye los componentes estndar del sistema Linux y una serie de herramientas administrativas simplificando la instalacin inicial y la siguiente actualizacin de Linux, y para gestionar la instalacin y eliminacin de otros paquetes del sistema. Una distribucin moderna tambin incluye herramientas para la gestin de sistemas de archivos, entorno grfico, exploraciones web, La compatibilidad UNIX es uno de los principales objetivos de diseo de Linux. A partir de unos recursos limitados, intenta obtener la mxima funcionalidad posible. A medida que los PC fueron hacindose ms potentes y mientras que fue disminuyendo el coste de la memoria y de los discos duros, los kernels Linux originales minimalistas, fueron creciendo para implementar ms funcionalidades de UNIX. Tambin posee como objetivos de diseo la velocidad y la eficiencia, pero buena parte del trabajo est dirigido a la estandarizacin. El estndar POSIX comprende un conjunto de funcionalidades de diversos aspectos de comportamiento del S.O. Linux est diseado para ser compatible con los documentos POSIX relevantes Concretamente, la interfaz de programacin de Linux se adhiere a la semntica de UNIX SVR4. Hay disponibles conjuntos separados de bibliotecas para implementar la semntica de BSD en aquellas situaciones en las que los comportamientos son significativamente distintos.
1Introduccin a Linux
Pgina 2 de 31
Se dan muchos estndares en el mundo UNIX, pero la certificacin completa de Linux de acuerdo con esos estndares va algo lenta debido a que a menudo esa certificacin se obtiene pagando una licencia, y los gastos necesarios para certificar el cumplimiento de la mayora de los estndares por parte de un S.O. resulta fundamental. Sin embargo, soportar una amplia base de aplicaciones es importante para cualquier S.O., por lo que la implementacin de estndares es uno de los objetos principales del desarrollo, aunque no est certificada formalmente. Linux soporta las extensiones para hebras de POSIX, Pthreads, y un subconjunto de las extensiones POSIX para el control de procesos en tiempo real.
2 Arquitectura
En la mayora de los S.O., las aplicaciones estn separadas del propio S.O.: el cdigo del S.O. se ejecuta en un modo privilegiado del procesador, modo kernel, con acceso a los datos del sistema y al hardware, mientras que las aplicaciones se ejecutan en un modo no privilegiado del procesador, modo usuario, con un conjunto
1Introduccin a Linux
Pgina 3 de 31
de interfaces y un acceso a los datos del sistema limitado. Cuando un programa en modo usuario llama a un servicio del sistema, el procesador captura la llamada y cambia el subproceso que ha efectuado la llamada al modo kernel. Cuando un servicio solicitado concluye, el S.O. vuelve a pasar el subproceso al modo usuario y prosigue su ejecucin. Este modelo de S.O. puede observarse en la figura.
S.O. monoltico El sistema Linux est formado por tres cuerpos principales de cdigo: El Kernel es el responsable de mantener todas las abstracciones importantes del S.O., incluyendo elementos como la memoria virtual y los procesos. Las bibliotecas del sistema definen un conjunto estndar de funciones mediante las que las aplicaciones pueden interactuar con el kernel. stas
1Introduccin a Linux
Pgina 4 de 31
implementan gran parte de la funcionalidad del S.O. que no necesita privilegios completos del cdigo del kernel. Las utilidades del sistema son programas que realizan tareas individuales especializadas de gestin. Algunas utilidades del sistema pueden ser invocadas para inicializar y configura algunos aspectos del sistema; otras, conocidas como demonios, pueden ejecutarse permanentemente, gestionando tareas como responder a las conexiones entrantes de red, aceptar solicitudes de inicio de sesin por parte de los terminales y actualizar los archivos de registro.
Componentes del sistema Linux. En Linux, el kernel est construido como un cdigo binario monoltico para mejorar las prestaciones con el fin de que no sea necesario ningn cambio de contexto cuando un proceso invoca una funcin del S.O. o cuando se produce una interrupcin hardware. El cdigo del kernel est en el mismo espacio de direcciones unificado, existiendo un espacio para la modularidad.
3 Empezando
Una vez hayamos cargado el sistema operativo debemos acceder a l, por medio del nombre de usuario y contrasea, proceso que se conoce como login. Esto es as debido a que UNIX (y por tanto Linux) es multiusuario, y debemos autentificar nuestra identidad para poder acceder a nuestros recursos y no a otros, al igual que a nosotros no nos gustara que accediesen a nuestros recursos. El nombre de usuario y contrasea sern especificados por el profesor de laboratorio. Una vez hemos entrado al sistema, debemos cambiar la contrasea con el comando passwd Para que nadie ms pueda entrar con nuestra identidad.
1Introduccin a Linux
Pgina 5 de 31
4 Importante: el Manual
Una ayuda poderosa en cualquier sistema UNIX es el manual. Consiste en una gran biblioteca de ficheros de ayuda sobre comandos y programas del sistema operativo. Para usarlo tecleamos: man comando Donde comando es el nombre del comando o programa del que queremos obtener informacin. El manual de Linux es una herramienta que cualquier usuario debe saber utilizar de forma habitual. Se detalla esta informacin en el anexo A.
1Introduccin a Linux
Pgina 6 de 31
/dev Aqu encontramos todos los dispositivos fsicos del sistema (todo nuestro hardware). /etc Aqu encontramos los archivos de configuracin del sistema.
/sbin Aqu tenemos los programas que solo puede lanzar el superusuario. Los programas de este directorio y los del siguiente pueden ser invocados directamente poniendo su nombre en la consola. /bin Aqu tenemos los programas que pueden lanzar todos los usuarios del sistema. /lib Contiene las bibliotecas necesarias para que se ejecuten los programas que tenemos en /bin y /sbin nicamente. /proc No deberamos modificar el contenido de este directorio. Aqu se encuentra archivos que reciben o envan informacin al ncleo. /usr Este directorio contiene los programas de uso general para todos los usuarios. o /usr/X11R6 Aqu tenemos los programas de nuestro X-Window, el servidor grfico. o /usr/bin o /usr/doc o /usr/etc global. Aqu tenemos programas de uso general. Aqu tenemos cierta documentacin del sistema. Aqu tenemos archivos de configuracin de uso
o /usr/include Aqu tenemos las cabeceras de C y C++. Son archivos con extensin .h. Los programadores comprendern su significado. o /usr/lib o /usr/man Aqu tenemos las bibliotecas de nuestros programas. En este directorio encontramos los manuales.
o /usr/sbin Este directorio contiene los programas de administracin del sistema. o /usr/src Aqu se almacenan los cdigos fuentes de nuestros
1Introduccin a Linux
Pgina 7 de 31
/var Este directorio contiene informacin variable, como registros, datos de los servidores, etc. /boot Aqu tenemos los archivos de configuracin del arranque del sistema (como por ejemplo GRUB). /media Aqu encontramos todas las unidades fsicas que tenemos montadas. Discos duros, unidades de dvd, pendrive, ... /opt Podemos usarla para instalar aplicaciones que no vienen en los repositorios, por ejemplo o aquellas que compilamos a mano. /home Es un directorio donde tenemos los directorios personales de todos los miembros del sistema. o ~ Es nuestro directorio personal. Algo similar a Mis Documentos. Aqu es donde guardaremos nuestros documentos, msica, pelculas, fotos ... Tambin podemos referirnos a este directorio como /home/<nuestro nombre> o ~/Desktop Aqu tenemos nuestro querido escritorio.
1Introduccin a Linux
Pgina 8 de 31
6.2 El comando cd nos permite cambiar el directorio de trabajo Escrito sin parmetros, cd nos devuelve a nuestro directorio inicial. Escrito con un parmetro nos enva el al directorio especificado por el parmetro. Varias cosas importantes: El directorio .. es el padre del directorio actual El directorio . es el directorio actual Podemos referirnos a un directorio de forma relativa o absoluta. Referirse a un directorio de forma absoluta es especificar toda su ruta desde la raz. Referirse a un directorio de forma relativa es especificar la ruta partiendo desde el directorio actual
6.3 Ejemplo: Dentro del directorio /etc existe un subdirectorio llamado /ppp. Entonces, si estamos dentro del directorio /etc: cd /etc/ppp es referirse al fichero de forma absoluta, desde la raz. cd ppp es referirse al fichero de forma relativa, puesto que estoy dentro de /etc Desde un directorio se puede acceder a cualquiera de sus hijos y a su padre de forma directa. Como ejercicio, estando dentro del directorio /usr/X11 cambiar mediante cd al directorio /usr/local/bin de formas absoluta y relativa. Otros comandos para el manejo de directorios: mkdir : para crear un directorio. Puede hacerse de forma absoluta o relativa. P. ej. si estoy en /lab2px, tanto mkdir direc como mkdir /lab2px/direc crearan el directorio /root/lab2px rmdir : elimina un directorio. Tambin se puede referenciar de forma absoluta o relativa. El directorio debe estar vaco o el comando fallar. ls : muestra el contenido de un directorio. Si no escribimos argumentos, muestra el contenido del directorio de trabajo, en otro caso mostrar el contenido del directorio que le pasemos como argumento, ya sea de forma relativa o absoluta.
1Introduccin a Linux
Pgina 9 de 31
Los modificadores ms importantes de ls son: -a : que muestra todos los archivos incluyendo los ocultos. (En UNIX los archivos ocultos comienzan por un punto) -l : que muestra toda la informacin. Tamao, dueo, grupo del dueo, permisos, fecha, hora, etc Los archivos que comienzan por un punto son archivos ocultos. Eso no quiere decir que no podamos acceder a su contenido, simplemente que al hacer un listado con ls no aparecern.
1Introduccin a Linux
Pgina 10 de 31
Copia los archivos origen en destino. El destino puede ser un directorio o un archivo. mv origen origen2 origen3 origen4 origen n destino destino Mueve los archivos origen al destino. El destino puede ser un archivo en caso de que el origen sea un solo archivo o un directorio en caso contrario. En caso de ser un archivo, lo que conseguimos es cambiar el nombre al archivo. Mover un archivo tiene el mismo efecto que copiarlo y despus borrar el original. ln -s origen destino Crea un enlace simblico del origen al destino. Un enlace simblico es un archivo vaco cuyo nico fin es apuntar a otro archivo. Permite referirnos a un nico archivo de dos o ms maneras distintas. Por ejemplo ln /usr/local/bin/montarcd /root/ulb crear un enlace llamado /root/ulb. As, si estamos dentro del directorio /root y ejecutamos un cd /ulb realmente estamos haciendo un cd /usr/local/bin/montarcd, ya que para el sistema /root/ulb y /usr/local/bin/montarcd son lo mismo. La diferencia entre una copia de un archivo y un enlace simblico es que ste ltimo no ocupa espacio en disco, sino que apunta a un archivo, con lo que realmente tenemos una copia del archivo en vez de dos, con el ahorro de espacio que ello supone. rm archivo Destruye el contenido de un archivo. Nunca podremos recuperarlo, por lo que se aconseja utilizarlo con cuidado. Con el modificador -y nos pedir confirmacin antes de eliminar el objeto. Por otro lado, rm -r nos permite eliminar un directorio completo con todo su contenido aunque no est vaco. alias nuevo_comando=expresin Asocia nuevo_comando a expresin de forma que si escribimos como orden nuevo_comando se ejecuta expresin. Un ejemplo de esto sera alias dir=ls -l-color, con lo que conseguimos que al teclear dir el shell ejecute ls -l-color. Este comando (alias) es muy til, y se suelen inicializar en ficheros de arranque del shell.
1Introduccin a Linux
Pgina 11 de 31
8 Ejecutando archivos
Para ejecutar un archivo en Linux, hay que escribir su nombre, entonces: Linux comprobar si el comando es interno al shell o es un programa externo ejecutable. En este ltimo caso, Linux buscar en el PATH, que es un conjunto de directorios, el programa. Si lo encuentra y el usuario tiene permiso, lo ejecuta. Hay una diferencia con MS-DOS. Si el ejecutable est en el directorio en que estemos en ese momento, pero dicho directorio no est en el PATH, no lo ejecutar, ya que al contrario de DOS y por razones de seguridad que veremos en el futuro, por defecto Linux no ejecuta archivos que estn en el directorio de trabajo, solo los que estn en el PATH. Suponemos que el PATH est formado por dos directorios llamados /bin y /usr/bin. Yo estoy dentro del directorio /home/lab2p5 y observo un fichero ejecutable llamado programa. No me basta con teclear su nombre, ya que el shell buscar el comando en el PATH y no lo encontrar ya que el directorio actual no forma parte del PATH. Para ejecutarlo, tengo dos formas: Relativa: escribiendo ./programa. Obsrvese que . representa el directorio actual. Absoluta: escribiendo /home/lab2p5/programa
1Introduccin a Linux
Pgina 12 de 31
cat comando que visualiza el archivo que le pasemos como parmetro por pantalla. more igual que el anterior, pero ms completo. Puede ocurrir que el texto de mueva por la pantalla tan rpido que no nos de tiempo de verlo en caso de que ocupe ms de una pantalla, en cuyo caso se nos ir mostrando pantalla por pantalla hasta llegar al final. less ms potente an que more. vi muy antiguo y tedioso de utilizar, aunque resulta potente y til. Obviamente, todos estos comandos visualizan archivos de texto. En caso de que el archivo que pretendemos ver sea ejecutable o algn otro tipo de archivo binario, obtendremos por pantalla un montn de caracteres sin sentido para nosotros. od. Si queremos ver el interior de archivos binarios podemos usar un programa como
10 Apagando el sistema
No se puede apagar el sistema sin ms, se deben realizar una serie de pasos previos encargados de desmontar unidades de disco, limpiar los buffers del sistema, parar los demonios, etc. Para ello, se debe ejecutar el comando shutdown h now, con lo que el sistema se reiniciar de un modo ordenado, siendo este el momento en que podemos apagar la mquina.
11 Comandos complementarios
who El comando who presenta una lista de los usuarios trabajando en el sistema, junto con el tiempo de conexin y el dispositivo asociado a la conexin. El comando who con la opcin l (letra ele) : who l presenta el sistema (direccin simblica o IP) desde la que se realiza la conexin. users Presenta una lista de los usuarios conectados al sistema, y el nmero de estos.
1Introduccin a Linux
Pgina 13 de 31
df El comando df muestra el grado de ocupacin de los volmenes en el sistema o archivos. Su sintaxis es:
df [OPCIN]... [FICHERO]...
-a, --all incluye los sistemas de ficheros con 0 bloques --block-size=TAM utiliza bloques de TAM bytes -h, --human-readable imprime los tamaos en formato legible (p.e. 1K 234M 2G) -H, --si anlogo, pero utiliza potencias de 1000 y no de 1024 -i, --inodes muestra la informacin de nodos-i en lugar del uso de bloques -k, --kilobytes como --block-size=1024 -l, --local limita el listado a los sistemas de ficheros locales -m, --megabytes como --block-size=1048576 --no-sync no llama a sync antes de obtener el modo de
du El comando du informe recursivo del grado de ocupacin, por archivos, de los directorios del sistema. Su sintaxis es: du [OPCIN]... [FICHERO]... Nota: Dentro del directorio /sbin/ se encuentra la mayora de los comandos de sistema.
1Introduccin a Linux
Pgina 14 de 31
ls: Lista el contenido de un directorio o un archivo, en funcin del argumento que le pasemos; si se le pasa el argumento -l, lista informacin detallada de cada archivo; si se le pasa el argumento -a, muestra tambin los archivos que empiezan por un punto |llamados archivos ocultos|. pwd: Nos indica el directorio en el que nos encontramos. mkdir: Crea un directorio. rmdir: Borra un directorio que est vaco. rm: Borra un archivo. rm -rf: Borra un directorio con todo lo que tenga. Mucho ojo con este comando, ya que evidentemente un fallo al usarlo puede tener efectos desastrosos en nuestra cuenta. cd: Cambia al directorio que se le pasa como parmetro. cp: Copia un archivo a otro directorio, o lo duplica con otro nombre. cp -r: Copia un directorio a otro directorio, o lo duplica con otro nombre. mv: Mueve un archivo o directorio, o le cambia el nombre. man: Muestra la ayuda de un comando. touch: Crea un archivo nuevo de tamao cero. hexdump -C: Muestra por pantalla el contenido del fichero que se le pasa como argumento, mostrando los valores numricos de sus bytes y sus caracteres ASCII asociados en el caso de que stos sean imprimibles. Debemos recordar que en Linux se distinguen las maysculas de las minsculas en los nombres de archivo y directorios: por ejemplo, en un mismo directorio pueden existir cuatro archivos distintos cuyos nombres sean Hola.txt, hola.txt, HOLA.tXt, y hoLa.txt. La funcin autocompletar es muy til al teclear nombres de archivos o directorios en la lnea de comandos: si comenzamos a escribir el nombre de un archivo o directorio existente y le damos al tabulador, se autocompleta dicho nombre hasta el carcter en el que exista una diferencia en los nombres de los ficheros que empiecen por la cadena tecleada; en caso de que slo haya un fichero posible, se autocompleta todo.
1Introduccin a Linux
Pgina 15 de 31
Para acceder a un lpiz usb, lo conectaremos al PC y, tras unos segundos, aparecer como un subdirectorio en el directorio /media; para quitarlo, debemos pinchar con el botn derecho del ratn sobre su icono y escoger la opcin desmontar.
1Introduccin a Linux
Pgina 16 de 31
Ejercicios Bsicos:
Entra en el sistema, y luego abre un terminal.
Primera Parte:
Usa el comando ls para listar los archivos en el directorio actual. Crea un nuevo archivo utilizando el comando cat de la manera siguiente. $ cat > hola.txt Hola Mundo! Esto es solo una prueba.
Pulsa la tecla [ENTER] al final de la lnea, y entonces las teclas [Ctrl] + [D], para denotar el final del archivo. Usa el comando ls nuevamente, para verificar que el archivo recin creado existe, una vez confirmado, visualiza el contenido del archivo. Visualiza el mismo archivo nuevamente, pero esta vez utiliza solo las teclas del cursor para ejecutar el comando sin tener que escribirlo de nuevo.
Segunda Parte
Crea un segundo archivo, que contenga cualquier dato aleatorio y llmalo nomina.txt: Verifica la existencia del archivo. Visualiza el contenido del archivo minimizando la escritura del comando necesario. Para ello, revisa el historial para encontrar el comando con el cual creaste el archivo anterior. Cambia el comando para que, en vez de crear el archivo, muestre su contenido en pantalla.
Tercera Parte:
Copia el archivo nomina.txt en un archivo nuevo llamado descuento.txt. Usa la tecla [Tab] para evitar la digitacin innecesaria del nombre completo del archivo. Ahora copia hola.txt a descuento.txt. Qu sucede?
1Introduccin a Linux
Pgina 17 de 31
Borra el archivo original, hola.txt. Renombra descuento.txt a impuestos.txt. Trata de borrar el archivo hola.txt con el comando rm. Qu sucede? Trata de copiar nomina.txt de nuevo, pero no especifiques el nombre del archivo al cual se copiar. Qu ocurre?
Cuarta Parte:
Usa el comando pwd para ver en que directorio te encuentras. Si no ests en tu directorio home (/home/NOMBRE_DE_USUARIO), usa el comando cd sin ningn argumento, y ejecuta pwd de nuevo. Usa cd para visitar el directorio /, y listar sus archivo. El directorio home debe ser uno de ellos. Ve al directorio home y lista el contenido de nuevo. Debe existir un directorio por cada usuario del sistema incluyendo el tuyo (puedes utilizar el comando whoami para verificarlo). Regresa a tu directorio home para confirmar que ests nuevamente donde comenzaste el ejercicio.
Quinta Parte:
Crea un archivo de texto en tu directorio de trabajo y llmalo merengue, conteniendo las siguientes oraciones: Baile compadre Juan Quisqueya, Ma que te quiero como si fuera la ltima ma
Renmbralo clasicos.txt. Crea un nuevo directorio en tu directorio de trabajo y llmalo merengue. Mueve el archivo clasicos.txt dentro del directorio merengue. Desde el escritorio grfico abre un explorador de archivos, y encuentra tu directorio de trabajo. Observa si existen el directorio merengue y el archivo clasicos.txt. Con un editor de texto grfico (gedit) edita el archivo clasicos.txt.
1Introduccin a Linux
Pgina 18 de 31
Sexta Parte:
Desde tu directorio de trabajo, lista los archivos en el directorio /usr/share: Cambia al directorio /usr/share y confrmalo con pwd. Lista los archivos en este directorio y los del directorio doc, todo en la misma lnea. Ahora lista los archivos en el directorio padre (los del directorio encima de ste). Ejecuta el siguiente comando e intenta entender su significado: $ echo ~
Sptima Parte:
Usa el comando hostname, sin opciones, para imprimir el nombre del host de la maquina en uso. Usa el man para desplegar la documentacin del comando hostname. Investiga cmo hacer que imprima la direccin IP de tu mquina en vez del nombre de host. Usa el comando locate para encontrar en el sistema los archivos que contienen el texto hostname. Cul de la lista de archivos desplegados es el programa hostname? Ejectalo ahora con su ruta y nombre absoluto para ver si es este realmente.
Octava Parte:
Utilizando el comodn [*] (wildcard) slo como argumento de un comando es expandido por el shell como una lista de todos los archivos en el directorio actual. Usa el comodn con el comando echo para probar el resultado. $ echo *
Usa las comillas simple para que se imprima el smbolo [*] y que el shell no lo interprete. Agrgale otro archivo al directorio merengue creado anteriormente, llmalo modernos.txt: Dominicano soy - Fernando Villalona Bachata Rosa - Juan Lus Guerra
Usa el comando cat para visualizar ambos archivos, por nombre y con comodines (*).
1Introduccin a Linux
Pgina 19 de 31
Copia el directorio merengue y todo su contenido en uno llamado Merengue. Usa el comando cp. Finalmente, borra el directorio Merengue con el comando rm.
Novena Parte:
Explicar las diferencias existentes entre ls * y echo *. Explicar las diferencias existentes entre ls / y echo /. Crear un archivo que contenga la cantidad de archivos en un directorio. Crear dos archivos, uno llamado a.txt, que contenga hola; y otro llamado b.txt, que contenga adis. Luego concatenarlos en un nico archivo ab.txt.
Dcima Parte:
Usa el comando df para visualizar la cantidad de espacio en el disco duro usada y disponible. Revisa las pginas man del comando df, y encuentra la opcin que permitir que el comando despliegue la salida en manera ms amistosa de leer para los humanos. Experimenta con ambas las opciones de nica letra y las de nombres largos. Ejecuta el shell bash, y analiza a ver qu pasa. Recuerda que ya te encontrabas ejecutando un shell bash. Trata de salir del shell que has lanzado con el comando exit:
Trata el comando ls con las opciones -a y -A. Cul es la diferencia entre ellas? Introduce el comando ls ltr y observa su efecto. Luego ejectalo desde el historial de la lnea de comandos.
Usa el comando find para listar todos los archivos y directorios debajo de tu directorio de trabajo. Experimenta con -type d y -type f para listar solo archivos y/o directorios.
1Introduccin a Linux
Pgina 20 de 31
Usa el comando locate para encontrar los archivos que contienen la cadena passwd. Intenta la bsqueda ahora con el comando find, buscando en todo el sistema de archivos. Necesitars utilizar el comodn [*] en la cadena *passwd* en el patrn de bsqueda. Investiga qu hace el criterio de bsqueda del comando find iname. Usando cut visualiza la lista de usuarios que hay en el sistema. (Verifcalo con who): Visualiza en pantalla los usuarios sin duplicados y en orden alfabtico. Prueba con el comando last para desplegar el registro de quienes han ingresado en el sistema, con el comando tac invierte el orden. Para qu puedes ser esto til? Si la salida es extensa cmo la direcciona al comando less? Usa el comando sed para corregir el error ortogrfico sostema a sistema. Escribe un pequeo archivo en nano (editor de textos), para probar tu comando. Qu pasa si el error ocurre ms de una vez, y qu se puede hacer? Usa nl para enumerar las lneas que has escrito en el apartado anterior.
Crea un archivo vaco y utilizando tail -f monitoriza la actividad en l. Agrgale lneas de texto desde otro terminal, as: $ echo "slo es una prueba" >> archivo-vaco
Una vez hayas escrito el archivo, usa el comando tr para lograr que cada vez que aparezca una letra entre la a y la f se cambie al nmeros correspondiente del 0 al 5. Intenta leer el comando binario ls (/bin/ls) con less. Si es necesario usa la opcin -f para forzar su visualizacin aunque no sea un archivo de texto. Ahora visualzalo con el comando od. Primero con los valores por defecto y luego con las opciones para desplegar la salida en hexadecimal.
Utiliza el comando split para dividir el comando binario ls en fragmentos de 1Kb. Para ello, copia el comando ls en un directorio nuevo donde realizars este ejercicio.
1Introduccin a Linux
Pgina 21 de 31
Ahora entra al directorio en el que has fragmentado el comando ls y vuelve a reponerlo. Ejectelo para comprobar que funciona correctamente (asegrate de ejecutar el tuyo y no el del sistema). Ejemplo: ./mi-ls Para que un archivo sea ejecutable es necesario usar el siguiente comando: $ chmod a+rx mi-ls donde mi-ls es el nombre del archivo que queremos hacer ejecutable.
Utiliza el comando cd para ir a tu directorio de trabajo inicial, y crea un directorio nuevo llamado perros. Crea otro directorio dentro del anterior llamado gatos, y otro ms dentro de este llamado ratones. Borra los tres directorios. Puedes borrarlos de uno en uno o todos juntos.
Copia el archivo /etc/passwd a tu directorio de trabajo, y entonces utiliza cat para ver su contenido. Renmbralo con el nombre usuarios utilizando el comando mv. Crea un directorio denominado programas y copia todo el contenido de /bin en l. Borra todos los archivos del directorio programas. Borra el directorio ahora vaco programas y el archivo usuarios.
El comando touch puede ser utilizado para crear archivos vacos. Como ejercicio crea uno de esta forma: $ touch Linux.txt
1Introduccin a Linux
Pgina 22 de 31
Espera unos minutos, y repite los dos pasos anteriores. Verifica que ha cambiado. Qu sucede cuando no especificamos el tiempo al comando como opcin? Intenta ajustar los atributos de tiempo de un archivo a valores futuristas. Una vez que acabes, borra el archivo.
1Introduccin a Linux
Pgina 23 de 31
RPM(8)
SYNOPSIS QUERYING AND VERIFYING PACKAGES: rpm {-q|--query} [select-options] [query-options] rpm {-V|--verify} [--noscripts] [select-options] [--nodeps] [--nofiles] [--nomd5]
rpm {-K|--checksig} [--nogpg] [--nopgp] [--nomd5] PACKAGE_FILE ... INSTALLING, UPGRADING, AND REMOVING PACKAGES: rpm {-i|--install} [install-options] PACKAGE_FILE ... rpm {-U|--upgrade} [install-options] PACKAGE_FILE ... rpm {-F|--freshen} [install-options] PACKAGE_FILE ... rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers] [--repackage] [--test] PACKAGE_NAME ... Manual page rpm(8) line 1
Cuando, como en este caso, el texto de ayuda termina con tres puntos (...) quiere decir que no se muestra todo el texto. Para avanzar pulsa la barra espaciadora (o la tecla de avance pagina) y para retroceder, retroceder pagina. Para salir cuando hayas terminado, pulsa q
1Introduccin a Linux
Pgina 24 de 31
Detrs del nombre del comando sobre el que se est mostrando la ayuda pueden aparecer nmeros o letras: en el ejemplo que estamos viendo o RPM(8). Este nmero (o letra) indica la seccin del manual en la que nos encontramos. Las pginas man se distribuyen junto con el programa al que sirven de ayuda, por lo que normalmente solo tendrs instaladas las man pages de los programas instalados, y ser ayuda adecuada a la versin instalada.
Seccin 1: Programas ejecutables, comandos de la shell Seccin 2: Llamadas del sistema Seccin 3: Llamadas de bibliotecas Seccin 4: Archivos especiales (en /dev) Seccin 5: Formatos de archivo y convenciones Seccin 6 : Juegos Seccin 7: Miscelnea Seccin 8: Administracin del sistema Seccin 9: Rutinas del ncleo no estndar Seccin n: Documentacin nueva no ubicada aun (n de nueva; en desuso) Seccin o: Documentacin antigua mantenida temporalmente (o de old, en desuso) Seccin l: Documentacin local, especfica del sistema (l de local, en desuso)
Es frecuente que algunas pginas man estn en varias secciones, si se llaman sin ms parmetros, se mostrar la pgina de la primera seccin que se encuentre. Si queremos saben en qu secciones mirar podemos usar man -f item_a_buscar:
ignacio@localhost:~$ man -f ls ls (1) - list directory contents ignacio@localhost:~$ man -f man man (1) - an interface to the on-line reference manuals man (7) - macros to format man pages
1Introduccin a Linux
Pgina 25 de 31
1.7 info
Las pginas de informacin que puedes invocar con info suelen ser ms detalladas que man, y contienen hipervnculos que la hacen navegable. El visor de ayuda info tiene sus propios comandos por lo que aprender a moverte entre sus archivos de ayuda puede ser un poco difcil. El propio visor de info trae un manual que puedes invocar tecleando info h.
1Introduccin a Linux
Pgina 26 de 31
Comandos de programa y ventana: Quit Help Referencia de comandos q h ? Salir de info Te muestra un tutorial para moverte en info Muestra un esquema de las opciones y comandos de info Si la pantalla de info esta dividida en varias ventanas, te permite cambiar a otra ventana. control - x - cero. control - x - uno
Cambiar de ventana
C-x o
Borrar la ventana Borrar todas las ventanas de info menos la presente Comandos de navegacin Next node Previous node
C-x 0 C-x 1
n p
Avanzas al nodo siguiente en el mismo nivel Retrocedes al nodo anterior en el mismo nivel. El orden de los nodos est preestablecido y no depende del orden en que vayas leyendo nodos. Sube al nodo superior jerrquico Vuelve al nodo anteriormente visitado va al inicio del nodo actual. va al primer nodo del nivel muestra un menu de nodos nodo directorio Pulsando Enter con el cursor en una linea que comience con un * (y no sea el menu) te llevara al nodo referenciado en la linea.
Up to parent node Last node visited Beginning of node Top of node menu directory node Seguir referencias
u l b t m d Enter
1Introduccin a Linux
Pgina 27 de 31
Desplazamiento del texto abajo 1 linea Arriba 1 linea Bajar varias lineas tecla Abajo tecla Arriba barra espaciadora tecla Retroceso (y tecla DEL)
Al igual que las pginas man, puedes usar un navegador de internet para verlas en html: escribe en su barra de direcciones info: comando. Y tambin puedes instalar info2www y navegar por las pginas info desde la direccin
http://localhost/cgi-bin/info2www.
1.8 How to
Los how to son documentos que explican como poder ejecutar determinada tardea en Linux. Por ejemplo, cmo hacer que el CD sea reconocido, o como conectar tu mdem, etc. Posiblemente tengas algunos instalados en tu sistema, tpicamente en /usr/doc/HOWTO, o /usr/share/doc/HOWTO/ y tambin diseminados por la red.
1Introduccin a Linux
Pgina 28 de 31
3. Mencione tres formas de cambiarse a su directorio home. 4. Cambia al directorio /etc/init.d. 5. Regrese a su directorio anterior. 6. Ejecute el comando pwd y escriba su resultado. 7. Cambie al directorio raz (/). 8. Vuelva a su directorio HOME (directorio personal del usuario). 9. Liste el contenido del directorio /etc en formato largo. 10. Liste todos los archivos (incluyendo los ocultos) de su directorio personal. 11. Ahora liste los archivos en los que podamos ver el tamao de los mismos. 12. Liste los directorios que pertenecen solamente al directorio /var. 13. Determine el tipo al que pertenece el archivo /dev/sda. 14. Visualice el contenido del archivo en /etc/fstab. 15. Crear un archivo de texto llamado herramientas que contengan 4 nombres de piezas. 16. Ahora muestre el contenido del archivo. 17. Cree un directorio con su nombre. 18. Cree tres directorios en lnea, uno dentro del otro directorio; por ejemplo carpeta1/carpeta2/carpeta3 con un solo comando. 19. Mostrar el contenido de los directorios creados. 20. Mover el directorio carpeta3 al directorio con su nombre.
1Introduccin a Linux
Pgina 29 de 31
21. Cambiar el nombre del directorio carpeta1 a dir1. 22. Salga del directorio con su nombre y cambie el nombre del mismo a prueba. 23. Borrar el directorio carpeta3 dentro del directorio prueba. 24. Crear un archivo vaco de nombre fcld.txt. 25. Cambiar la fecha de acceso del archivo.txt a 2010-02-16. 26. Mostrar el contenido del archivo /etc/passwd en pantalla. 27. Mostrar slo los directorios del directorio /etc/ en pantalla. 28. Mostrar todo el contenido de /proc utilizando un paginador. 29. Efecte la misma accin con el directorio /var/. 30. Muestra las primeras 8 lneas del archivo /etc/passwd. 31. Visualizar las ultimas 5 lneas del archivo /etc/group. 32. Liste los archivos tipo dispositivo de carcter en /dev/. 33. Despliegue todos los directorios de la carpeta /etc/ enumerados. 34. Buscar los archivos cuyos nombres terminen en .conf en /etc/. 35. Busque los archivos que tengan por extensin .txt utilizando el comando find. 36. Contar el nmero de lneas que contiene el archivo /etc/X11/xorg.conf. 37. Contar el nmero de caracteres contenidos en el archivo /etc/mtab. 38. Contar el numero de palabras contenidas en el archivo /etc/login.defs. 39. Visualizar la diferencia de los archivos /etc/passwd y /etc/passwd-. 40. Mostrar la diferencia de los archivos /etc/mtab y /proc/mounts. 41. Copia el archivo /etc/X11/xorg.conf a su directorio personal. 42. Copiar de forma recursiva el contenido de /tmp a carpeta1. 43. Cmo mostramos los archivos o directorios ocultos de su directorio? 44. Cree un archivo oculto. $ls l /etc > .oculto.txt 45. Mostrar el contenido del archivo .oculto.txt.
1Introduccin a Linux
Pgina 30 de 31
46. Convierta el archivo oculto a ordinario. 47. Cul es la tecla utilizada para el completado programable de los comandos en la shell? 48. Donde se almacenan los archivos de cada usuario? 49. Utilizando el comando cat, cree dos archivos, uno con 5 nombres, otro con 5 notas. 50. Crear un alias ll para el comando ls l. 51. Mencione dos formas de reiniciar su sistema.
1Introduccin a Linux
Pgina 31 de 31