Practico_PAD3501_Semana4

Anuncio
Escuela de Informática y Telecomunicaciones
SEMANA N° 4
NOMBRE EXPERIENCIA: Comandos de manipulación de archivos y filtros
UNIDAD DE APRENDIZAJE:
I.
Objetivo
Que el alumno tenga una idea general de cuáles son los comandos LINUX de
manipulación de archivos y filtros y sus principales opciones y que los pueda aplicar en la
resolución de problemas prácticos de manejo de archivos.
II.
Conocimientos previos
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.
Usualmente grep presenta la siguiente sintaxis:
grep [opciones] patrón [lista_archivos]
El comando find se puede utilizar para buscar en un directorio, y los subdirectorios
correspondientes, archivos que cumplan determinados criterios.
Para mayor información utilizar el manual en línea de estos comandos.
III.
Requerimientos técnicos
Para esta actividad basta con un PC con LINUX por alumno o en grupo de máximo dos
alumnos por PC, opcionalmente acceso a Internet.
IV.
Desarrollo de la Actividad
La siguiente actividad está centrada en la profundización de la familia de comandos grep
de LINUX para búsqueda de patrones en archivos, sus opciones más comunes de uso.
Ud. deberá profundizar acerca de los comandos grep de búsqueda de palabras y patrones
en archivos, sus principales opciones de uso y la aplicación de dichos comandos en la
resolución de problemas prácticos que involucren el manejo de archivos. También se
especificarán comandos de búsqueda de archivos, sus opciones y la aplicación de dichos
comandos a la resolución de problemas prácticos que involucren la búsqueda y el
procesamiento de archivos.
1
Escuela de Informática y Telecomunicaciones
Algunas de las preguntas y/o actividades planteadas pueden responderse con la
documentación ofrecida en el material teórico de la asignatura, otras, sin embargo,
requieren que Ud. Investigue, para esto último será usual que se le ofrezcan links a
páginas web, esquemas o dibujos, diagramas, tablas, documentación complementaria,
etc.
Búsqueda de patrones en archivos
1.-
Especificar el comando LINUX que permita buscar en el archivo /etc/passwd los
usuarios que tengan definida como shell al bash.
2.-
Especificar el comando LINUX que permita buscar en todos los archivos del
directorio /var/log la cadena “error” (sin distinguir mayúsculas de minúsculas).
3.-
Cree el archivo testfile.txt con al menos unas 10 líneas de texto. Ejecute y
comente la salida del siguiente comando: grep -B3 -A4 "palabra" testfile.txt
>grepout.log.
Para probar el comando considere “palabra” como alguna palabra del archivo
(indic.: -B antes (before) y -A después (after)).
4.-
Cree a lo menos 10 archivos en su directorio actual, con nombres aleatorios:
algunos con “s”, otros con “S”, otros con “s” y “S”, y otros sin “s” ni “S”. Ejecute y
comente la salida de los siguientes comandos:
ls
ls ¦ grep -v -i "s"
2
Escuela de Informática y Telecomunicaciones
5.-
Interpretar la siguiente expresión regular usada con grep: "\:[0-9][0-9] ...."
6.-
Especificar el comando LINUX que permita buscar todos los archivos del directorio
actual que sus nombres terminan en “.txt” y que contienen la cadena de texto
“Saludos” al principio de la línea. No se debe distinguir entre mayúsculas y
minúsculas y se debe imprimir solamente los nombres de los archivos que igualen
la búsqueda.
grep –i –l „^Saludos‟ *.txt
7.-
Especificar el comando LINUX que permita buscar todos los archivos del directorio
actual que sus nombres terminan en “.c”.
8.-
Especificar el comando LINUX que permita listar todos los subdirectorios del
directorio actual que tengan permiso de ejecución para los “otros” usuarios.
ls –l ¦ grep „d……..x‟
Notar que grep busca por una cadena de caracteres que empieza con “d” y tiene
exactamente ocho caracteres no especificados y entonces una “x” al final.
9.-
Ejecute y comente la salida del siguiente comando: ps ax ¦ grep sshd ¦ grep -v
grep. ¿Qué sentido tiene la sentencia grep –v grep en el comando?
3
Escuela de Informática y Telecomunicaciones
10.-
Ejecute y comente la salida del siguiente comando: grep -lR apache /etc/*.
11.-
Un archivo palabras.txt contiene palabras distintas una por línea. Especificar el
comando LINUX que permita extraer hacia el archivo words.txt todas las palabras
que empiecen y terminen con vocal, en minúscula o mayúscula.
Búsqueda de archivos
12.-
Con el comando find, busque todos los ficheros con extensión .conf en el
directorio /etc y cópielos en el directorio copia_conf, creado previamente.
13.-
Especificar los comandos LINUX que permitan mostrar el nombre de todos los
archivos que tiene en su cuenta cuyo nombre termine con el símbolo “~”, mostrar
el contenido de los archivos que encontró en el paso anterior mostrando una
pantalla de información a la vez.
14.-
Especificar los comandos LINUX que permitan crear un directorio que se llame
para_borrar y copia los archivos que se mostraron en el paso anterior. Utilizar
find para borrar los archivos del directorio que se creó en el paso anterior.
4
Escuela de Informática y Telecomunicaciones
15.-
Especificar el comando LINUX que permita buscar todos los archivos de tamaño
superior a 30KB en su equipo.
16.-
Especificar el comando LINUX que permita buscar todos los directorios vacíos
que se encuentran en /home/alumno (si no existen, cree algunos para probar el
comando).
17.-
Especificar el comando LINUX que permita buscar todos los archivos vacíos que
se encuentran en /home/alumno (si no existen, cree algunos para probar el
comando).
18.-
Especificar el comando LINUX que permita buscar varios tipos de archivos a la
vez, a modo de ejemplo puede Ud. buscar archivos con extensión “.mpg” y con
extensión “.avi”.
find . -name „*.mpg‟ -o -name „*.avi‟
19.-
Especificar el comando LINUX que permita buscar y mostrar los nombres de
todos los archivos en el árbol de directorios /usr/src hasta los situados tres
directorios debajo de /usr/src (lea la ayuda de find, opción -maxdepth), que
terminen con ".rpm" y cuyos tamaños sean mayores a 100 kbytes.
find /usr/src -maxdepth 3 -name '*.rpm' -size +100k -print
5
Escuela de Informática y Telecomunicaciones
V.
Resumen
Con esta experiencia aprendiste acerca de las características de uso y opciones de
los comandos LINUX de manipulación de archivos.
Aprendiste acerca de algunos otros comandos misceláneos de LINUX como son date,
clear, id, finger, who, w, etc.
Aplicaste los comandos de manipulación de archivos en problemas prácticos de
manejo de archivos en LINUX.
6
Descargar