Capítulo 3. La shell y herramientas

Documentos relacionados
El sistema operativo Linux

Facultad de Ingeniería Universidad de Buenos Aires Sistemas Operativos Lic. Ing. Osvaldo Clúa Lic. Adrián Muccio.

Linux Principios básicos de uso del sistema [4ª edición]

Nociones de informática. Qué es una computadora? GNU/Linux. Lo mínimo que hay que saber para empezar a trabajar con una computadora del aula

Introducción a Linux. II.

Creación de Scripts. Qué es un script? Como funciona un shell script en Linux?

El Sistema Operativo Linux INTRODUCCIÓN A LAS TECNOLOGÍAS INFORMÁTICAS

Programación shell en Unix/Linux sh, ksh, bash (con ejercicios corregidos) (3ª edición)

Shell Script Sistemas Operativos III - ITS EMT - CETP

Uso básico de la terminal

LINUX - El intérprete de órdenes II

Instituto Tecnológico de Las Américas (ITLA)

Comandos del administrador

1. Introducción Linux. 2. Comandos de Linux Comandos básicos

El Sistema Operativo Linux

DEPARTAMENTO DE INFORMÁTICA DE SISTEMAS Y COMPUTADORES ARQUITECTURA DE COMPUTADORES Y SISTEMAS OPERATIVOS I

Utilidades de ficheros: Texto, binarios y genéricas - Revision : 1,9

Seminario de introducción al uso del sistema operativo UNIX

Conceptos Fundamentales sobre UNIX Laboratorio Funcionalidades de los Shells Korn y Bash (Tiempo estimado: 45 min.)

PROGRAMACIÓN DE LA SHELL DE UNIX/LINUX

Programando con el intérprete de órdenes (shell) de UNIX

9) Despliegue el mismo archivo de nuevo, pero esta vez utilice solo las teclas del cursor para ejecutar el comando sin tener que digitarlo de nuevo.

Ejecución de procesos en forma remota

Creacion de Script. Que es un Script?

Auxiliar 1 CC31A. Comandos útiles: Profesor: José Miguel Piquer

* Comodín para sustituir una cadena de caracteres. ? Comodín para sustituir un carácter. < Asigna/redirecciona la entrada estándar

Linux. Comandos básicos. Gustavo C. Distel D.C.I.C. U.N.S.

SILLABUS CURSO : LINUX

Taller de Sistemas Operativos. Índice de Comandos según su función

UNIDAD DIDACTICA 4 EL EDITOR VI

Curso de verano. Biología Computacional: Análisis masivo de datos ómicos

1. Cómo asignar una IP a mi ordenador? 2. Cómo hago para ver los archivos del directorio anterior? 3. Cómo sé en qué directorio estoy? 4.

LINUX - Los archivos de órdenes I

Certificación LPIC-1, examen

Programación shell-scripts 1 LA SHELL

Comandos Bash/GNU/Linux

Universidad Tecnológica de Panamá Facultad de Ingeniería de Sistemas Computacionales Departamento de Arquitectura y Redes de Computadoras

Cuentas. Guía 1er laboratorio Linux - Comandos - Fork. Programación en C. Linux. Linux: Cuenta (passwd): sisop@labs.cs.uns.edu.ar (sis2013op..

Comandos. Sistemas Operativos III - ETB EMT - CETP

Sistemas Operativos I Manual de prácticas

Introducción a Linux. Comandos básicos

Curso Taller de Química Computacional Módulo II. PRACTICO 1 Introducción al uso del sistema operativo Linux.

UNIVERSIDAD NACIONAL SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERIA ELECTRONICA LINUX AVID ROMAN GONZALEZ

Shell de Unix ProgPLN

Guía Comandos Básicos sobre Unix/Linux

1. CARACTERÍSTICAS DE LINUX.

Comandos HDF Breve manual

Las características principales de la shell son las siguientes:

Comandos Linux Ayuda. Archivos y directorios

CENTRO DE ESTUDIOS. Convocatoria: Todo el año Duración: 35 h Horario: Turnos de mañana/ tarde Precio: 490

PROGRAMACIÓN DEL SHELL

Programación con bash

Laboratorio de Sistemas Operativos. Ingenierías Técnicas en Informática de Sistemas y Gestión 2006/2007

Herramientas de Programación: Introducción a Unix

Qué es un Procesador de textos? Iniciar Word. Microsoft Word Microsoft Office 2010

TP N 4 Redirección de entrada y salida estándar

Comandos básicos MS-DOS

Gestión de Procesos en GNU/Linux Ing. Emiliano Marini

Curso ICA de: LINUX BÁSICO

Programación SHELL. Resumen de Programación en Shell. Álvaro Tomás Marín Vílchez

COMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASH SISTEMAS OPERATIVOS I.T. INFORMÁTICA DE GESTIÓN

Práctica 1. El entorno UNIX. IMPORTANTE: Cuando el alumno abandone el aula y quiera apagar el ordenador debe saltar al punto 14.

UNIDAD DIDACTICA 2 COMANDOS BÁSICOS DE LINUX

66.69 CRIPTOGRAFÍA Y SEGURIDAD INFORMÁTICA

Usando el editor de texto vi

Introducción a Linux

UNIDAD 2: COMANDOS BÁSICOS

Tutorial de comandos básicos para Linux Javier Fernández Rivera -

Denme un shell y moveré al mundo! o Por qué la linea de comandos no es una interfaz anticuada?

APLICACIONES de PROTOCOLOS del NIVEL de APLICACION

Temario Linux Básico para Web

CURSO LINUX: Administración de Sistema y Servicios (parte 2)

INTRODUCCIÓN BÁSICA AL SISTEMA OPERATIVO UNIX

Arquitectura del sistema operativo GNU/Linux. Luis Eduardo Sepúlveda R.

La consola en GNU / Linux

Introducción a Linux

Tema 2 Introducción a la Programación en C.

Editores de texto en Linux

Entorno Linux/Unix. Alexis Quesada Arencibia José Miguel Santos Espino Francisco J. Santana Pérez. Programación de Sistemas

Gestión de Redes. Algunos conceptos básicos de Linux

labs Linux para Administradores de Elastix Elastix Certification ELASTIX CERTIFICATION

Historia de UNIX

Comandos más utilizados en Linux

Comandos Linux. Recopilación de algunos de los comandos LINUX más usados.

Nombres de archivo. Sistemas Operativos III - ETB EMT - CETP

Comandos Básicos de Linux Verano passwd: Se usa para cambiar la contraseña

Preparación para el examen LPI 101. Tema Creando, monitorizando y matando procesos

La Jerarquía de Sistema de Archivos Estándar en GNU/Linux (FHS)

Para comenzar, abra el programa Inmediatamente aparecerá una ventana llamada editor de datos que tiene la siguiente forma:

PRACTICA II: INTRODUCCION A LOS SISTEMAS OPERATIVOS TIPO UNIX.

Microsoft Office Word

apt cache search (texto) Muestra una lista de todos los paquetes y una breve descripción relacionado con el texto que hemos buscado.

Boletín 5- Señales. Departamento de Lenguajes y Sistemas Informáticos

( Segunda Parte ) 9 de Octubre de Versión 1.0

Transcripción:

Capítulo 3. La shell y herramientas 3.1. Objetivos Familiarizarse con intérprete de órdenes de Linux al nivel de usuario y algunas herramientas. 3.2. Documentación de las transparencias Las transparencias relevantes para realizar esta práctica son: - Páginas 32-48 de las transparencias de Unix 3.3. Especificación Lo que sigue es una guía de acciones sugeridas. Utilice un Terminal de texto dentro del entorno gráfico. Puede desviarse de este esquema lo que crea necesario para comprender mejor el sistema. Emplee el tiempo necesario en esta práctica, de modo que se sienta cómodo con el entorno. 3.4. Comodines y sustituciones Familiarícese con los comodines y sustituciones de la shell con algunas órdenes como echo * echo.* echo * echo /usr/include/a*h echo /usr/include/[abc]* echo /usr/include/[a-d]* echo $PATH arch echo tengo un procesador de tipo arch 1 3.5. Historia Familiarícese con los mecanismos de historia y de terminación de nombres de la shell: history Pulse las teclas de control de cursor arriba, abajo, izquierda, derecha; inserte caracteres; ejecute. 1

Capítulo 3. La shell y herramientas Use el tabulador para completar nombres de órdenes o ficheros no ambiguos (si el nombre es ambiguo pita; si se pulsa el tabulador otra vez, lista los nombres que casan con el prefijo). 3.6. Redirecciones Familiarícese con las redirecciones de la shell con algunas órdenes como: cal cal >fichero cal >> fichero sort < /etc/passwd > fichero cal hexdump -C man ls tr -s \n sort uniq -c sort -n tail -5 man ls tr -s \n sort uniq -c tee espia sort -n tail -5 Si no conoce alguna de las órdenes anteriores, mire su página de manual. 3.7. Seudoficheros de /dev/ cat /dev/null echo hola > /dev/null. cat /dev/null wc /dev/null wc /etc/* > /dev/null wc /etc/* > /dev/null 2>&1 hexdump -Cv /dev/null hexdump -Cv /dev/urandom hexdump -Cv /dev/zero hexdump -Cv /dev/zero head -100 echo hola > /dev/tty. Si tty da /dev/pts/3, hacer echo hola > /dev/pts/3 desde el mismo terminal y desde otro. 2

3.8. Variables y entorno Familiarícese con las variables de la shell que están en el entorno: Capítulo 3. La shell y herramientas Vea lo que valen las variables de entorno PATH, LC_ALL y PAGER. Ojo, con echo $VARIABLE no se sabe si una variable está en el entorno o no, y si el valor que da es vacío, no se sabe si está definida o no. Para asegurarse haga printenv grep VARIABLE; si no está en el entorno, expórtela con export VARIABLE. Vea lo que muestran date y man ls antes y después de cambiar LC_ALL al valor en_us (inglés/estados Unidos). Luego restáurela a su valor original. Cambie o defina la variable PAGER a /bin/cat e intente hacer un man ls. Explique el resultado y luego restaure la variable a un paginador de verdad (more o less). Vea donde la shell encuentra algunos programas con which. Cambie la variable PATH a /bin y vea si se encuentra esos programas. 3.9. Control de procesos Familiarícese con el control de procesos de la shell. Lanzando un proceso en segundo plano (background): wc /usr/bin/* > /dev/null 2>&1 & Viendo los procesos controlados por el terminal con ps. Observando los distintos campos, como PID, PPID, STAT y TTY. Viendo los procesos padre de los procesos de usuario ps fjx (columna PPID). Usando el programa top para ver todos los procesos del sistema ordenados por uso de procesador o de memoria. Viendo los datos de los procesos como ficheros en los directorios /proc/n o, done n o es un número de proceso. En /proc/self se observan los del proceso en curso. cat /proc/1/cmdline hexdump -C /proc/1/cmdline hexdump -C /proc/self/cmdline Averigüe el n o de proceso de su shell con ps y haga hexdump -C /proc/n o /cmdline hexdump -C /proc/n o /environ, cat /proc/n o /status ls -l /proc/n o /exe ls -l /proc/n o /cwd cat /proc/n o /cgroup etc. Suspendiendo trabajos con Control-Z. Viendo los trabajos que hay asociados a la sesión con jobs. 3

Capítulo 3. La shell y herramientas Pasando trabajos de suspendidos a activos en segundo plano con bg y a primer plano con fg. 3.10. Señales en la shell de Unix Familiarícese con el uso de señales desde la shell, siguiendo, por ejemplo, esta secuencia de actividades: Lance un proceso largo en segundo plano (background). Por ejemplo: wc /*/*/* >/dev/null 2>&1 & Vea los procesos controlados por el terminal, con ps, y los trabajos, con jobs. Ahí estará un proceso ejecutando el wc, y el trabajo correspondiente. Añada un trabajo multiproceso como este, que calcula el número de veces que aparece cada palabra en el Quijote 2 : wget --user-agent=w3m -O - -q --limit-rate=10k http://www.gutenberg.org/ebooks/2000.txt.utf-8 tr -sc [:alpha:] \n sort uniq -c sort -n > palabras & y vea los trabajos y los procesos que hay. Mande la señal de terminar un trabajo y vea qué sucede. Por ejemplo: kill %1 si 1 fuera el primer trabajo. Mande la señal de terminar un proceso del otro trabajo y vea qué sucede. Por ejemplo: kill 5431 si 5431 fuera el número de proceso de uniq, por ejemplo. Observe que la orden kill sin opciones manda la señal de terminar (15 o SIGKILL), como en: kill -15 5431 o kill -SIGKILL 5431 Mire las señales disponibles y sus números con kill -l (l minúscula). Pulsando CONTROL-C, se manda la señal SIGINT a los procesos ligados al terminal. Por defecto abortan, pero pueden ignorarlo o hacer algo. Observe que la bash lo ignora. Observe que cat aborta. Observe que la bc la atrapa, diciendo las instrucciones para terminar. Haga que la bash la atrape y diga algo. Por ejemplo: trap "echo; echo Hola $USER" INT Observe que la señal se nombra numéricamente o simbólicamente, si el prefijo SIG. 4

3.11. Edición de textos y programillas de shell Capítulo 3. La shell y herramientas Familiarícese brevemente con un editor de textos, si no lo estuviera ya. Para ello use el editor de textos de su elección. Uno sencillo es gedit de Gnome o kwrite o kate de KDE, que colorean sintácticamente programas en distintos lenguajes de programación. También han disponibles editores que no requieren entorno gráfico como nano o pico. 3 Edite un fichero p1.sh que contenga este programilla de shell: echo Mirando los ficheros de pwd echo Encontrados * Ejecútelo con bash p1.sh y observe el resultado. Aproveche que el núcleo de Linux usa bash para ejecutar ficheros ejecutables con texto, directamente. Use chmod +x p1.sh para hacerlo ejecutable y ejecútelo como cualquier programa. Observe que la shell es un intérprete de programas (créelo como p2.sh y pruebe): echo Mirando los ficheros de pwd for i in * do echo Encontrado $i en pwd done Observe que también puede recibir argumentos (créelo como p3.sh y pruebe): echo Mirando los ficheros de que me pasan for i in $* do echo Encontrado $i done Busque en el sistema alguna utilidad que le permita visualizar las diferencias entre ficheros con man -k compar. Visualize con man la información del manual de las órdenes sugeridos para ver cómo se usan. Recuerde que las órdenes están en la sección 1 del manual. Use una de las órdenes para visualizar las diferencias entre p2.sh y p3.sh. Pruebe al menos diff y meld. Use al menos diff3 y meld para ver las diferencias entre los tres ficheros. 3.12. Ficheros ofrecidos Se encuentran en el directorio shell: Programa p1.sh. 3.13. Resultados pedidos Ejecutar y familiarizarse con órdenes de la shell. Creación de los programas de shell p2.sh y p3.sh. 5

Notas Capítulo 3. La shell y herramientas 1. El intérprete de órdenes reemplaza las órdenes entrecomilladas con comillas inversas por la salida estándar de la orden. 2. wget es un cliente de web no interactivo al que limitamos el caudal para que el grupo de procesos dure un tiempo suficiente. El programa tr convierte las secuencias no alfabéticas en fin de línea. El programa uniq agrupa palabras iguales consecutivas y las escribe una vez precedidas de un contador. 3. Por supuesto también puede usar otros editores más profesionales, como vim, gvim o emacs, pero la dificultad en aprenderlos es mucho mayor. 6