SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
Sobreviviendo
commando style
   Jorge Ortiz (@jdortiz)
¿Por qué?

• Porque podemos.

• Porque hay cosas que es mejor hacerlas con
  comandos: contar, buscar en los contenidos,
  repetir y ver diferencias, etc.
Mac OS X es UNIX
• Derivado de BSD (Darwin).

• Suave por fuera y poderoso por dentro.

• Shell = superpoderes

• Dos ideas centrales:

  • Todo es un fichero

  • Utilidades dedicadas a una sola tarea que
    resuelve muy bien.
“Unix is user-friendly. It's
just very selective about
  who its friends are.”
Redirecciones
• Se puede guardar la salida de           0
  cualquier comando con > (stdout)

• Y también la de error con 2>                  1
  (stderr)

• También se le puede pasar la
                                          2
  entrada con < (stdin)

• Se puede añadir en vez de
  truncar con >>

• cat envía un fichero por stdout     ls   >   Listado.txt


• echo envía lo siguiente por
  stdout.
Las tuberías (pipes)
• Permiten encadenar las
  salidas de un comando con
  la entrada del siguiente.
                                 ps aux   |   grep root

• Supone tratar el texto en el
  formato en el que viene.

• Hay comandos que ayudan
  a convertir de un formato a
  otro.
Ejemplos con tuberías
• Listar los procesos del root
  ps aux | grep root
  ps aux | awk ‘/root/ { print $0}’

• Contar los procesos de shell
  ps aux | grep bash | wc -l

• Mostrar los PIDs de las shells de root
  ps aux | grep bash | awk ‘{if($1==”root”) print $0}’ |
  grep -v bash
  ps aux | awk ‘/bash/ {if($1==”root”) print $0}’ | grep -v
  awk
Comandos utiles
• Ficheros: ls, find, chmod, chown, chgrp, cp, mv,
  tar.

• Procesos: ps, kill

• Filtrado: grep, awk, perl, python... (con
  expresiones regulares).

• Procesado: sort, wc, diff

• Distribución: xargs y find -exec
man comando
    Ayuda
Y para las repeticiones

• Shell script: secuencia de comandos con
  lógica de decisión y variables.

• Permiten verificar un proceso complejo

• Por ejemplo, copias en un USB del código,
  información del control de versiones.
Integración con Mac
           OS X
• Abrir el finder: open .

• Abrir lo que sea open ____

• Interactuar con pasteboard (pbcopy y pbpaste).

• Ver lo que hace un programa: opensnoop (similar a
  lsof basado en DTrace pero en continuo).

• Usar la capa de invisibilidad de Potter: SetFile -a V ___

• Hasta habla: say “Hello, boss”
Gracias
NSCoder Night Madrid
    11/05/2011

Mais conteúdo relacionado

Mais procurados

Taller Linea de Comandos - Linuxec 29o
Taller Linea de Comandos - Linuxec 29oTaller Linea de Comandos - Linuxec 29o
Taller Linea de Comandos - Linuxec 29o
Tomás Vírseda
 
Permisos y ficheros en linux
Permisos y ficheros en linuxPermisos y ficheros en linux
Permisos y ficheros en linux
elkinvillasz
 
Permisos de archivo
Permisos de archivoPermisos de archivo
Permisos de archivo
jarx75
 

Mais procurados (19)

G nlinux
G nlinuxG nlinux
G nlinux
 
GNU/Linux-Debian
GNU/Linux-Debian GNU/Linux-Debian
GNU/Linux-Debian
 
Permiso de archivos
Permiso de archivosPermiso de archivos
Permiso de archivos
 
Ejercicios permisos
Ejercicios permisosEjercicios permisos
Ejercicios permisos
 
Los permisos en linux
Los permisos en linuxLos permisos en linux
Los permisos en linux
 
Taller Linea de Comandos - Linuxec 29o
Taller Linea de Comandos - Linuxec 29oTaller Linea de Comandos - Linuxec 29o
Taller Linea de Comandos - Linuxec 29o
 
Comandos ubuntu
Comandos ubuntuComandos ubuntu
Comandos ubuntu
 
Permisos y ficheros en linux
Permisos y ficheros en linuxPermisos y ficheros en linux
Permisos y ficheros en linux
 
3 --crear archivos ejecutables
3 --crear archivos ejecutables3 --crear archivos ejecutables
3 --crear archivos ejecutables
 
VMS cambio IP
VMS cambio IPVMS cambio IP
VMS cambio IP
 
Permisos de archivo
Permisos de archivoPermisos de archivo
Permisos de archivo
 
Comandos para CentOS
Comandos para CentOSComandos para CentOS
Comandos para CentOS
 
Habilitar Korn Shell Linux
Habilitar Korn Shell LinuxHabilitar Korn Shell Linux
Habilitar Korn Shell Linux
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Mis comandos favoritos en linux parte 1
Mis comandos favoritos en linux parte 1Mis comandos favoritos en linux parte 1
Mis comandos favoritos en linux parte 1
 
Redis no es solo una caché
Redis no es solo una cachéRedis no es solo una caché
Redis no es solo una caché
 
Cap 9 mastronunzio
Cap 9 mastronunzioCap 9 mastronunzio
Cap 9 mastronunzio
 
Sistema de organización de archivos
Sistema de organización de archivosSistema de organización de archivos
Sistema de organización de archivos
 
Mis comandos favoritos en linux parte 2
Mis comandos favoritos en linux parte 2Mis comandos favoritos en linux parte 2
Mis comandos favoritos en linux parte 2
 

Destaque

Felíz día de la amistad y el amor
Felíz día de la amistad y el amorFelíz día de la amistad y el amor
Felíz día de la amistad y el amor
Jorge Ortiz
 

Destaque (13)

Felíz día de la amistad y el amor
Felíz día de la amistad y el amorFelíz día de la amistad y el amor
Felíz día de la amistad y el amor
 
Core Data in Modern Times
Core Data in Modern TimesCore Data in Modern Times
Core Data in Modern Times
 
7 stages of unit testing
7 stages of unit testing7 stages of unit testing
7 stages of unit testing
 
Travel with your mock server
Travel with your mock serverTravel with your mock server
Travel with your mock server
 
Unit tesing y el mito de los 0 bugs
Unit tesing y el mito de los 0 bugsUnit tesing y el mito de los 0 bugs
Unit tesing y el mito de los 0 bugs
 
Herramientas para la optimización, un enfoque práctico
Herramientas para la optimización, un enfoque prácticoHerramientas para la optimización, un enfoque práctico
Herramientas para la optimización, un enfoque práctico
 
Codemotion 2015 - Akka voló sobre el nido del future
Codemotion 2015 - Akka voló sobre el nido del futureCodemotion 2015 - Akka voló sobre el nido del future
Codemotion 2015 - Akka voló sobre el nido del future
 
[Codemotion 2015] patrones de diseño con java8
[Codemotion 2015] patrones de diseño con java8[Codemotion 2015] patrones de diseño con java8
[Codemotion 2015] patrones de diseño con java8
 
Swift testing ftw
Swift testing ftwSwift testing ftw
Swift testing ftw
 
Unit testing in swift 2 - The before & after story
Unit testing in swift 2 - The before & after storyUnit testing in swift 2 - The before & after story
Unit testing in swift 2 - The before & after story
 
Codemotion 2015 crash y youdebug
Codemotion 2015   crash y youdebugCodemotion 2015   crash y youdebug
Codemotion 2015 crash y youdebug
 
TDD by Controlling Dependencies
TDD by Controlling DependenciesTDD by Controlling Dependencies
TDD by Controlling Dependencies
 
All you need know about testing
All you need know about testingAll you need know about testing
All you need know about testing
 

Semelhante a Sobreviviendo commando style

Linux basico-7.PDF
Linux basico-7.PDFLinux basico-7.PDF
Linux basico-7.PDF
ULEAM
 
Linux basico-6.PDF
Linux basico-6.PDFLinux basico-6.PDF
Linux basico-6.PDF
ULEAM
 
Linux basico-6.PDF
Linux basico-6.PDFLinux basico-6.PDF
Linux basico-6.PDF
ULEAM
 
Linux basico-8.PDF
Linux basico-8.PDFLinux basico-8.PDF
Linux basico-8.PDF
ULEAM
 
9 managing processes
9  managing processes9  managing processes
9 managing processes
yimfer1
 
9 managing processes
9  managing processes9  managing processes
9 managing processes
cyberleon95
 
Semana 9 -_standard_io_and_pipes
Semana 9 -_standard_io_and_pipesSemana 9 -_standard_io_and_pipes
Semana 9 -_standard_io_and_pipes
victdiazm
 
Semana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesSemana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipes
victdiazm
 

Semelhante a Sobreviviendo commando style (20)

The linux shell. Shell Scripting desde 0
The linux shell. Shell Scripting desde 0The linux shell. Shell Scripting desde 0
The linux shell. Shell Scripting desde 0
 
Introduction to linux for bioinformatics
Introduction to linux for bioinformaticsIntroduction to linux for bioinformatics
Introduction to linux for bioinformatics
 
Giseproi hacking ético - bash scripting
Giseproi   hacking ético - bash scriptingGiseproi   hacking ético - bash scripting
Giseproi hacking ético - bash scripting
 
Linux basico-7.PDF
Linux basico-7.PDFLinux basico-7.PDF
Linux basico-7.PDF
 
Linux for bioinformatics
Linux for bioinformaticsLinux for bioinformatics
Linux for bioinformatics
 
Linux basico-6.PDF
Linux basico-6.PDFLinux basico-6.PDF
Linux basico-6.PDF
 
Linux basico-6.PDF
Linux basico-6.PDFLinux basico-6.PDF
Linux basico-6.PDF
 
Actividad v administración y comandos básicos if04 emerson
Actividad v administración y comandos básicos if04 emersonActividad v administración y comandos básicos if04 emerson
Actividad v administración y comandos básicos if04 emerson
 
Linux basico-8.PDF
Linux basico-8.PDFLinux basico-8.PDF
Linux basico-8.PDF
 
9 managing processes
9  managing processes9  managing processes
9 managing processes
 
9 managing processes
9  managing processes9  managing processes
9 managing processes
 
9 managing processes
9  managing processes9  managing processes
9 managing processes
 
arquitectura-de-linux
arquitectura-de-linuxarquitectura-de-linux
arquitectura-de-linux
 
Semana 9 -_standard_io_and_pipes
Semana 9 -_standard_io_and_pipesSemana 9 -_standard_io_and_pipes
Semana 9 -_standard_io_and_pipes
 
Introducción al Linux Embebido
Introducción al Linux EmbebidoIntroducción al Linux Embebido
Introducción al Linux Embebido
 
Semana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesSemana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipes
 
intro.ppt
intro.pptintro.ppt
intro.ppt
 
intro.ppt
intro.pptintro.ppt
intro.ppt
 
intro.ppt
intro.pptintro.ppt
intro.ppt
 
GNU/Linux-Debian
GNU/Linux-Debian GNU/Linux-Debian
GNU/Linux-Debian
 

Mais de Jorge Ortiz

Mais de Jorge Ortiz (20)

Tell Me Quando - Implementing Feature Flags
Tell Me Quando - Implementing Feature FlagsTell Me Quando - Implementing Feature Flags
Tell Me Quando - Implementing Feature Flags
 
Unit Test your Views
Unit Test your ViewsUnit Test your Views
Unit Test your Views
 
Control your Voice like a Bene Gesserit
Control your Voice like a Bene GesseritControl your Voice like a Bene Gesserit
Control your Voice like a Bene Gesserit
 
Kata gilded rose en Golang
Kata gilded rose en GolangKata gilded rose en Golang
Kata gilded rose en Golang
 
CYA: Cover Your App
CYA: Cover Your AppCYA: Cover Your App
CYA: Cover Your App
 
Refactor your way forward
Refactor your way forwardRefactor your way forward
Refactor your way forward
 
201710 Fly Me to the View - iOS Conf SG
201710 Fly Me to the View - iOS Conf SG201710 Fly Me to the View - iOS Conf SG
201710 Fly Me to the View - iOS Conf SG
 
Home Improvement: Architecture & Kotlin
Home Improvement: Architecture & KotlinHome Improvement: Architecture & Kotlin
Home Improvement: Architecture & Kotlin
 
Architectural superpowers
Architectural superpowersArchitectural superpowers
Architectural superpowers
 
Architecting Alive Apps
Architecting Alive AppsArchitecting Alive Apps
Architecting Alive Apps
 
iOS advanced architecture workshop 3h edition
iOS advanced architecture workshop 3h editioniOS advanced architecture workshop 3h edition
iOS advanced architecture workshop 3h edition
 
Android clean architecture workshop 3h edition
Android clean architecture workshop 3h editionAndroid clean architecture workshop 3h edition
Android clean architecture workshop 3h edition
 
To Protect & To Serve
To Protect & To ServeTo Protect & To Serve
To Protect & To Serve
 
Clean architecture workshop
Clean architecture workshopClean architecture workshop
Clean architecture workshop
 
Escape from Mars
Escape from MarsEscape from Mars
Escape from Mars
 
Why the Dark Side should use Swift and a SOLID Architecture
Why the Dark Side should use Swift and a SOLID ArchitectureWhy the Dark Side should use Swift and a SOLID Architecture
Why the Dark Side should use Swift and a SOLID Architecture
 
Dependence day insurgence
Dependence day insurgenceDependence day insurgence
Dependence day insurgence
 
Architectural superpowers
Architectural superpowersArchitectural superpowers
Architectural superpowers
 
TDD for the masses
TDD for the massesTDD for the masses
TDD for the masses
 
7 Stages of Unit Testing in iOS
7 Stages of Unit Testing in iOS7 Stages of Unit Testing in iOS
7 Stages of Unit Testing in iOS
 

Último

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (15)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Sobreviviendo commando style

  • 1. Sobreviviendo commando style Jorge Ortiz (@jdortiz)
  • 2. ¿Por qué? • Porque podemos. • Porque hay cosas que es mejor hacerlas con comandos: contar, buscar en los contenidos, repetir y ver diferencias, etc.
  • 3. Mac OS X es UNIX • Derivado de BSD (Darwin). • Suave por fuera y poderoso por dentro. • Shell = superpoderes • Dos ideas centrales: • Todo es un fichero • Utilidades dedicadas a una sola tarea que resuelve muy bien.
  • 4. “Unix is user-friendly. It's just very selective about who its friends are.”
  • 5. Redirecciones • Se puede guardar la salida de 0 cualquier comando con > (stdout) • Y también la de error con 2> 1 (stderr) • También se le puede pasar la 2 entrada con < (stdin) • Se puede añadir en vez de truncar con >> • cat envía un fichero por stdout ls > Listado.txt • echo envía lo siguiente por stdout.
  • 6. Las tuberías (pipes) • Permiten encadenar las salidas de un comando con la entrada del siguiente. ps aux | grep root • Supone tratar el texto en el formato en el que viene. • Hay comandos que ayudan a convertir de un formato a otro.
  • 7. Ejemplos con tuberías • Listar los procesos del root ps aux | grep root ps aux | awk ‘/root/ { print $0}’ • Contar los procesos de shell ps aux | grep bash | wc -l • Mostrar los PIDs de las shells de root ps aux | grep bash | awk ‘{if($1==”root”) print $0}’ | grep -v bash ps aux | awk ‘/bash/ {if($1==”root”) print $0}’ | grep -v awk
  • 8. Comandos utiles • Ficheros: ls, find, chmod, chown, chgrp, cp, mv, tar. • Procesos: ps, kill • Filtrado: grep, awk, perl, python... (con expresiones regulares). • Procesado: sort, wc, diff • Distribución: xargs y find -exec
  • 9. man comando Ayuda
  • 10. Y para las repeticiones • Shell script: secuencia de comandos con lógica de decisión y variables. • Permiten verificar un proceso complejo • Por ejemplo, copias en un USB del código, información del control de versiones.
  • 11. Integración con Mac OS X • Abrir el finder: open . • Abrir lo que sea open ____ • Interactuar con pasteboard (pbcopy y pbpaste). • Ver lo que hace un programa: opensnoop (similar a lsof basado en DTrace pero en continuo). • Usar la capa de invisibilidad de Potter: SetFile -a V ___ • Hasta habla: say “Hello, boss”