intro linux for tics

164
Introducción a Linux Alberto Labarga Experimental Serendipity Data analysis workshop for massive sequencing data Granada, 13 de Junio de 2011

Upload: alberto-labarga

Post on 05-Jul-2015

961 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Intro Linux for tics

Introducción a LinuxAlberto Labarga – Experimental SerendipityData analysis workshop for massive sequencing dataGranada, 13 de Junio de 2011

Page 2: Intro Linux for tics

http://www.slideshare.net/alabarga/introduction-to-linux-for-bioinformatics

Page 3: Intro Linux for tics

Proyecto GNU

• Richard Stallman

• Proyecto GNU creado en el año 1984.– Software Libre

– Licencias GPL

– Free Software Fundation

Page 4: Intro Linux for tics

Estructura de GNU

Page 5: Intro Linux for tics

Linux

• Linus Torvalds.

• Nucleo Linux (1991)– Compatible con Unix

– Licenciado bajo GPL

– Publicado en Internet

Page 6: Intro Linux for tics

Nucleo de Linux

Page 7: Intro Linux for tics

GNU + Linux

Page 8: Intro Linux for tics

GNU + Linux

Page 9: Intro Linux for tics

Componentes de una

distribución

Page 10: Intro Linux for tics

Componentes de una

Distribución

Page 11: Intro Linux for tics
Page 12: Intro Linux for tics

Recomendaciones

http://distrowatch.com

http://www.jomuoru.net/wp-content/uploads/2010/03/gldt102-full.png

Page 13: Intro Linux for tics
Page 14: Intro Linux for tics
Page 15: Intro Linux for tics

Shells

• Los usuarios de Linux con frecuencia utilizan un tipo

especial de programa llamado shell para interactuar con

el kernel.

• Sistemas UNIX disponen de diferentes Shell: Bourne

shell (sh), C shell (csh), Korn shell (ksh), TC shell (tcsh),

Bourne Again shell (bash).

• La más popular es la “bash” shell.– echo $SHELL

Page 16: Intro Linux for tics

Shells

• La shell se ejecuta dentro de una terminal emitiendo un

"prompt“ y esperando a que le digan qué hacer.

• Luego, el usuario le pide a la shell que ejecute un

programa escribiendo el nombre del programa.

• La shell bash se puede utilizar de modo interactivo o

como un lenguaje de escritura de gran alcance.

• La shell bash guarda el historial de las líneas de

comando ejecutadas. La líneas de comando se pueden

recuperar desde el historial.

Page 17: Intro Linux for tics

Shells

• Al arranque Bash ejecuta comandos hallados en el

archivo ~/.bashrc, permitiéndole a los usuarios

personalizar su shell.

Page 18: Intro Linux for tics

Inicio de sesión en una máquina

a través de la red• Al utilizar la opción ssh ("secure shell"), los usuarios

pueden iniciar una sesión fácilmente en máquinas

remotas ya sea en el mismo lugar o al otro lado del

mundo.

Page 19: Intro Linux for tics

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

putty download

Page 20: Intro Linux for tics
Page 21: Intro Linux for tics

http://winscp.net/eng/docs/lang:es

winscp download

Page 22: Intro Linux for tics
Page 23: Intro Linux for tics

Para empezar

Algunos comandos para ir jugando:

whoami – muestra el nombre del usuarioid – muestra la información sobre el usuariowho – muestra otros usuarios logueadosdate – fecha/hora del servidorcal – muestra el calendariohistory – muestra el historial de comandos

Page 24: Intro Linux for tics

Información del sistema

• uname

• hostname

alabarga@genome2:~$ uname -a

Linux genome2 2.6.28-15-generic #49-Ubuntu SMP Tue Aug 18 19:25:34

UTC 2009 x86_64 GNU/Linux

alabarga@genome2:~$ hostname

genome2

Page 25: Intro Linux for tics

quién se encuentra en el

sistema• El comando whoami simplemente entrega el nombre del

usuario actual.

• Los usuarios pueden utilizar el comando who, w y

finger para determinar quién se encuentra en el sistema

y cómo iniciaron la sesión.

alabarga@genome2:~$ who

alabarga pts/0 2010-11-23 23:24 (159.red-88-24-133.staticip.rima-tde.net)

Page 26: Intro Linux for tics

Listado del contenido de un

directorio con ls• Desde una shell los usuarios pueden utilizar el comando

pwd para conocer donde se encuentran y ls para hacer

un listado del contenido del directorio..ls -al

• También se puede usar find

alabarga@genome2:~$ pwd

/home/alabarga

alabarga@genome2:~$ ls

101x GenomeStudio-Docs.zip

4store GenomeStudio-Software-2009.2.exe

alignment.html gpu

analisisMicroarrays.tar igv papersTesis

apache-solr-1.4.0.zip igv.log pmids.txt

apache-tomcat-6.0.20 IGVTools pubby-0.3

Page 27: Intro Linux for tics

Listado de árboles de

directorios• El comando ls, cuando se da un directorio como

argumento, éste lista el contenido del directorio.

• Por defecto, el comando ls sólo mostrará el contenido

del directorio del nivel más alto.

• Para que el comando ls liste los subdirectorios, puede

añadir la opción -R.

Page 28: Intro Linux for tics

El directorio de inicio del

usuario• Cada usuario del sistema Linux se le asigna un

directorio especial llamado su directorio de inicio “home

directory”.

• Cuando un usuario inicia sesión en el sistema por

primera vez se le ubica "en" su directorio de inicio, es

decir, el sistema configura su directorio de inicio como

su directorio de trabajo inicial.

• Habitualmente, el subdirectorio del usuario se posiciona

bajo el /home directory con el nombre de la cuenta del

usuario: /home/alabarga

Page 29: Intro Linux for tics

root vs./root vs./ (la raíz del

sistema de archivos)• La raíz o el "root" en inglés, es el nombre de usuario del

superusuario, es decir, el usuario con autoridad suprema

sobre el sistema.

• También es el nombre del directorio de inicio de ese

usuario, /root.

• Este término se utiliza para la base (¿la parte superior?)

del árbol de directorios del sistema de archivos, el

directorio /.

Page 30: Intro Linux for tics

El directorio temporal /tmp

• Los usuarios tienen acceso para compartir un espacio

de "borrador", en el directorio /tmp.

• El directorio /tmp le da a todos los usuarios acceso a

espacio adicional para cumplir con necesidades a corto

plazo sin cargar el espacio en su cuota.

• El sistema borra automáticamente los archivos puestos

en este directorio después de unos días.

Page 31: Intro Linux for tics

El directorio de configuración

/etc• Los archivos de configuración normalmente se colocan

en /etc o en un subdirectorio de /etc.

• Los usuarios comunes no pueden modificar los archivos

en /etc

• Los administradores de sistemas invierten bastante de

su tiempo trabajando con los archivos almacenados

aquí.

Page 32: Intro Linux for tics

Los directorios de comandos

/bin y /usr/bin• La mayoría de los comandos del sistema se encuentran

almacenados como archivos binarios en un formato

legíble para la máquina.

• Los comandos apropiados para el uso de usuarios

comunes se suelen ubicar en los directorios binarios /bin

o /usr/bin.

• Las utilidades más importantes como ls, cd, cp, mv y el

editor de texto vi, sin los cuales no se podría usar el

sistema van en /bin.

• Las utilidades adicionales como los compiladores, su

navegador de web y la suite de oficina van en /usr/bin

Page 33: Intro Linux for tics

Los directorios de comandos

/sbin y /usr/sbin• /sbin y /usr/sbin almacenan archivos de comandos para

que el superusuario root los utilice.

• Estos incluyen comandos para adjuntar y quitar

hardware, para iniciar y detener el sistema y para

realizar mantenimiento del sistema.

Page 34: Intro Linux for tics

El directorio "variable" /var

• Algunos archivos, cambian con frecuencia.

• Estos incluyen:– Correo electronico entrante y saliente,

– Log de sistemas,

– Sitios web sites,

– Archivos ftp, entre otros.

• Archivos y directorios con contenido variable suelen

recopilarse en el directorio /var.

• El colocar dichos archivos aquí hace más fácil

asignarles espacio y proteger los archivos más estables

que se encuentran en alguna otra parte del sistema.

Page 35: Intro Linux for tics

Cambio de sitio- El comando cd

• Los Procesos pueden cambiar sus cwd cuando sea

necesario.

• Esto incluye la shell de comando bash, la cual

proporciona el comando cd (del ingleś change directory)

para cambiar el directorio actual desde el intérprete de

comandos.

Page 36: Intro Linux for tics

Nombres de directorios

especiales

Simbolo Significado

. El actual directorio de trabajo

.. El directorio padre

~ El directorio home del usuario

- El anterior directorio de trabajo

/ El directorio raíz

Page 37: Intro Linux for tics

Creación de directorios

(nuevos, vacíos): mkdir• El comando para hacer un directorio nuevo es el

comando mkdir (del inglés make directory).

• Uso: – mkdir [OPCIONES] {DIRECTORIO...}

– Crea el(los) DIRECTORIO(s) si no existe(n). Falla y emite un mensaje

de error si uno o más de los DIRECTORIO(s) existen, pero los nuevos

directorios restantes son aún creados.

Page 38: Intro Linux for tics

Borrar directorios (vacíos): rmdir

• El comando para borrar un directorio es rmdir. (remover

directorio).

• Uso: – rmdir [OPCIONES] {DIRECTORIO...}

– Suprime el (los) DIRECTORIO(s) si están vacíos. Emite un mensaje de

error si uno o más del (los) DIRECTORIO(s) no está(n) vacío(s), pero

los directorios que quedan (vacíos) se borran. Tenga en cuenta que un

directorio que contiene sólo un subdirectorio no se considera como

vacío.

Page 39: Intro Linux for tics

Tamaño

• df # disk space

• free -g # memory info in Megabytes

• du -sh # disk space usage of current directory

• du -sh * # disk space usage of files/directories

• du -s * | sort -nr # shows disk space used by different

directories/files sorted by size

Page 40: Intro Linux for tics

Ver el contenido de un archivo

con cat• Aunque hay varios comandos disponibles para ver los

archivos, el comando más sencillo es cat.

• Cuando se le da una lista de archivos al comando cat

este concatena los archivos a la salida del terminal.

• También podemos usar more y less

Page 41: Intro Linux for tics

El comando head

• head [OPCIONES] [ARCHIVO...]

• Algunas veces todo lo que se necesita al examinar un

archivo es ver las primeras líneas del archivo. El

comando head nos permite hacer esto.

Page 42: Intro Linux for tics

El comando tail

• tail [OPCIONES] [ARCHIVO...]

• Para complementar head, el comando tail muestra las

últimas 10 líneas de cada FILE a la salida estándar.

• El comando tail tiene otra opción bastante útil: la opción

-f (follow). Con esta opción tail mostrará las últimas

líneas del archivo y luego "espera" y continua

presentando cualquier nueva línea al ser añadida al

archivo.

Page 43: Intro Linux for tics

Redireccionamiento de salidas

de los comandos a archivos• ls y cat ejecutan su salida y se presentan en el terminal.

• La mayoría de los comandos que generan texto en la

salida utilizan un concepto común de Unix denominado

"salida estándar".

• La shell bash permite a los usuarios "redireccionar" la

salida estándar a otros lugares.

• Por ahora, vamos a aprender el caso más fácil: la

utilización del caracter > para redireccionar la salida

estándar a un archivo.

Page 44: Intro Linux for tics

redirecciones

• La shell bash usa > para redirigir un flujo de stdout de

proceso a un archivo.

• Para agregar una salida de un comando a un archivo, en

lugar de sobrescribirlo, bash usa >>.

• bash usa < para hacer que lean entradas desde alguna

parte diferente al teclado.

ls > mis_archivos.txt

Page 45: Intro Linux for tics

Comando echo

• El comando echo toma cualquier texto que se teclee

como parte del comando y lo repite a la salida estándar

(usualmente lapantalla)

• Este comando sencillo junto con el redireccionamiento,

se puede utilizar para crear archivos de texto.

echo hola > saludo.txt

echo buenos dias >> saludo.txt

cat saludo.txt

Page 46: Intro Linux for tics

Entrada estándar (stdin), salida estándar

(stdout), error standard (stderror)

• Los programas de terminal suelen leer información como

un flujo desde una sola fuente tal como el teclado de

una terminal (stdin)

• Generalmente, escriben información como un flujo a un

solo destino como por ejemplo una pantalla (stdout)

• Generalmente, stdin y stdout están conectadas a la

terminal que ejecuta el comando.

• Se considera conveniente redirigir (stdin) desde (stdout)

hacia los archivos.

• Los programas Unix reportan condiciones de error a un

destino llamado error estándar (stderr).

Page 47: Intro Linux for tics

Descriptores de Archivos

Flujo Descriptor Abreviación

Standard In 0 stdin

Standard Out 1 stdout

Standard Error 2 stderr

• Como protocolo de Linux (y Unix), cada proceso hereda tres archivos abiertos tras el inicio.– Primero, descriptor de archivo 0, es la entrada estándar.

– Segundo, descriptor de archivo 1, es la salida estándar.

– Tercero, descriptor de archivo 2, es el error estándar.

Page 48: Intro Linux for tics

redirecciones

• Usualmente, stderr está conectado a una pantalla de

terminal y los mensajes de error se encuentran

entremezclados con las salidas estándar.

• Cuando se utiliza la shell bash, el flujo de stderr puede

redirigirse a un archivo mediante 2>.

• Al utilizar bash, el flujo de stderr puede combinarse con

el flujo de stdout mediante 2>&1 o >&

ls > rcsummary.out 2> rcsummary.err

ls > rcsummary.out 2>&1

Page 49: Intro Linux for tics

Redirección de stdin, stdout y

stderr en bash

sintaxis efecto

cmd < file Redirigir stdin desde file

cmd > file Redirigir stdout a file. Reescribir si existe

cmd >> file Redirigir stdout a file. Agregar si existe

cmd 2> file Redirigir stderr a file. Reescribir si existe

cmd 2>> file Redirigir stderr a file. Agregar si existe

cmd > file 2>&1 Combinar stdout y stderr a file

cmd >& file Combinar stdout y stderr a file

Page 50: Intro Linux for tics

Ejemplo

alabarga@genome2:~$ ls *.zz

ls: cannot access *.zz: No such file or directory

alabarga@genome2:~$ ls *.zz > zz.txt

ls: cannot access *.zz: No such file or directory

alabarga@genome2:~$ cat zz.txt

alabarga@genome2:~$ ls *.zz >& zz.txt

alabarga@genome2:~$ cat zz.txt

ls: cannot access *.zz: No such file or directory

Page 51: Intro Linux for tics

Tuberías

• El flujo de stdout desde un proceso puede estar

conectado al flujo de stdin de otro proceso mediante lo

que Unix llama una "tubería".

• Varios de los comandos en Unix están diseñados para

operar como un filtro, leer la entrada desde stdin y

enviar la salida a stdout.

• bash usa "|" para crear una tubería entre dos

comandos.

Page 52: Intro Linux for tics

Vim: control

• vi my_file

• i # INSERT MODE

• R # replace MODE

• ESC # NORMAL (NON-EDITING) MODE

Page 53: Intro Linux for tics

vim

• : # commands start with ':'

• :w # save command; if you are in editing mode you have

to hit ESC first!!

• :w new_filename # saves into new file

• :#,#w new_filename # saves specific lines (#,#) to new

file

• :q # quit file, don't save

• :q! # exits WITHOUT saving any changes you have

made

• :wq # save and quit

Page 54: Intro Linux for tics

Vim: moving around

• :# go to specified line number

• $ # moves cursor to end of line

• A # same as $, but switches to insert mode

• 0 (zero) # moves cursor to beginning of line

• CTRL-g # shows at status line filename and the line you

are on

• SHIFT-G # brings you to bottom of file, type line number

(isn't displayed) then SHIFT-G # brings you to specified

line#

Page 55: Intro Linux for tics

Vim: more commands

• d$ # deletes from cursor to the end of the line

• dd # deletes entire line

• :s/old_pat/new_pat/ # replaces first occurrence in a line

• :s/old_pat/new_pat/g # replaces all occurrence in a line

• :%s/old_pat/new_pat/g # replaces all occurrence in file

• u # undo last command

Page 56: Intro Linux for tics

Copiar archivos

• Puede copiar archivos de un directorio a otro o de un

nombre a otro (renombrarlos) con el comando cp (copy).

• Uso: – cp [OPCIONES] {FUENTE} {DESTINO}

– cp [OPCIONES] {FUENTE...} {DIRECTORIO}

• Ejemplos:– cp saludo.txt hola.txt

– cp hola.txt /tmp

Page 57: Intro Linux for tics

Mover/renombrar archivos

• Puede mover archivos de un directorio a otro o de un

nombre a otro (renombrarlos) con el comando mv

(mover).

• Uso: – mv [OPCION...] {FUENTE} {DESTINO}

– mv [OPCION...] {FUENTE...} {DIRECTORIO}

• Ejemplos:– mv saludo.txt borrar.txt

– mv borrar.txt /tmp

Page 58: Intro Linux for tics

Borrar archivos

• Se pueden suprimir (eliminar, borrar) archivos con el

comando rm (remove).

• Uso:– rm [OPCIONES] {ARCHIVO...}

• Examples:– rm /tmp/borrar.txt

Page 59: Intro Linux for tics

Copiar árboles de directorios

• El comando cp puede ser usado para copiar arboles de

directorios completos con la opción: -r (recursivo).

cp –R seq2011 backup

Page 60: Intro Linux for tics

Borrar árboles de directorios

• Con la opción correcta, el comando rm puede borrar o

eliminar arboles de directorios completos.

rm –R backup

Page 61: Intro Linux for tics

Nombres y comodines de

archivos• Conceptos clave

– Los nombres de archivos pueden contener casi cualquier caracter a

excepción de /.

– Aunque los nombres de archivos pueden contener casi cualquier

caracter eso no significa que deban contenerlos.

– Los archivos que comienzan con . son archivos "ocultos".

– Los caracteres *, ?, [...], y [^...] se pueden utilizar para encontrar los

archivos con nombres de archivos similares por medio de un proceso

llamado "comodines de archivo".

Page 62: Intro Linux for tics

Nombres de archivo

• En Linux, virtualmente cualquier caracter imprimible se

puede utilizar en el nombre de archivo y los nombres

pueden ser casi de cualquier longitud.– Los nombres de archivos de Linux pueden tener hasta 255 caracteres.

– Pueden contener cualquier caracter imprimible (y algunos que no lo

son) a excepción de la barra oblicua /.

• Caracteres "seguros" para nombres de archivos– A-Z a-z 0-9 . _ - + ~

– Watch those spaces!

Page 63: Intro Linux for tics

Archivos ocultos

• Los nombres de archivos y directorios (recuerde un

directorio es un tipo de archivo) que comienzan por un

punto (.) son archivos "ocultos".

• Estos archivos no aparecen en los listados de directorio

producidos por ls a menos que se utilice la opción de

comando especial -a.

Page 64: Intro Linux for tics

"Comodines"

• La shell de comando bash trata algunos de sus meta-

caracteres especiales como comodines.

• The shell performs a process called meta-character

expansion or wildcard expansion

• El shell realiza un proceso llamado expansión de meta-

caracteres o expansión de comodines– Genera una lista de nombres de archivos que coinciden con el patrón

descrito por la expresión del comodín

– Luego, pasa la lista generada al comando.

– Todo esto, se conoce comúnmente como "comodines de nombres de

archivos."

Page 65: Intro Linux for tics

Caracteres Comodines

Caracter Efecto

*coincide con cero o más caracteres (a excepción del punto inicial)

?coincide exactamente con un caracter (a excepción del punto inicial)

[...]coincide exactamente con un caracter de la lista o rango

[^...]coincide exactamente con un caracter no incluido en la lista o rango

Page 66: Intro Linux for tics

Ejemplo de Comodines

Patrón Genera la Lista

* todos los archivos en la lista

*.html page1.html page2.html

page*.htm* page1.html page2.html page3.htm page40.htm

image?.* image1.jpeg image2.jpeg

[ps]* page1.html page2.html page3.htm page40.htm script1.pl

[^ps]* image1.jpeg image2.jpeg image10.jpeg image11.jpeg

Page 67: Intro Linux for tics

Búsquedas

• find– find -name "*pattern*" # searches for *pattern* in and below current

directory

– find /usr/local -name "*blast*" # finds file names *blast* in directory

– find /usr/local -iname "*blast*" # same as above, but case insensitive

– find . -mtime -1

– find . -mtime -1 –ls

– find / -size +10000k

• additional useful arguments: -user <user name>, -group

<group name>, -ctime <number of days ago changed>

Page 68: Intro Linux for tics

Búsquedas

• locate– locate "*.dat" –q

– -i, in case you wanted to perform a case insensitive search

– -c, instead of writing file names on standard output, write the number of

matching entries only.

• which <application_name> # location of application

• whereis <application_name> # searches for executables

Page 69: Intro Linux for tics

wget

• Descarga recursos de modo recursivo, en ambiente no

interactivo de los protocolos HTTP, HTTPS y FTP.

• Cuando se llama con una URL como su argumento, el

comando wget recupera el contenido de la URL y lo

almacena en un archivo local en el directorio actual de

trabajo del mismo nombre.

export http_proxy=http://stargate.ugr.es:3128/

Page 70: Intro Linux for tics

Manipulación de ficheros

de texto

Page 71: Intro Linux for tics

Comando Word Count (wc)

• El comando wc cuenta el numero de caracteres,

palabras y lineas.

• Tomará su entrada ya sea de archivos llamados en su

línea de comandos o desde su entrada estándar.

wc [-c] [-l] [-w] [filename…]

Page 72: Intro Linux for tics

Búsqueda de Texto: grep

• grep es un comando que imprime en pantalla líneas

coincidentes con un patrón de una cadena de texto

especificado.

• grep suele utilizarse como filtro para reducir salida a

sólo lo deseado.

• grep -r buscará de modo recursivo bajo un directorio

determinado.

• grep -v imprime líneas NO coincidentes con una cadena

o patrón de texto.

• Muchas de las opciones permiten a los usuarios

especificar el formato de salida de grep.

Page 73: Intro Linux for tics

grep

Page 74: Intro Linux for tics

Ordenando todo: sort

• Conceptos clave– El comando sort clasifica datos en orden alfabético.

– sort -n ordena numéricamente.

– sort -u clasifica y suprime duplicados.

– sort -k y -t clasifica en un campo específico.

ls -s | sort -n

Page 75: Intro Linux for tics

Opciones para especificar el

orden de clasificación

Page 76: Intro Linux for tics

El comando uniq

• El programa uniq se utiliza para identificar,

contar o suprimir registros duplicados en la

información clasificada.

Page 77: Intro Linux for tics

sed: string replacement

• Line-oriented tool for pattern matching and replacement

(stream editor)

• Not really a programming language (cf. awk)

• E.g., apply same change to lots of source files

• Filter, i.e., does not modify input file

Page 78: Intro Linux for tics

Ejemplos

• Reemplazar: sed –e „s/regex/replacement/‟

• Borrar lineas 1-10: sed -e '1,10d„

• Borrar comentarios: sed -e '/^#/d„

• Borrar lineas en blanco: sed -e '/^$/d„

Page 79: Intro Linux for tics

tr

También podemos utilizar tr

• echo “HELLO” | tr 'A-Z' 'a-z'

Page 80: Intro Linux for tics

awk

• Special-purpose language for line-oriented

pattern processing

• pattern {action}

• action =

– if (conditional) statement else statement

– while (conditional) statement

– break

– continue

– variable=expression

– print expression-list

Page 81: Intro Linux for tics

awk

• Patterns = boolean combinations of regular expressions and relational expressions

• awk –f program < input > output

• Also delimiter-separated fields:

BEGIN {FS=c}

• Examples:– Print lines longer than 72 characters:

length > 72

– print first two fields in opposite order

{ print $2,$1 }

Page 82: Intro Linux for tics

awk examples

• Add up first column, print sum and average{s += $1 }

END {print “sum is”, s, “average is”, s/NR}

• Print all lines between start/stop words:

/start/,/stop/

• Print all lines whose first field differs from previous one:

$1 != prev {print; prev = $1}

Page 83: Intro Linux for tics

awk

• Problem : Get the userid of a user from the /etc/passwd file.

• Suppose /etc/passwd file contains the following entries

arun:x:504:504::/home/arun:/bin/bash

try:x:500:500::/home/try:/bin/bash

optima:x:501:501::/home/optima:/bin/bash

optimal:x:502:502::/home/optimal:/bin/bash

• awk will see this file as follows

– 1 line = 1 record (by default) so in total there are 4 records in the

file.

– 1 record = 7 fields separated by “:” (Not by default)

Note : Default field separator is space.

Page 84: Intro Linux for tics

A simple example (cont..)

$ awk –F”:” „{print $1 “ “ $3}‟ /etc/passwd

Awk

executable

pattern

to search

Action to

perform on line

If pattern matches

The file

to operate

upon

Field

Separator

Page 85: Intro Linux for tics

sed/awk

sed '/^>/d' F5R3.fasta | sort | uniq | awk '{print ">SEQ"NR"\n"$0 }'

Page 86: Intro Linux for tics

csplit/cut

• csplit -f out fasta_batch "%^>%" "/^>/" "{*}" # splits fasta

batch file into many files

# at '>„

• cat my_table | cut -d , -f1-3

• # cut command prints only specified sections of a table,

• # -d specifies here comma as column separator (tab is

• # default), -f specifies column numbers.

• cut -d: -f1,5 /etc/passwd

Page 87: Intro Linux for tics

Ejercicio

• ls -s | sed -e 's/^[ ]*//' | cut -d " " -f2

Page 88: Intro Linux for tics

Comandos avanzados

Page 89: Intro Linux for tics

Sustitución del Historial

• Como una alternativa a las teclas de dirección, la shell

bash también realiza "sustitución de historial", la cual

se desencadena por el signo de exclamación.

• El siguiente cuadro resume la sintaxis de sustitución

de historial más utilizada.

Page 90: Intro Linux for tics

Valores de retorno

• La shell bash almacena el valor de retorno del comando

ejecutado anteriormente en una variable especial

llamada ?.

• El valor de retorno del ultimo programa ejecutado e

puede examinarse con el comando echo $?.

Page 91: Intro Linux for tics

Ejecución de comandos

múltiples de modo condicional• La shell bash permite a los usuarios unir comandos

múltiples en una sola línea de comandos separando los

comandos con un ;.

• La shell bash usa && y || para unir dos comandos de

modo condicional. Cuando los comandos se unen de

este modo, el primero siempre se ejecutará. El segundo

comando puede que se ejecute o no dependiendo del

valor de retorno del primer comando.

• Ejemplo:

mkdir /tmp/boring && mv numbers.txt /tmp/boring

Page 92: Intro Linux for tics

Ejemplos de AliasLos siguientes alias podrían ser útiles. Puedes configurarlos en el archivo

~/.bashrc.

alias findbig="find . -type f -exec ls -s {} \; | sort -n -r | head -5"

Buscar los 5 archivos mas grandes

Ubicar los procesos bash:

alias psg="ps -aux ¦ grep bash"

Lista en formato largo:

alias ll='ls -l'

Page 93: Intro Linux for tics

Archivos de arranque del BASH

• Cuando el BASH es invocado de manera interactiva,

primero lee y ejecuta comandos desde el archivo

/etc/profile, si es que existe.

• Una vez leído este archivo, BASH ejecuta comandos del

primer archivo que exista y que BASH pueda leer de

entre los siguientes archivos: ~/.bash_profile,

~/.bash_login, y ~/.profile, en ese orden.

Page 94: Intro Linux for tics

Archivos de arranque del BASH

• Cuando salimos de una “sesión de login”, BASH lee y

ejecuta comandos desde el archivo ~/.bash_logout, si es

que este archivo existe.

Page 95: Intro Linux for tics

Usuarios

Page 96: Intro Linux for tics

Usuarios de Linux y el archivo

/etc/passwd• Conceptos Claves

– A un nivel inferior los usuarios son representados por un número

entero llamado Id del usuario (uid).

– Cada proceso que se desarrolla en el sistema se ejecuta como un uid

dado

– Cada archivo en el sistema de archivos es propiedad de un uid

– El archivo /etc/passwd asigna los uids a las cuentas de usuario.

– Las cuentas de usuarios asignan los uids al nombre del usuario,

contraseña, Id de Grupo (s), directorio de inicio y shell de inicio.

– La contraseña se puede cambiar con el comando passwd.

Page 97: Intro Linux for tics

Los usuarios de Linux y el

archivo /etc/passwd.• En Linux, usted primero se identifica al entrar con un

nombre particular de usuario nombre de usuario.

• Cada proceso que se ejecuta en el sistema tiene un

nombre de usuario asociado.

• El username, está asociado con las cosas que usted

hace, grabe o use.

• Cada usuario en el sistema tiene un unico userid (uid)

• Linux rastrea los userids como un número entero de

32bits

Page 98: Intro Linux for tics

Los usuarios de Linux y el

archivo /etc/passwd.• El sistema mantiene una base de datos que asigna los

nombres de usuarios a los userids.

• Esta base de datos se almacena en el archivo de

configuración /etc/passwd

• [elvis@station elvis]$ tail /etc/passwd

apache:x:48:48:Apache:/var/www:/bin/bash

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

elvis:x:501:501::/home/elvis:/bin/bash

Page 99: Intro Linux for tics

Archivo /etc/passwd

• El archivo /etc/passwd– El archivo de texto /etc/passwd contiene nombres de usuario y sus

correspondientes userids y alguna otra información.

Page 100: Intro Linux for tics

Las contraseñas y el archivo

/etc/shadow.• Exponer la forma encriptada de su contraseña es

peligroso en /etc/passwd es peligroso.

• Linux y Unix almacenan las contraseñas utilizando una

nueva técnica llamada "Shadow Passwords"

• El archivo contiene sólo información relacionada con las

contraseñas,

• Sus permisos no permiten ver su contenido.

Page 101: Intro Linux for tics

Los grupos Linux y el

archivo/etc/group.• Básicamente, un grupo es solo un group id (gid) de un

número entero

• Cada proceso que se ejecuta en el sistema opera bajo

na colección de grupos (gids).

• El archivo /etc/groupasigna gids a nombres y a

membresías de grupo.

• Cada archivo en el sistema de archivos pertenece a un

solo gid.

• Los usuarios tienen un solo grupo primario definido en

el archivo /etc/passwd.

• Los usuarios pueden ser miembros de múltiples grupos

secundarios definidos en el archivo /etc/groups.

Page 102: Intro Linux for tics

Grupos de Linux

• Cada proceso se ejecuta bajo el contexto de un usuario

dado.

• Los usuarios, los procesos que estos operan y los

archivos que poseen, pertenecen a la colección de

grupos

• Las membresías de grupo le permiten a los

administradores de sistemas manejar eficientemente las

colecciones de los usuarios que tienen objetivos

similares.

• Cada usuario es miembro de un grupo primario.

Page 103: Intro Linux for tics

El archivo /etc/group

• Para el kernel de Linux, un grupo es nombrado usando

un id de grupo (GID) de 32 bits

• El archivo /etc/group asocia nombres de grupo con GIDs

(para humanos).

• Define los usuarios que pertenecen a cada grupo.

Page 104: Intro Linux for tics

El archivo /etc/group

• Examine su archivo /etc/group

wrestle:x:201:ventura,hogan,elvis physics:x:202:einstein,maxwell,elvis emperors:x:203:nero,julius,elvis governor:x:204:ventura,pataki music:x:205:elvis,blondie,prince,madonna dwarfs:x:206:sleepy,grumpy,doc elvis:x:501: prince:x:502: madonna:x:504: blondie:x:505:

Page 105: Intro Linux for tics

Grupos primarios y secundarios

• Debido a que cada archivo debe tener un grupo

propietario, debe haber un grupo por defecto asociado

con cada usuario.– Este grupo por defecto se convierte en el propietario del grupo de los

archivos recién creados

– Este grupo se conoce como el grupo primario del usuario.

– Un grupo primario de usuario se define en el cuarto campo de una

entrada de usuario /etc/passwd.

• Usuarios pueden optar también por pertenecer a otros

grupos.– Estos grupos se llaman grupos secundarios

– Están definidos en el cuarto campo del archivo /etc/group file.

Page 106: Intro Linux for tics

Cambio de mis membresías de

grupo• Únicamente el usuario administrativo root, puede

cambiar las membresías de grupo. – Usando el comando usermod y groupmod.

– O la utilidad gráfica system-config-users

• El uso de estos comandos se verá en otro curso.

Page 107: Intro Linux for tics

Cambio de identidad

• El comando su le permite a un usuario cambiar el id del

usuario

• sudo permite ejecutar comandos como root

Page 108: Intro Linux for tics

Permisos

Page 109: Intro Linux for tics

Permisos de usuario

Page 110: Intro Linux for tics

Interpretación de Permisos

Para poder interpretar los permisos de archivos, se revisa el siguiente

ejemplo:

Page 111: Intro Linux for tics

Cambio de permisos de

archivos: chmod• El comando chmod se utiliza para modificar los permisos

de archivo

• El primer argumento para chmod usa una sintaxis

[ugoa]+/-[rwx] para describir cómo deberían cambiarse

los permisos.

chmod a+w filename

• También puede ser una representación numérica

chmod 775 filename

Page 112: Intro Linux for tics

• 000 = 0

• 001 = 1

• 010 = 2

• 011 = 3

• 100 = 4

• 101 = 5

• 110 = 6

• 111 = 7

Page 113: Intro Linux for tics

Usando el comando chmod

abreviación interpretación

+ Agregar

- Remover

= Asigna

r Lectura

w Escritura

x Ejecución

abreviación interpretación

u Usuario

g Grupo

o Otros

a Todos

Page 114: Intro Linux for tics

chgrp

• Si deseas compartir un archivo con un grupo de

personas, pero no con todo el mundo, debes hacer uso

del grupo propietario de archivo y de los permisos de

grupo.

• El grupo privado del creador no es usado para trabajar

en colaboración.

• Para compartir el archivo, se debe cambiar el propietario

del archivo de grupo.

• Esto se realiza con el comando llamado chgrp.

Page 115: Intro Linux for tics

chgrp

• chgrp GROUP ARCHIVO...

• Cambio de propietario de ARCHIVO(s) a GRUPO

• El primer argumento especifica el nuevo grupo

propietario de archivo, mientras que los argumentos

subsecuentes listan los archivos cuyo propietario de

grupo se va a cambiar.

• El propietario del grupo sólo lo puede cambiar el usuario

dueño del archivo, y el usuario debe ser un miembro del

nuevo grupo de propietarios del archivo.

Page 116: Intro Linux for tics

Cambio de los propietarios de

archivos con el comando chown • chown USER FILE...

– Cambie el propietario del (los) archivo(s) a USUARIO.

• El argumento USER es el nombre del nuevo usuario del

archivo y los argumentos siguientes son los nombres de

los archivos a cambiar.

• Sólo el usuario administrativo, root, puede usar chown,

Page 117: Intro Linux for tics

¿Quién puede Modificar los

Propietarios de archivos y los

Permisos?

Operación Usuarios Autorizados

chmod root y el propietario del archivo

chgrproot y el propietario de archivo (únicamente los grupos subscritos)

chown sólo root

Page 118: Intro Linux for tics

Utilitarios de Compresión

Standard de Linux• compress (.Z)

– Puede ser descomprimido con el comando uncompress

– No es usualmente instalado por defecto

• gzip (.gz)– el más versatil y más común utilitario de descompresión usado

• bzip2 (.bz)– produce la mas compacta compresión de archivos

– más uso intesivo de CPU

Page 119: Intro Linux for tics

Archivadores de Archivos

• El archivo contiene el directorio y sus archivos y

subdirectorios subyacentes, empaquetados como un

solo archivo.

• En Linux (y Unix), el comando más común para crear y

extraer archivos es el comando tar.

• El archivo contiene el directorio y sus archivos y

subdirectorios subyacentes, empaquetados como un

solo archivo.

• A estos paquetes de archivos suele dárseles la

extensión del nombre de archivo .tar.

Page 120: Intro Linux for tics

Comandos Básicos Tar

Opción Efecto

-c, --create Crea un empaquetador de archivos

-x, --extract Extraer un empaquetador de archivos

-t, --listList el contenido de un empaquetador de archivos

Page 121: Intro Linux for tics

Opciones del comando tar

Opción Efecto

-C, --directory=DIR Cambia al directorio DIR

-P, --absolute-reference sin / inicial desde los nombres de archivos

-v, --verbose Lista los archivos procesados

-Z, --compress internally compress archive

-z, --gzip internamente gzip el archivo

-j, --bzip2 internamente bzip2 el archivo

Page 122: Intro Linux for tics

Procesos

Page 123: Intro Linux for tics

The ps command

• El comando ps se utiliza comúnmente para enumerar los

procesos ejecutándose en un sistema.

• El comando ps, sin ningún argumento, muestra todos los

procesos que se iniciaron desde una sola terminal.

alabarga@genome2:~$ ps

PID TTY TIME CMD

22047 pts/0 00:00:00 bash

22472 pts/0 00:00:00 ps

Page 124: Intro Linux for tics

The ps command

• ps # Shows processes running by user

ps -e # Shows all processes on system

ps ax –tree # Shows the child-parent hierarchy of all processes

ps -o %t -p <pid> # Shows how long a particular process was

running.

• ps <pid> | cat

• ps aux | grep <user_name> # Shows all processes of one user

Page 125: Intro Linux for tics

top

Page 126: Intro Linux for tics

Los 5 estados del Proceso

Estado Descripción

Ejecutable (R) Los procesos en un estado ejecutable son procesos que si tienen la oportunidad de acceder la CPU

Dormido voluntario (interrumpible) (S)

Por lo general, este es un proceso que no tiene nada que hacer hastaque suceda algo interesante. Un ejemplo clásico es el demonio de red httpd, el cual es un proceso que implementa un servidor de red. En medio de solicitudes de un cliente (navegador de red), el servidor no tiene nada que hacer, y elige irse a dormir.

Dormido involuntario (no interrumpible) (D)

Cuando dos procesos tratan de acceder el mismo recurso de sistema al mismo tiempo. En estas situaciones, el kernel fuerza al proceso a dormir.

Procesos detenidos (suspendidos) (T)

Ocasionalmente, los usuarios deciden suspender procesos. Los procesos suspendidos no realizarán ninguna acción hasta no ser reiniciados por el usuario. En la shell bash, la secuencia de teclas CONTROL-Z puede utilizarse para suspender un proceso.

Procesos zombi (Z) cada proceso muriendo pasa a través de un estado zombi transitorio. No obstante, en ocasiones, algunos se quedan en ese estado.

Page 127: Intro Linux for tics

Programación de Procesos:

nice y renice• Una tarea primaria del kernel de Linux es la

programación de procesos.

• Cada proceso tiene un valor de niceness que influye en

su programación.

• Los comandos nice y renice pueden cambiar la

prioridad de programación de un proceso.

• renice -n <priority_value>

• # Changes the priority value, which range from 1-19

• # the higher the value the lower the priority, default is 10.

Page 128: Intro Linux for tics

Programación de Procesos

• Cada proceso tiene dos valores que influyen en su

programación.– (dinamica) valor de prioridad del proceso

– (fija) valor del niceness del proceso

Page 129: Intro Linux for tics

Prioridad de Procesos

• El kernel da a cada proceso una cantidad de

contadores.

• Cada vez que un proceso se programa en la CPU,

entrega uno de sus contadores.

• Cuando decide qué proceso programar en la próxima

CPU, el kernel escoge un proceso ejecutable con la

mayoría de contadores.

Page 130: Intro Linux for tics

Proceso Niceness

• Cada proceso también tiene un valor estático conocido

como su valor de niceness.

• El valor tiene un rango que va de -20 a 19 para cualquier

proceso, iniciando en 0 por defecto.

• Aquellos con un mayor valor de niceness (>0)– obtienen menos contadores

– menos tiempo en la CPU

• Aquellos con un valor niceness (< 0) – Obtienen mas contadores

– mas tiempo de CPU

Page 131: Intro Linux for tics

Iniciar un comando con

prioridad baja• El comando nice se utiliza para establecer un valor de

niceness del proceso al iniciar el proceso.

El comando renice puede utilizarse para cambiar el niceness de un proceso en ejecución.

Page 132: Intro Linux for tics

Hacer procesos mucho más

ambiciosos• Los usuarios normales no pueden bajar el niceness de

un proceso. Esto trae dos implicaciones:– Debido a que los procesos inician con un niceness de 0 por defecto, los

usuarios normales no pueden hacer procesos "ambiciosos" con valores

de niceness negativos.

– Una vez que a un proceso le han bajado el nice, los usuarios normales

no pueden volverlo "normal" otra vez .

• El administrador puede utilizar el comando renice como

root para elevar el niceness – Usuario normal no puede restaurar dicha situación.

Page 133: Intro Linux for tics

Envio de señales

• Las señales son una forma de bajo nivel de la

comunicación entre procesos que surgen de una

variedad de recursos, incluyendo el kernel, la terminal y

otros procesos.

• Las señales se distinguen por los números de señales

que tienen nombres y usos simbólicos.

• Los nombres simbólicos para los nombres de señales

pueden listarse con el comando kill -l.

• El comando kill envía señales a otros procesos.

Page 134: Intro Linux for tics

Envio de señales

• Tras recibir una señal, un proceso puede ya sea,

ignorarla, reaccionar de un modo especificado por

defecto de kernel o implementar un manejador de señal

personalizado.

• Convencionalmente, el número de señal 15 (SIGTERM)

se utiliza para solicitar la terminación de un proceso.

• La señal número 9 (SIGKILL) termina un proceso y no

puede anularse.

• Los comandos pkill y killall pueden utilizarse para enviar

señales a procesos especificados por nombre de

comando o el usuario a quienes pertenecen.

Page 135: Intro Linux for tics

Enviando Señales

• El comando kill se utiliza para enviar señales a otros

procesos.

Page 136: Intro Linux for tics

Enviando Señales

• kill <process-ID> # Kills a specific process

kill -9 <process-ID> # does not give the process any time

to perform cleanup procedures.

kill -l # List all of the signals that can be sent to a

proccess

• kill -s SIGSTOP <process-ID> # Suspend (put to sleep)

a specific process

• kill -s SIGCONT <process-ID> # Resume (wake up) a

specific process

Page 137: Intro Linux for tics

Control de Trabajo

• La shell bash permite a los comandos ejecutarse en

segundo plano como "trabajos".

• El comando jobs listará todos los trabajos en segundo

plano.

• La secuencia de teclas CONTROL-Z suspenderá y

enviará a segundo plano el actual trabajo que se

encuentra en primer plano.

• El comando bg reanuda un trabajo de segundo plano.

• El comando fg trae un trabajo de segundo plano a

primer plano.

Page 138: Intro Linux for tics

Ejecución de comandos en

segundo plano como trabajos• Cualquier comando que usted especifique puede

también ejecutarse en el segundo plano,adjuntándole el

signo (“&”) a la línea de comandos.

• Sólo los comandos de larga ejecución que no requieren

entradas desde el teclado y no generan grandes

cantidades de salida son apropiados para un segundo

plano.

find / -size +1024M > bigfiles.txt 2> /dev/null &

Page 139: Intro Linux for tics

Administración de múltiples

trabajos • Iniciando multiples jobs en background

Visualizando jobs en background (comando jobs)

Traer un trabajo al primer plano con fg (comando fg)

Page 140: Intro Linux for tics

Suspensión del trabajo de

primer plano con CONTROLZ• La secuencia CONTROL-Z es un método para

suspender procesos.

Page 141: Intro Linux for tics

Reiniciar un trabajo detenido en

el segundo plano• Un trabajo detenido puede reiniciarse en el segundo

plano con el comando incorporado bg.

Page 142: Intro Linux for tics

Matar Trabajos (Killing Jobs)

• El comando kill, utilizado para entregar señales para

procesos se implementa como un comando incorporado

de shell.

Page 143: Intro Linux for tics

Programación de Taeas

retrasadas: at• El comando at puede someter comandos para que se

ejecuten más tarde.

• El comando batch puede emitir comandos para que se

ejecuten cuando la carga de las máquinas sea baja.

• Los comandos pueden escribirse directamente o

someterse como un script.

Page 144: Intro Linux for tics

El demonio atd

• El demonio atd le permite a los usuarios someter

trabajos para ser realizados más tarde

• Para utilizar el demonio atd, éste debe estar

ejecutándose.

• Los usuarios pueden confirmar que atd se está

ejecutando simplemente al examinar la lista de procesos

en ejecución

Page 145: Intro Linux for tics

Programación de Taeas

periodicas: cron• La utilidad cron se utiliza para programar tareas

recurrentes.

• El comando crontab provee un frontend para editar

archivos crontab.

• El archivo crontab utiliza 5 campos para especificar la

información de temporización.

• la stdout de trabajos cron se envía por correo al

usuario.

Page 146: Intro Linux for tics

The cron Service

• El demonio crond es el demonio que realiza tareas

periódicamente en nombre del sistema o de usuarios

individuales.

• El demonio suele iniciarse cuando el sistema arranca,

por lo tanto, la mayoría de usuarios lo pueden ignorar. Al

listar todos los procesos y buscar crond puede confirmar

si el demonio crond está en ejecución.

Page 147: Intro Linux for tics

Usando el comando crontab

• Los usuarios rara vez administran su archivo crontab directamente (o inclusosaben dónde se almacena), en cambio, utilizan el comando crontab para editar la lista o quitarla.

– crontab {-e | -l | -r}

– crontab FILE

crontab -e

sudo /etc/init.d/cron restart

/var/spool/cron/crontabs/

Page 148: Intro Linux for tics

Sintaxis crontab

Page 149: Intro Linux for tics

Networking

Page 150: Intro Linux for tics

Salida de comando netstat

Page 151: Intro Linux for tics

Determinar tu(s) dirección(es)

IP: /sbin/ifconfig• El comando ifconfig muestra la configuración de todas

las interfaces de red activas.

• Los usuarios estándar pueden usar el comando para ver

información de configuración de interfaz, utilizando una

referencia absoluta.

Page 152: Intro Linux for tics

Shell scripts

Page 153: Intro Linux for tics

A shell script is a text file with a list of commands inside. Shell scripts are good for automating tasks you use often, or running batch jobs.

Enter the following in a new file, script.sh:

echo “Date and time is:”

date

echo “Your current directory is:”

pwd

Run the script like this: sh script.sh

Shell Scripts

Page 154: Intro Linux for tics

A more advanced shell script utilizing a loop:

for num in 1 2 3

do

echo “We are on $num…”

done

More Shell Scripts

Page 155: Intro Linux for tics

if [ $# -gt 1 ] then

seqfile="$1"

destdir="$2“

else

echo "Use: fsplit SEQFILE DESTDIR"

echo "Splits fasta file SEQFILE into

separate files in DESTDIR folder"

exit

fi

More Shell Scripts

Page 157: Intro Linux for tics

Ejercicio 1

• Download proteome of Halobacterium spec.

• wget

ftp://ftp.ncbi.nih.gov/genbank/genomes/Bacteria/Halobac

terium_sp_uid217/AE004437.faa

• grep '^>' AE004437.faa –count

• egrep 'W.H..H{1,2}' AE004437.faa --count

• awk --posix -v RS='>' '/W.H..(H){1,2}/ { print ">" $0;}'

AE004437.faa | less

Page 158: Intro Linux for tics

Ejercicio 2

for chr in `seq 1 22` X Y

do

wget -O - -q

http://hgdownload.cse.ucsc.edu/goldenPath/

hg19/chromosomes/chr1.fa.gz | gunzip -c >>

hg19.fa

done

Page 159: Intro Linux for tics

Ejercicio 3

# An example database

wget ftp://ftp.ncbi.nih.gov/genbank/genomes/Bacteria/Halobacterium_sp_uid217/AE004437.faa

# Prepare dababase for Blast search

formatdb -i AE004437.faa -p T -o

# Generate an example query

awk --posix -v RS='>' '/WWW/ { print ">" $0;}' AE004437.faa \

> blast_query_2seqs.fasta

# Run blast with tabular output (extract the hit only)

blastall -p blastp -i blast_query_2seqs.fasta -d AE004437.faa -m 8 -e 1e-5 | \

awk '{print $2}' | sort | uniq \

> ids_of_4hits

# Get the fasta file for hits

fastacmd -d AE004437.faa -i ids_of_4hits > hits.fasta

Page 160: Intro Linux for tics

Ejercicio 4

#!/bin/sh

# split fasta file into separate sequence files

#

if [ $# -gt 1 ] then

seqfile="$1"

destdir="$2“

else

echo "Use: fsplit SEQFILE DESTDIR"

echo "Splits fasta file SEQFILE into separate files in DESTDIR

folder"

exit

fi

mkdir $2

csplit -f $destdir/sequence $seqfile "%^>%" "/^>/" "{*}" -s

Page 161: Intro Linux for tics

More commands

• for i in *.input; do mv $i ${i/\.old/\.new}; done

• scp file.name user@remote_host:~/dir/newfile.name

• find /share/media/mp3/ -type f -name "*.mp3" -print0 |

xargs -0 -r -I file cp -v -p file --target-

directory=/bakup/iscsi/mp3

Page 162: Intro Linux for tics

Packages

Page 163: Intro Linux for tics

Installing packages

apt-cache search phylip

# searches for application "phylip" from command line

apt-cache show phylip

# provides description of the package

apt-get install phylip

apt-get update

# do once a month do update Debian packages

apt-get upgrade -u

# to upgrade after update

Page 164: Intro Linux for tics

aptitude

• El nuevo sistema de gestión de paquetes para

Debian/Ubuntu se llama aptitude

• Las operaciones realizadas quedan registradas en

/var/log/aptitude