You are on page 1of 12

Introduccin a Linux. I.

1. por qu Unix en bioinformtica? o Razones histricas Unix es un SO acadmico las herramientas centrales FASTA, BLAST, CLUSTALW, MAPMAKER estn escritas para Unix la web est escrita para Unix el manejo de las bases de datos ms pesadas empez bajo Unix o Razones prcticas Unix tiene un modelo I/O simple Unix posee buenas herramientas de programacin tiene una aproximacin building block a la programacin no requiere de interfaces grficas para los usuario o Caractersticas claves multitarea se pueden correr mltiples programas simultneamente multiusuario mltiples usuarios pueden ingresar al mismo tiempo network-ready fue concebido para el trabajo en redes, por lo que maneja a los usuarios remotos de igual modo que a los locales o Variantes de Unix Comerciales Solaris, SCO UNIX, Tru64 Unix.... Open source (libre) FreeBSD, Linux

2. entonces Linux... Linux es un sistema operativo (un conjunto de instrucciones que nos permiten realizar tareas en nuestro ordenador) iniciado por Linus Trovalds en 1991. Sus caractersitcas ms notables son:
o

proviene de Unix (otro sistema operativo), y por ello es potente, seguro y estable (resultando un sistema operativo ideal para

o o

servidores pero tambin excelente como sistema de oficina o escritorio) por esta misma razn, es un sistema multiusuario real y multitarea, y funciona de manera muy productiva en redes es parte del proyecto GNU, lo que significa que es libre (aunque no necesariamente gratuito) y se puede modificar su cdigo fuente, tanto para adaptarlo a tus propias necesidades como para contribuir en su continuo desarrollo

Tiempo despus, con el fin de adaptar el sistema operativo y facilitar su instalacin, nacieron las compaas distribuidoras de Linux. Si bien pueden cobrar por ofrecer sus productos en CD o algn otro soporte, deben poner su cdigo a disposicin del pblico en la medida en que han utilizado software GNU (bajo licencia GPL).
o

Mandrake, RedHat/Fedora, Debian, SuSE

Las diferentes distribuciones difieren en los scripts de instalacin, paquetes, manejo del escritorio... No existe una mejor que las dems sino alguna que se adapta mejor a tus necesidades.

3. algunos links de utilidad o proyecto GNU: http://www.gnu.org o sitio principal: http://www.linux.org o texto ms completo: RUTE Linux Tutorial and Exposition

4. archivos y sistema de archivos o nombres de archivos case sensitive, distinguen maysculas de minsculas e.g. Rhizobium, RHIZOBIUM, rhizobium, RHIZObium... son archivos diferentes y por tanto pueden estar en la misma ubicacin no es necesario que tengan una extensin, aunque suele existir a modo orientativo; asignar la misma extensin a los archivos de un mismo tipo puede resultar til para agruparlos fcilmente los nombres pueden llegar a ser muy largos caracteres recomendados: A-Z, a-z, 0-9, el punto (.), el guin (-) y el guin bajo (_)

no se permiten nombres con: espacios (se suelen sustituir por guin bajo), acentos y otros signos de puntuacin (excepto el punto), ni la sistema de archivos directorios en Linux (como en cualquier Unix) no existe el concepto de unidad para cada unidad fsica del disco o particin como en Windows el equivalente a una carpeta es el directorio, donde se ubican los archivos todos los discos duros o de red se montan bajo un sistema de directorios en rbol / es la raz del sistema de directorios /etc contiene los archivos de configuracin de la mayora de los programas /home contiene los archivos personales de los usuarios /bin contiene comandos bsicos y muchos programas /tmp ficheros temporales o de recursos de programas /usr programas y libreras instalados con la distribucin /usr/local programas y libreras instalados por el admiistrador /lib libreras varias y mdulos del kernel

5. usuarios y permisos Linux es un sistema operativo multiusuario. Cada usuario tiene su directorio en /home/usuario. Por defecto, slo puede escribir, modificar y borrar archivos dentro de ese directorio. Ningn otro usuario podr acceder a los archivos de su directorio, ni siquiera puede ver cules son. Adems, todos los programas recuerdan las preferencias de cada usuario. La excepcin es el root, o administrador del sistema. Es el usuario que tiene acceso a todos los directorios y archivos, as como a la configuracin del sistema. Es el que puede hacer todo con la mquina, incluso romperla. Todos y cada uno de los archivos y directorios del rbol jerrquico tienen permisos. Estos permisos indican, para cada usuario del sistema, si puede ejecutarlo, si puede ver su contenido o si puede borrarlo o modificarlo. Del mismo modo, cada elemento del sistema de archivos tiene un dueo. Por defecto, este dueo del elemento (tanto archivo como directorio) tiene acceso total a l y puede realizar todas las acciones posibles permitidas.
o o

todos los archivos de las carpetas de sistema y configuracin suelen tener a root como propietario los de la carpeta personal de cada usuario tienen a ese usuario como propietario, y el resto de los usuarios normales no tienen ningn permiso sobre estos elementos

Si bien los permisos parecen algo extraos, despus de un rato aprendes a leerlos. La primer columna indica el flag y se relaciona con el tipo de archivo. Luego vienen tres grupos de tres columnas, donde el primer grupo indica los permisos del propietario del fichero, el segundo los permisos del grupo de usuarios al que pertenece el propietario y el ltimo grupo de columnas refiere a los permisos que tienen todos los otros usuarios (algo as como owner group - world). Los permisos para leer, escribir y ejecutar se indican como r, w y x respectivamente. Cuando se refieren a un directorio, r significa que puedes listar su contenido, w que puedes crear y borrar archivos en l, mientras que x indica que puedes meterte (cd) en ese directorio. Ms sobre usuarios, grupos y permisos en el archivo PermisosLinux.pdf que se encuentra en la pgina 6. terminal o shell Las versiones actuales de Linux utilizan entornos grficos similares a las interfaces de Microsoft Windows o Macintosh.

No obstante, la manera ms habitual de administrar una mquina Linux es desde una terminal o intrprete de comandos, que es en modo texto y generalmente presenta un PROMPT.
o o

Un PROMPT es lo que el shell escribe automticamente en cada lnea, habilitndonos a que le demos instrucciones las instrucciones se dan como una lnea de comandos, opciones y argumentos y finalmente un INTRO para que sea recibido por la mquina y ejecutado

existen diferentes tipos de shell, con nombres como bash, sh, csh, tcsh... cada una con sus particularidades

PROMPT Hay diferentes visualizaciones posibles:


o o o o

tlaloc> natalia@tlaloc 1:12PM natalia@tlaloc Bioinformatics/Vol_12 $ [natalia@tlaloc Vol_12] #

El prompt indica que la terminal est pronta para aceptar un comando. Mientras un comando de ejecucin larga est corriendo, el prompt no va a reaparecer hasta que este finalice y el sistema quede pronto para el siguiente pedido.

Lnea de comandos: Mientras no se presione INTRO, te puedes mover sobre la lnea de comandos y editarla usando el teclado.
o o o o o

suprimir, backspace, flechas izquierda y derecha control-A: inicio de la lnea control-E: final de la lnea control-K: borra desde la posicin del cursor hasta el fin de la lnea flechas arriba y abajo: permite moverte entre las lneas de comandos utilizadas anteriormente (historial); en general se editan y vuelven a utilizar TAB: permite completar nombres de archivos, directorios, comandos que conoce la mquina; adems de agilizar la escritura, ayuda a evitar errores de tipeo, entre otros

Existen diferentes tipos de comandos, algunos como ls devuelven rpidamente una salida en la pantalla (en este caso una lista de los archivos existentes) y liberan el prompt, mientras que otros como clustalx abren una nueva interfaz, dejando inhabilitado el prompt hasta salir del programa ClustalX. Wildcards:
o

o o o o o o o

se refiere a entre 0 y ms caracteres (n indeterminado) e.g. *.txt se refiere a todos los archivos de extensin txt e.g. gen*.txt incluye genomics_course.txt y tambin genes.txt ? se refiere a un nico caracter e.g. genIg?.txt incluye genIgG.txt y genIgM.txt [0-9]* se refiere a cualquier combinacin de nmeros [a-d]* se refiere a cualquier combinacin de a, b c y d [^a-d]* se refiere a cualquier combinacin de caracteres excepto los especificados [ad] se refiere a la letra a d, una sola de ellas [ad]* se refiere a cualquier combinacin de los caracteres a y/o d [A-Za-z] se refiere a cualquier par de letras, siempre y cuando la primera sea en mayscula y la segunda minscula

7. logging Cuando ingreses como usuario a la mquina (va a ser necesario ingresar una contrasea) vas a estar en un lugar del sistema conocido como the home directory. Aqu podrs libremente crear y eliminar archivos y directorios (cosa que no podrs hacer en cualquier parte del sistema). El path (una variable que indica la ruta de directorios) en este caso es /home/nombreusuario. Como es un poco tedioso de escribir, el shell te permite abreviarlo a ~. Una vez finalizadas tus tareas, cierras la sesin en la terminal usando el comando exit.

8. algunos comandos bsicos de la terminal BASH El comando cd Es un comando que permite cambiar nuestro directorio de trabajo (change directory). Cuando trabajas con un archivo debes indicar el path en el que se encuentra. Alternativamente, puedes cambiarte a su directorio (usando cd) y por lo tanto ya no va a ser necesario indicar el path. Para ir a un nuevo directorio puedes usar una referencia absoluta o una relativa. Usas una referencia abosluta si estando en /home/natalia te cambias al directorio /home/natalia/leptosiras/secuencias. Como en realidad ya ests parado en /home/natalia/, puedes ir directamente a leptospiras/secuencias (usando slo una referencia relativa). De mucha utilidad, son dos complementos de la referencia relativa, el punto (.) que indica el directorio actual y los dos puntos (..) que indican el directorio inmediatamente superior. Mientras .. es muy usado para moverse entre los directorios, . se utiliza ms en referencia a archivos ejecutables. Una vez que te loggees en la mquina, descarga de la pgina del curso el fichero TallerBioinfo al escritorio de tu mquina y luego ubcate en el directorio en el que se encuentra el archivo Monica.txt. Para construir el path puedes ayudarte viendo el navegador grfico primero. [usuario@maquina ~] $ cd Desktop/TallerBioinfo/Linux/ qu otros archivos se encuentran en el directorio? [usuario@maquina Linux] $ ls cuntos directorios tienen a TallerBioinfo como su directorio superior? [usuario@maquina Linux] $ cd ..

[usuario@maquina TallerBioinfo] $ ls o tambin puedes hacer (ms rpido): [usuario@maquina Linux] $ ls .. El comando ls Este comando lista la informacin de los archivos y directorios contenidos en el directorio indicado (por defecto el actual). Tiene diferentes opciones, como ser -1 (muestra un solo fichero por lnea de salida), -l (la salida tiene un formato largo, indicndose dueo, permisos, tamao, fecha de modificacin) y -R (lista subdirectorios recursivamente). Para saber sobre otras opciones, tu puedes recurrir a la ayuda de este comando, usando la opcin -help. El comando help Este comando, usado bajo la forma comando --help, despliega informacin acerca del comando requerido. Indica cules son las opciones y argumentos asociados a cada comando. Prueba de obtener ayuda sobre el comando ls. [usuario@maquina Linux] $ ls --help Intenta obtener una lista de los ficheros contenidos en el Desktop. Prueba con diferentes opciones del comando ls. Recuerda que puedes ubicarte en el directorio Desktop, pero tambin puedes lograr la lista desde dnde te encuentres en este momento. Importante, recuerda ayudarte con el tabulador para completar las rutas. Un camino: [usuario@maquina Linux] $ ls -R ~/Desktop/ Otro: [usuario@maquina Linux] $ cd ~/Desktop/ [usuario@maquina Desktop] $ ls -R Las diferentes opciones pueden utilizarse juntas (al menos en el caso del comando ls). Prueba de realizar ls -Rl y ls -lR. Los outputs son iguales? Qu permisos tienes sobre cada fichero? El comando mkdir Este comando sirve para crear directorios dentro del espacio de la mquina donde tienes permiso para hacerlo (usualmente en /home/usuario). Puedes sealar la ubicacin del nuevo directorio con un path absoluto o relativo. Queremos crear los directorios pruebas y Pruebas dentro del directorio nuevo mis_pruebas.

[usuario@maquina Desktop] $ mkdir mis_pruebas [usuario@maquina Desktop] $ cd mis_pruebas una opcin: [usuario@maquina mis_pruebas] $ mkdir pruebas otra: [usuario@maquina Desktop] $ mkdir mis_pruebas/Pruebas Los comandos mv y cp Con el comando mv puedes cambiar archivos y directorios de lugar. La sintaxis de estos comandos es: mv/cp fichero_origen fichero_destino. Como otras veces, puedes usar referencias absolutas o relativas. Prueba copiar Monica.txt hasta la carpeta Pruebas. Una alternativa es, estando en TallerBioinfo: [usuario@maquina TallerBioinfo] $ cp ./Linux/Monica.txt ../mis_pruebas/Pruebas Intenta alguna otra alternativa y verifica con ls que efectivamente se hayan copiado al directorio indicado. Si observas atentamente, el comando mv (y tambin cp) puede utilizarse para renombrar archivos. Slo es necesario indicar un nuevo nombre para ese archivo en el destino. [usuario@maquina Desktop] $ mv mis_pruebas Mispruebas Intenta un cambio de nombre usando cp. Los comandos rmdir y rm El comando rmdir permite borrar directorios vacos. En caso contrario sale una advertencia. El comando rm permite borrar uno o varios archivos. La opcin -R hace que el comando opere con recursividad, esto es, que se vaya adentrando nivel por nivel y borrando todo lo que encuentra. La opcin -i hace la eliminacin interactiva (pide confirmacin antes de proseguir). Muy importante, trabajando desde una terminal, los ficheros una vez eliminados, son prcticamente imposibles de recuperar. Adems, recuerda que puedes utilizar los wildcards para borrar mltiples ficheros al unsono o alguno cuyo nombre no recuerdas exactamente. Genera una copia del directorio Mispruebas y su contenido, utilizando un nuevo nombre, por ejemplo Mis_Pruebas. Adems genera nuevas copias del archivo Monica.txt, con los nombres Monica2.txt, Juan.txt, Monica_Juan.txt, MonicaJuan, Juan2. Ahora: [usuario@maquina Desktop] $ cd Mis_Pruebas/Pruebas [usuario@maquina Pruebas] $ ls [usuario@maquina Pruebas] $ rm *.txt [usuario@maquina Pruebas] $ ls

cules archivos se borraron? cuntos restan en el directorio? Ahora vuelve al desktop y borra toda la carpeta Mis_Pruebas. Primero intenta: [usuario@maquina Desktop] $ rm Mis_Pruebas [usuario@maquina Desktop] $ rmdir Mis_Pruebas qu ocurri? Ahora prueba: [usuario@maquina Desktop] $ rm -Ri Mis_Pruebas Te sientes confuso? Prueba ver que hacen los comandos whoami (Who am I?), pwd (print working directory o Where am I?). Y si ests perdido del todo puedes usar el comando hostname para averiguar What am I?

You might also like