Vous êtes sur la page 1sur 31

Practica 1 Introduccin a Linux

Sistemas Operativos Grado Sistemas de Informacin

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.

5 Estructura de directorios bsica en GNU/Linux


Al igual que MS-DOS o Windows, los ficheros de UNIX estn organizados en una estructura jerrquica de directorios. Lo primero que todo usuario comprueba nada ms instalar GNU/Linux es que no tiene ni idea de dnde estn los programas, sus archivos, ... GNU/Linux tiene un complejo sistema de archivos, el cual permite tener nuestros archivos mejor organizados. Aqu no existen letras para referirnos a nuestras unidades. Se utiliza una terminologa mucho ms lgica. Por ejemplo: Los discos duros comienzan con la letra hd (sd si nuestro disco es SATA) seguido de una letra y un nmero. La letra indica el nmero de disco duro y el dgito nos indica el nmero de la particin. Si tenemos hda1 = primera particin del primer disco duro. hdb3 = tercera particin del segundo disco duro. En GNU/Linux no existe Mi PC ni nada que se le parezca. Hay que tener en cuenta una cosa y es que GNU/Linux trata casi todo como ficheros de texto, incluso nuestro hardware. Para GNU/Linux, el microprocesador, el disco duro, la memoria, ... son ficheros de texto en los que puede leer y/o escribir informacin. Los archivos ocultos en Linux se caracterizan por llevar un . (punto) delante del nombre. Para ver los archivos ocultos (en Nautilus) pulsamos Ctrl+H. Directorios El directorio raz es /. De aqu cuelgan todos los directorios del sistema. Dentro del directorio raz encontramos varios subdirectorios importantes:

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

programas. /tmp Este directorio contiene informacin temporal de los programas.

/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.

6 Comandos bsicos para el manejo de directorios


6.1 El primer comando que utilizaremos ser el pwd Este comando lo que hace es mostrar por pantalla el directorio de trabajo. No hay que confundir el directorio de trabajo con el directorio home. El directorio de trabajo (o directorio actual) es aquel en que nos encontremos en cada momento. Ejemplo: tecleamos pwd y nos muestra: /home/lab2p7 que es el directorio donde estamos nada mas arrancar (en el caso en que seamos lab2p7, claro).

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.

7 Comandos bsicos para el manejo de archivos


Un archivo en Linux/UNIX es simplemente una cantidad de informacin en forma de bytes agrupados en una unidad que designamos como archivo o fichero. Al sistema operativo le da igual lo que haya dentro del archivo, para l ste es slo una secuencia de bytes. Cada programa se encargar de tratar el archivo de forma correcta para utilizar su contenido. Un directorio es un archivo, aunque de forma abstracta pensamos que un directorio es un contenedor o carpeta en la que pueden existir archivos o ms directorios. Lo que realmente ocurre es que un directorio es un archivo que almacena informacin sobre otros archivos (a los que contiene) como su tamao, permisos, hora de creacin, etc. Una vez que utilizamos ls para ver el contenido de un directorio, pasemos a ver otra serie de comandos: file argumentos El comando file intenta averiguar el tipo del archivo o los archivos que le pasemos como argumentos. Determina si el archivo es texto, ejecutable, imagen, sonido, pgina HTML, o cualquier cosa. Si es incapaz de determinar el tipo de contenido muestra data. Este comando mira los primeros fragmentos del archivo intentando identificarlo. cp origen origen2 origen3 origen4 origenN destino

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

unalias nuevo_comando Destruye el efecto de la orden anterior.

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

9 Viendo el interior de los archivos


Para ver que contiene un archivo necesitamos saber de qu tipo es lo que contiene. Esto es, un archivo que sea una pgina Web contendr cdigo HTML, slo comprensible por los navegadores de Internet. Un archivo de imagen JPEG contendr datos que slo el algoritmo de codificacin de imagen JPG ser capaz de entender, por lo cual este archivo slo podr ser visto en un programa visualizador de imgenes, y se podran seguir enumerando ejemplos de este tipo. Por tanto, los nicos archivos que podemos ver directamente (por llamarlo de alguna manera) son los archivos de texto. Para ello, tenemos varias herramientas simples:

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

Introduccin a Linux: Comandos Pgina 16 de 16


empleo(por defecto) -P, --portability utiliza el formato --sync llama a sync antes de obtener empleo -t, --type=TIPO restringe el listado tipo TIPO -T, --print-type muestra el tipo del -x, --exclude- type=TIPOrestringe el de ficheros que no son del tipo TIPO POSIX para el resultado el modo de a sistemas de ficheros de sistema de ficheros listado a los sistemas

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.

12 Otros comandos bsicos


Algunos comandos que nos sern tiles en el laboratorio son los siguientes: passwd: Cambia nuestra contrasea. No debemos utilizar contraseas con, tildes u otros caracteres que no sean de ingls americano o no podremos acceder al entorno en ciertas ocasiones.

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:

Dcimo Primera Parte:


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.

Dcimo Segunda Parte:

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.

Dcimo Tercera Parte:

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.

Dcimo Cuarta Parte:

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.

Dcimo Quinta Parte:

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.

Dcimo Sexta Parte:

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.

Dcimo Sptima Parte:

El comando touch puede ser utilizado para crear archivos vacos. Como ejercicio crea uno de esta forma: $ touch Linux.txt

Visualiza los atributos de este archivo con el comando ls.

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

Anexo A. Ayuda en linux 1.1 --help


Posiblemente la primera opcin de ayuda en Linux, al menos para programas ejecutados desde la lnea de comandos, sea la propia ayuda del programa. Prueba a teclear comando --help|more y vers en pantalla una breve descripcin del programa y de sus opciones.

1.2 man pages


La forma ms rpida y completa de obtener ayuda en Linux es acudir a las man pages. Como contrapartida, la informacin no est presentada de forma exactamente intuitiva y puede ser un poco frustrante si no sabes ni siquiera por dnde empezar a buscar. Para invocar la ayuda, desde una terminal escribe man comando, donde comando es el tem sobre el que deseas ayuda. Por ejemplo teclea en una terminal: man rpm

RPM(8) NAME rpm - RPM Package Manager

Red Hat Linux

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.

1.3 Organizacin de las pginas man


Para Linux todas las pginas man son parte del mismo manual, estructurado en secciones:

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

Puedes indicar la seccin que quieres leer: man 7 ls.

1Introduccin a Linux

Pgina 25 de 31

1.4 Convenciones de sintaxis en man


Normalmente todas las pginas man tienen la misma estructura, comenzando con el nombre del tem sobre el que trata la pgina, y sinopsis donde se suele incluir un esquema de la sintaxis:nombre_comando [indicadores opcionales] otros elementos. El texto en negrita representa lo que debe teclear el usuario; las palabras en cursiva o subrayadas son parmetros o argumentos debiendo escribir el valor en su lugar Los indicadores opcionales se suelen indicar mediante letras encerradas en corchetes, y puedes escribirlos juntos o separados: rpm -Va o tambin rpm -V -a. Normalmente cada delimitador tiene versin corta y larga. En este caso la larga sera: rpm --verify --all. Si encuentras varios elementos opcionales encerrados en corchetes y separados entre s por una barra vertical | esto te indica que no puedes usar estos elementos juntos. Y en cuanto a los argumentos, si incluyen unos puntos suspensivos quiere decir que puedes incluir varios. La pgina man tambin te informar si los argumentos van separados por espacios o comas.

1.5 a propsito de ...


apropos o su equivalente man -k te permite buscar en man palabras clave (en ingls). whatis y su equivalente man -f son muy parecidos a apropos pero solo buscan resultados entre los nombres de programas.

1.6 man pages en html


Si deseas ver las pginas de man en tu navegador, puedes desde consultarlas online, en alguno de los muchos sitios dedicados a ello, escribiendo en la barra de direcciones man: comando. Desde la lnea de terminal tambin puedes pasar una pgina man a html con man2html. Este programa tiene distintas formas de uso, pero quizs la ms sencilla sea simplemente (tras instalarlo) apuntar tu navegador a http://localhost/cgi-bin/man/man2html y empezar a usarlo (solamente para las man en ingls).

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

A continuacin los comandos ms usuales para usar info:


Funcin Tecla Uso

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)

Arriba varias lineas

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.

1.9 Otras ayudas


Puedes buscar documentacin adicional en usr/doc. Adems es prctica habitual en todas las distribuciones Linux que el navegador de internet predeterminado del sistema tenga como pgina de inicio un archivo con notas acerca de dicha distribucin, con enlaces a FAQs y grupos de ayuda. Por su parte los sistemas de escritorio ms conocidos como KDE o Gnome tambin disponen de ayudas accesibles desde sus propios mens.

1Introduccin a Linux

Pgina 28 de 31

ANEXO B Otras cuestiones


1. Entre en el sistema, y luego abra un terminal. 2. Ejecute los comandos presentados en este orden, explicando su resultado:
date whoami hostname uname uptime

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

Vous aimerez peut-être aussi