2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 4: Comandos de manipulación de Archivos y filtros.

Slides:



Advertisements
Presentaciones similares
Comandos Sencillos.
Advertisements

Cuentas de Usuarios Como Mac OS X es un verdadero sistema operativo multiusuario, por tanto una computadora puede usar mas de un usuario, integrando.
UNIX COMP 240.
Access Bases de datos.
Programación II Ing. Diego J. Arcusin 3 – Uso del Shell.
Definición y Características
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
PROGRAMACION DE ESTRUCTURAS DE DATOS
Tema: Funciones en Excel (II) Funciones de Texto
Teoría de lenguajes y compiladores
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Sistema de Ficheros, Permisos de archivos y Propietarios de los Mismos.
Registro Único Tributario
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
TRADUCTOR DE UN PROGRAMA
Practica 16 Expresiones regulares LSC Veronica Quizan Garcia
DR. ERNESTO SUAREZ.
TRINO ANDRADE G UNIVERSIDAD ECOTEC. PRESENTACIÓN DE OUTLOOK EXPRESS Microsoft Outlook Express es una herramienta necesaria que le permite administrar.
UNIDAD 2:Crear, abrir y cerrar una base de datos Hacer clic sobre la opción Nuevo de la pestaña Archivo. Se mostrarán las distintas opciones para nuevos.
LISTAS DE CONTROL DE ACCESO (ACL)
File Ownerships and Permissions. Propiedades de Archivos regulares y Permisos.
Clase 10: Estructuras de datos y arreglos.
Sistema de archivos Sistemas operativos.
(Organización y Manejo de Archivos)
Practicas comunes en sistemas operativos. Unidad 5.
Sistema de Archivos Hernández Martinez Sonia Lizbeth
ORGANIZACIÓN DE LOS DATOS PARA PROCESARLOS EN COMPUTADORA Las computadoras trabajan con datos. Aceptan y procesan datos, y comunican resultados. No pueden.
Introducción a Celdas. Celdas La intersección de una fila y una columna es una celda. Cada celda está referenciada por un único par de coordenadas y ocupa.
Aplicación de estructuras de datos
Particionado de discos duros
María Camila Torres Quiroz 10 informática 2 CEFA 2012
FORMULAS ESTADISTICAS.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 5: Comandos de manipulación de Directorios y.
FILTROS. Un filtro es un programa que recibe una entrada, la procesa y devuelve una salida. Relacionando filtros simples podemos hacer prácticamente cualquier.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 7: Control del flujo en BASH Nombre unidad de.
Modulo 2. Filesystem Bàsico
Capítulo 1: Entrada estándar y salida estándar.  Programas gráficos: diseñados para ejecutarse en el entorno gráfico X. Utilizan mouse y teclado  Programas.
Elementos básicos del lenguaje
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 8: Control del flujo en BASH Nombre unidad de.
Practica 5 Mandos para el manejo de archivos
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 11: Manipulación de PROCESOS en LINUX, Introducción.
Teoría de Sistemas Operativos Administración de Archivos.
Cuentas de usuarios y grupos en windows 2008 server
Bases de Datos en Excel Microsoft Excel aporta al usuario la posibilidad de trabajar con tablas de información: nombres, direcciones, teléfonos, zonas,
Propiedades de Archivos regulares y Permisos  Linux es un entorno multiusuario  Varias personas pueden estar trabajando al mismo tiempo ◦ Ejemplo 
Comandos de manipulación de Archivos
El árbol de directorios
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
INTRODUCCIÒN MICROSOFT WORD 1 eencasts/shared/player_776x600.aspx?scre enCast=wd07_overview.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
INSTRUCCIONES. El alumno, seguirá los pasos que se le va indicando a continuación. En el recuadro en blanco, debe ir añadiendo un pantallazo con la.
Vamos a tratar algunos temas que es necesario conocer a la hora de administrar un sistema informático y que nos van a ser útiles sin importar el sistema.
MARIANA PRECIADO VILLA TELECOMUNICACIONES 11º3
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 9: Funciones, variables y arreglos en BASH Nombre.
Se pueden incluir comentarios en cualquier parte de un programa pero deben delimitarse con llaves o con paréntesis y asterisco:
Hoja de Cálculo EXCEL Introducción a la informática
Luis Villalta Márquez Servicios SFTP/SCP. SFTP SSH File Transfer Protocol (también conocido como SFTP o Secure File Transfer Protocol) es un protocolo.
Aplicaciones para la Administración de Negocios
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 2: El sistema de archivos de LINUX Nombre unidad.
MIA - Grupo 5 Unidad 2.

Expresiones Regulares
Taller de Linux Practica 19 Mando find Búsqueda de archivos LSC Veronica Quizan Garcia.
Los archivos también denominados ficheros (file); es una colección de información (datos relacionados entre sí), localizada o almacenada como una unidad.
QUÉ ES UNA BASE DE DATOS? Es un Conjunto de Información, que está clasificada de distintas maneras; pero que comparten entre sí algún tipo de vínculo,
Curso de Excel Intermedio Dr. Pedro Salcedo Lagos Mail: Web: Ref:
Curso de Excel Básico Sesión 1 1. Microsoft Excel es un programa utilizado para la creación, manejo y almacenamiento de hojas de cálculo. Permite realizar.
Transcripción de la presentación:

2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 4: Comandos de manipulación de Archivos y filtros Nombre unidad de aprendizaje: Introducción al LINUX Programación Aplicada

2© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Objetivos  Objetivos de la clase  Identifica sistemas de archivos y comandos del sistema operativo para inclusión en programas realizados en el ambiente de programación del intérprete de comandos Bash.

3© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  GREP - Los comandos de que dispone LINUX para buscar cadenas (o patrones) en archivos son grep, egrep y fgrep. La finalidad de estos comandos es imprimir por la salida estándar las líneas que contengan una cierta cadena.  grep se diseñó para ser el programa de propósito general.

4© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  grep puede buscar patrones con similitudes exactas entre los caracteres, o patrones que concuerden con una especificación más general.  grep generalmente ejecuta alguna variante de un algoritmo para búsquedas en “cadenas” denominado algoritmo de Boyer-Moore, utilizando expresiones regulares para definir la consulta.

5© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  fgrep se diseñó para ser un programa de búsqueda más veloz. Sin embargo, sólo puede buscar caracteres exactos (una cadena fija), no especificaciones generales.  fgrep no interpreta ningún meta-caracter, pero podemos buscar miles de palabras en paralelo (una vez inicializado, el tiempo de ejecución no depende del número de palabras), de ahí que se use principalmente para búsquedas bibliográficas.

6© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  El tamaño típico de los patrones de fgrep rebasa la capacidad de los algoritmos de egrep y grep  egrep se diseñó para ser el programa grep más poderoso. Puede buscar modelos más complejos que grep y, por lo general, es el más veloz de los tres. No obstante, el método que usa en ocasiones requiere más memoria que grep o fgrep.

7© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Una cadena fija es la que contiene sólo el texto que se desea buscar, mientras que una expresión puede contener caracteres especiales.  Los caracteres especiales que se pueden usar son los siguientes: “.”, [ ], ^, $, *, entre otros.  El punto “.” se utiliza para representar cualquier caracter.

8© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Los corchetes [ ] para especificar un caracter en un determinado rango. Por ejemplo, [a-e] representa el rango que incluye las letras a, b, c, d, e.  Si el primer caracter contenido en los corchetes es ^, se representa a cualquier caracter que no esté en el rango especificado.

9© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  El signo ^ indica que el caracter que sigue a continuación lo hemos de buscar al principio de una línea.  El signo $ representa el caracter de retorno de carro.  La sintaxis más general del comando grep es la siguiente:

10© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Patrón corresponde a la EXPRESIÓN REGULAR que se hará calzar con los datos buscados; una EXPRESION REGULAR es un conjunto de reglas que sirven para especificar uno o más elementos, como palabras de un archivo, empleando una única cadena de caracteres. grep [opciones] patrón [lista_de_archivos]

11© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Veamos algunos ejemplos de uso de grep:  Para buscar todas las líneas que contengan palabra en el archivo llamado datos, se puede usar: grep palabra datos.  Para buscar y numerar (en pantalla) todas las líneas que contengan palabra en el archivo llamado datos, usar: grep -n palabra datos.

12© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Para buscar todas las líneas que empiecen con palabra en el archivo datos, se puede usar: grep ^palabra datos.  Para buscar todas las líneas que terminan con palabra en el archivo datos, se puede usar: grep palabra$ datos.

13© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Para mostrar todas las líneas que no contienen a palabra en el archivo datos, se puede usar: grep –v palabra datos.  grep es muy útil durante la búsqueda en archivos, pero realmente se le aprecia en toda su magnitud dentro de una interconexión entre procesos.

14© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Lo que hace a grep tan útil es que puede reducir una gran cantidad de datos sin procesar, en una pequeña cantidad de información útil.  Por ejemplo, suponga que desea desplegar todos los usuarios que entraron al sistema durante la tarde o la noche. Use la interconexión de procesos: w –h ¦ grep pm.

15© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Suponga que sólo desea desplegar los identificadores de usuario y no a la demás información, use: w –h ¦ grep pm ¦ cut –c1-8.  Entre las opciones de grep se cuentan -i para evitar distinguir entre mayúsculas y minúsculas, -n para mostrar el número de línea y -v para buscar líneas que no contengan la expresión regular indicada.

16© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Veamos algunos otros ejemplos de uso de grep:  Para listar sólo los subdirectorios del directorio /usr (la línea empieza con "d"), se puede usar: ls -l /usr ¦ grep "^d", también sería posible usar: ls -F /usr ¦ grep "/$".

17© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Para listar sólo los archivos que otros usuarios pueden leer y escribir en el directorio principal, usar: ls -l / ¦ grep " rw".  Para buscar usuarios sin contraseñas; caracteres al principio de línea que no sean ":", y luego "::" (el segundo lugar, que corresponde a la contraseña, está vacío), se puede usar: grep "^[^:]*::" /etc/passwd.

18© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Recordar que en una expresión regular de grep el “.” representa un solo caracter.  FIND - Se puede utilizar el comando find para buscar en un directorio, y los subdirectorios correspondientes, archivos que cumplan determinados criterios.

19© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  find es un comando eficaz y flexible. No obstante, puede ejecutarse lentamente, sobre todo si se realizan búsquedas en muchos directorios.  En su forma más simple el comando find presenta la siguiente sintaxis: find -name

20© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Directorio especifica la rama de directorio sobre el cual se va a realizar la búsqueda.  Archivo corresponde al nombre del archivo que se desea buscar.  Por ejemplo, supongamos que deseamos mostrar todos los archivos del directorio actual y los subdirectorios pertinentes que empiecen por la letra "d". Usar: find. –name “d*”.

21© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  El punto “.” hace que find busque en el directorio actual y sus subdirectorios. La opción -name seguida de un nombre de archivo o un patrón de nombre de archivo (en este caso d*) le indica a find que busque todos los nombres de archivo que coincidan con dicho patrón.

22© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Es posible ejecutar comandos en los archivos encontrados con el comando find.  Por ejemplo, supongamos que se desean eliminar todos los archivos que presenten la extensión.tmp en el directorio actual y los subdirectorios correspondientes. Podemos usar: find. -name "*.tmp" -exec rm {} \;.

23© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  La opción -exec hace que el siguiente comando (rm) se ejecute. Las llaves { } indican los archivos encontrados con el comando find. El punto y coma situado al final de la cadena exec está precedido de un carácter de arranque (\;).  La ejecución de un comando sobre los archivos encontrados puede hacerse de manera interactiva con la opción -ok.

24© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Podemos utilizar -ok en el comando anterior: find. -name "*.tmp" -ok rm {} \;.  find permite efectuar búsquedas de archivos por muchos y variados criterios: por nombre, por tamaño de archivo, por propietario, por tipo de archivo, por permisos, etc. ~]$ find. -name "*.tmp" -ok rm {} \; ?

25© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Un ejemplo de uso de estas últimas opciones podría ser el listar el contenido de todos los directorios y subdirectorios de la ruta actual, para esto usar: find. -type d -exec ls {} \;.  Podemos buscar archivos vacíos con find a través del uso de la opción -empty, por ejemplo: find. –empty, también puede ser: find. -empty -type f.

26© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Cuando siendo usuarios normales busquemos archivos fuera de nuestro directorio personal, se nos mostrarán algunos mensajes de error porque habrá directorios a los que no tendremos permiso para entrar a buscar, por ejemplo, /root.  Estos mensajes de error nos pueden despistar a la hora de interpretar la salida, así que podemos enviar stderr a /dev/null.

27© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Para esto utilizaremos: find … 2>/dev/null.  LOCATE - Cuando se instala el paquete GNU "find", además del programa de búsqueda find se encuentra un programa de localización locate. Este programa permite encontrar el nombre completo de un archivo. El programa se encuentra en ciertas distribuciones en /usr/lib/locate.

28© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Ejecutar, siendo root, el programa /usr/lib/locate/updatedb. Esto llama a un find / sobre los discos montados y coloca los nombres y ubicaciones de todos los archivos (bajo la forma de hash) en /usr/lib/locate/find.codes. El programa locate permite localizar luego uno de estos archivos a partir de dicha base de datos creada.

29© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  En resumen, locate realmente no busca directamente un archivo en el SISTEMA DE ARCHIVOS, busca en una base de datos, la que es creada a través del programa updatedb. Con esto, locate es bastante más rápido (que, por ejemplo, find) pero la base de datos podría estar desactualizada.

30© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Es aconsejable excluir las particiones "HOMES" usuarios. En efecto, estas particiones contienen normalmente numerosos archivos. Pero el problema mayor es seguramente un problema de seguridad, porque todos los usuarios pueden conocer los nombres de los archivos de sus vecinos.

31© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  locate lleva a cabo su búsqueda en la base de datos realizando búsquedas de subcadenas en los nombre de archivos almacenados. ~]$ locate file ~/file1 ~/job/myfile …

32© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Existe también un comando slocate (secure locate). La diferencia entre slocate y locate es la seguridad: slocate solamente permite al usuario explorar sobre el espacio de búsqueda para el cual tiene permisos, es decir, aunque la base de datos tiene todos los archivos del sistema, el usuario solamente puede "enterarse" de los contenidos a los cuales tendría permiso si quisiera hacer find.

33© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Desarrollo Comandos LINUX de manipulación de archivos  Hay muchas utilidades de búsqueda disponibles para UNIX y LINUX especialmente, aparte de find y locate.

34© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Resumen  Resumen de la clase  Los comandos de que dispone LINUX para buscar cadenas (o patrones) en archivos son grep, egrep y fgrep. La finalidad de estos comandos es imprimir por la salida estándar las líneas que contengan una cierta cadena.  grep puede buscar patrones que calcen de manera exacta entre los caracteres, por ejemplo, de un archivo, o patrones que concuerden con una especificación más genérica.  Los patrones de una búsqueda con grep se pueden especificar como expresiones regulares, las que pueden utilizar algunos caracteres especiales.  Los caracteres especiales que se pueden usar en una expresión regular son los siguientes: “.”, [ ], ^, $, *, entre otros.

35© 2007 Cisco Systems, Inc. Todos los derechos reservados.Cisco Public Escuela de Informática y Telecomunicaciones Resumen  Resumen de la clase  En LINUX se utiliza el comando find para buscar en un directorio, y los subdirectorios correspondientes, archivos que cumplan con determinados criterios.  Es posible procesar los archivos encontrados con el comando find, por medio de la ejecución de algún comando LINUX sobre el o los archivos encontrados, a través de las opciones -exec y -ok.