51
Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre del 2009

Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Console Ninja: Como dejar de ser un usuario desconsolado

Universidad Tecnológica NacionalNicolás Brailovsky

27 de noviembre del 2009

Page 2: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

1 Introducción

2 Aprendiendo a caminar

3 Temas menos básicos

4 Scripting

5 Permiso!

6 Review

Page 3: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Outline

1 Introducción

2 Aprendiendo a caminar

3 Temas menos básicos

4 Scripting

5 Permiso!

6 Review

Page 4: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

¿Por qué?

Hace falta?

Como usuarios expertos, a veces no hay otra

Es práctico para automatizar tareas

Está en todas las instalaciones

Si. En serio.

Page 5: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

¿Por qué?

No, en serio. Hace falta?

Parece complicado. . . pero solo al principio!

Se hace costumbre; memoria mecánica

Más rápido

Suma geek points

Page 6: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

¿Por qué?

No, en serio. Hace falta?

Parece complicado. . . pero solo al principio!

Se hace costumbre; memoria mecánica

Más rápido

Posta

Page 7: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

User friendly?

Page 8: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

User friendly?

Es intimidanteHay una barrera de entrada

Pero. . .

Es una herramienta poderosaImprescindible en servidoresMucha información online y offlineLa memoria mecánica facilita el usoHasta Microsoft quiere una consola!

Page 9: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

User friendly?

Es intimidanteHay una barrera de entrada

Pero. . .

Es una herramienta poderosaImprescindible en servidoresMucha información online y offlineLa memoria mecánica facilita el usoHasta Microsoft quiere una consola!(FAIL)

Page 10: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

User friendly?

Page 11: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

¿Qué se puede hacer?

Algunas tareas son prácticasAdministrar el sistemaEditar texto, programarConectarse a servidoresremotos

Otras son ridículasVer películas e imágenesNavegar por internetEscuchar música

Page 12: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

¿Qué se puede hacer?

Pero lo importante: no es voodoo!

Algunas tareas son prácticasAdministrar el sistemaEditar texto, programarConectarse a servidoresremotos

Otras son ridículasVer películas e imágenesNavegar por internetEscuchar música

Page 13: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Outline

1 Introducción

2 Aprendiendo a caminar

3 Temas menos básicos

4 Scripting

5 Permiso!

6 Review

Page 14: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Superando el shock inicial

Algunos comandos básicoscdlscatnanomanvim (OK, mentí, no es tan básico)

Recordar: importa la memoria mecánica

Page 15: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Un ejemplo

Pensemos como Homero. . .Completemos la lista de comprasNos fijamos que hayY compramos más cerveza

Page 16: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Un ejemplo

Pensemos como Homero. . .

1 $ cd ~/supermercado2 $ ls3 lista pedido_anterior4 $ cat lista5 Papas fritas6 Cerveza7 Cerveza8 $ echo "Mas cerveza" >> lista

Page 17: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Tips de usabilidad

Imprimir un cheatsheet al empezartab tab tab tabControl + R(buscar comando anterior)tab tab tab tab

Page 18: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Otro ejemplo

Pensemos como Homero . . .Para La Odisea echo no alcanzaSe puede usar Vim o emacsnano y pico son más simples

Page 19: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Otro ejemplo

Pensemos como Homero . . . (no, el otro)Para La Odisea echo no alcanzaSe puede usar Vim o emacsnano y pico son más simples

Page 20: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Editores

Hay muchos editores para elegir. . .Vim y emacs son más geek (power!)No reiniciar si no entendemos el Vim (:wq)

Page 21: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Outline

1 Introducción

2 Aprendiendo a caminar

3 Temas menos básicos

4 Scripting

5 Permiso!

6 Review

Page 22: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Servidores remotos

Sigamos pensando en Homero. . .

Como copiamos La Odisea de la oficinaa casa?Usando scp:scp laodisea homero@grecia:~a

scp no es más que cp sobre sshssh es un protocolo segurossh (el comando) ejecuta algo en unservidor

aSe acuerdan del ~?

Page 23: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Tareas programadas

Sigamos pensando en Homero. . .Queremos hacer un backupMañana a la mañanaPero nos olvidamos, todavía no se inventó el reloj

Page 24: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Tareas programadas

Sigamos pensando en Homero. . .Queremos hacer un backupMañana a la mañanaPero nos olvidamos, todavía no se inventó el relojFácil, usamos at

1 $ at tomorrow 7:00 am2 at> cp ~/odisea /backups/$(date +"%F")3 at> <C-D>4 job 42 at Sat Nov 28 7:00:00 20095 $ at -l6 42 Sat Nov 28 7:00:00 2009 a nico7 $

Page 25: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Códigos secretos

Hay muchos secretos en el ejemplo anterior. . .

~ => home sweet home<C-D> => Control + Ddate +" %F" => Mostrar fechaen formato Y-M-D$( . . . ) => evaluar comando antesEj: echo "Hola $(echo mundo)"

Page 26: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Tareas programadas

Sigamos pensando en Homero. . .

¿Y si el backup es todos los días?

Page 27: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Tareas programadas

Sigamos pensando en Homero. . .

¿Y si el backup es todos los días?Fácil, usamos cron

Leer man crontabAgregar el script en /etc/crontabRecordar que todavía no escribimos un script!Pasar a la siguiente sección y explicar que es un script

Page 28: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Outline

1 Introducción

2 Aprendiendo a caminar

3 Temas menos básicos

4 Scripting

5 Permiso!

6 Review

Page 29: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Lo qué?

La consola permite automatizar tareasUna forma simple: scripting!Script (bash): secuencia de comandosNo son más que texto planoLa primera línea identifica el intérpreteBash es un intérpreteTambién lo son zsh, ksh, PHP, Ruby. . .

Page 30: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Un ejemplo

Armemos un script para que Homero tenga su backup

1 #!/bin/bash2

3 echo "Copiando laodisea a grecia..."4 scp laodisea homero grecia:~5 echo "Fin!"

Page 31: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Un ejemplo

Armemos un script para que Homero tenga su backup

1 #!/bin/bash2

3 ARCHIVO=laodisea4 SERVIDOR_REMOTO=grecia5 USUARIO=homero6

7 echo "Copiando $ARCHIVO a $SERVIDOR_REMOTO..."8 scp $ARCHIVO $USUARIO $SERVIDOR_REMOTO:~9 echo "Fin!"

Page 32: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Un ejemplo

Armemos un script para que Homero tenga su backup

1 #!/bin/bash2

3 ARCHIVO=laodisea4 SERVIDOR_REMOTO=grecia5 USUARIO=homero6

7 echo "Copiando $ARCHIVO a $SERVIDOR_REMOTO..."8 # Comprimir el archivo antes de enviarlo9 tar -xvzf $ARCHIVO.tar.gz $ARCHIVO

10 scp $ARCHIVO.tar.gz $USUARIO $SERVIDOR_REMOTO:~11 rm $ARCHIVO.tar.gz12 echo "Fin!"

Page 33: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Corriendo scripts

Para recordar

El script se ejecuta con./nombre_del_scriptEl ./ ubica el directorio actual¿Cuál es el resultado de echo $PATH ?No olvidarse:chmod +x nombre_del_scriptEs decir, darle permiso de ejecución. . .

Page 34: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Scripting avanzado

Hay scripts complejos también: script bash == programa!Queda como tarea (o para otra charla)

Pipes: redirigir la salida de un comando a otrosed: editor de texto por comando (!)awk: lenguaje procesador de textogrep: filtros de texto

Page 35: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Scripting avanzado

Hay scripts complejos también: script bash == programa!Queda como tarea (o para otra charla)

Pipes: redirigir la salida de un comando a otrosed: editor de texto por comando (!)awk: lenguaje procesador de textogrep: filtros de texto

Page 36: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Outline

1 Introducción

2 Aprendiendo a caminar

3 Temas menos básicos

4 Scripting

5 Permiso!

6 Review

Page 37: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Seguridad

En Linux hay usuarios y gruposUsuarios: pertenecen a gruposArchivos: pertenecen a grupos y usuariosCada uno tiene acceso por usuario y grupo

Page 38: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Woot?

Repasemos: Los usuarios pertenecen a grupos

Page 39: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Woot?

Repasemos: Los archivos pertenecen a grupos y usuarios

Page 40: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Modos de archivo

Page 41: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Modos de archivo

Page 42: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Modos de archivo: modo octal

Page 43: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Modos de archivo: modo octal

Page 44: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Modos de archivo: modo octal

Page 45: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Seguridad

useradd / adduser : crear usuario/etc/group : usuarios por grupochown : cambiar propietariochmod : cambiar permiso

Page 46: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Seguridad

Creamos un directorio:mkdir testCreamos algunos archivos:touch archivo¿Cómo asignamos owner y grupo?chown user:group archivo¿Cómo le damos los permisos delejemplo?chmod 764 archivo

Page 47: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Outline

1 Introducción

2 Aprendiendo a caminar

3 Temas menos básicos

4 Scripting

5 Permiso!

6 Review

Page 48: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Aprendimos algo?

No lo se, pero igualmente hoy vimos. . .

Para qué sirve la consolaCómo familiarizarse con la consolaLos comandos básicos (de la consola)Qué al decir Homero todos piensan en cervezaCómo acceder a un servidor remotoCómo automatizar y programar tareas

Page 49: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Aprendimos algo?

Hay muchos editoresAlgunos sirven para programarHay que aprender a usarlos

Page 50: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Introducción Aprendiendo a caminar Temas menos básicos Scripting Permiso! Review

Podemos agregar. . .

No todo son "tareas útiles"

cowsayfestivalmocplynx

Page 51: Console Ninja: Como dejar de ser un usuario desconsolado...Console Ninja: Como dejar de ser un usuario desconsolado Universidad Tecnológica Nacional Nicolás Brailovsky 27 de noviembre

Console Ninja: Como dejar de ser un usuario desconsoladoGracias por venir!

Nicolás Brailovskycon

http://www.gnutn.org.arhttp://nicolasb.com.ar