1 / 28

Unidad 5: Standard IO and Pipe

Unidad 5: Standard IO and Pipe. Capítulo 1: Entrada estándar y salida estándar. Ejercicio. El comando hostname informa su nombre de máquina asignado de la estación actual. Ejecute el comando (sin argumentos) y redirige la salida al archivo ~/stdoutlab.txt.

Download Presentation

Unidad 5: Standard IO and Pipe

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unidad 5: Standard IO and Pipe Capítulo 1: Entrada estándar y salida estándar

  2. Ejercicio • El comando hostnameinforma su nombre de máquina asignado de la estación actual. Ejecute el comando (sin argumentos) y redirige la salida al archivo ~/stdoutlab.txt. • El comando uptimereporta cuánto tiempo ha pasado desde que arrancó su máquina y otra información de uso del sistema. Ejecute el comando uptime(sin argumentos) usando la redirección para agregar la salida al archivo ~/stdoutlab.txt. • El comando uname -a lista información sobre su versión actual de kernel. Ejecute el comando usando la redirección para agregar la salida al archivo ~/stdoutlab.txt.

  3. Capítulo 2 Error estándar

  4. Ejemplo • ls -F /etc/rc.d/ • head -1 /etc/rc.d/* • head -1 /etc/rc.d/* > rcsummary.out • head -1 /etc/rc.d/* 2> rcsummary.err • head -1 /etc/rc.d/* > rcsummary.out 2> rcsummary.err

  5. Uso de null para redireccionar • [elvis@station elvis]$ find /var -user elvis • find /var -user elvis 2> /tmp/foo • find /var -user elvis 2> /dev/null • ls -l /dev/null

  6. Ejercicio • Utilice la siguiente línea de comandos para mostrar el contenido de todos los archivos dentro del directorio /etc/X11. • Repita la línea de comandos pero redirija stdout a un archivo llamado ~/stderrlab.out y stderr a un archivo llamado ~/stderrlab.err. • Repita el comando pero esta vez combine stdout y stderr en un sólo flujo y redirija el flujo al archivo ~/stderrlab.both.

  7. Capítulo 3 Tuberías

  8. Ejemplo • ps aux | grep httpd • history | grep ls

  9. Ejercicio • Usted desearía crear una lista ordenada de todos los servicios de TCP services que se encuentran en el archivo /etc/services. Entube la salida del comando grep tcp /etc/servicesdentro del comando sort. Redirija la salida de esta tubería dentro del archivo ~/pipelab.txt. • Mediante el visualizador de página lessdesearía navegar la salida del comando ls -R /, viendo sólo archivos que contengan la letra s. Escriba un línea de comando con dos tuberías para encadenar los comandos ls -R /, grep s, y less. Abandone el visualizador de página lessen el primer plano mientras califica su ejercicio.

  10. Unidad 6: StringProcessing Tools Capítulo 1: Conteo de palabras y codificación de texto

  11. Ejemplo Cat • cat /etc/hosts • cat -A /etc/hosts

  12. Ejemplo Head y Tail • Head • ps aux | head 1 • Tail • ps aux | tail +2

  13. Ejemplo WC • alias nusers='users | wc -w‘ • ps aux | tail +2 | wc -l

  14. Ejercicios • Cree el archivo ~/gplwords.txt que contenga el número de palabras (como fue reportado por el comando wc) en el archivo /usr/share/doc/redhatrelease- 4ES/GPL como su única palabra. • Cree el archivo ~/localusers.txt, el cual contiene el número de usuarios localmente definidos como su única palabra. • Las bibliotecas compiladas estáticamente de modo convencional se encuentran en el directorio/usr/lib y tienen nombres que comienzan por lib y terminan en la extensión .a. Cree el archivo ~/usrlibs.txt que contenga el número de los archivos cuyo nombre siga esta convención en el directorio /usr/lib como su única palabra (no incluya subdirectorios). • Crear un script ejecutable llamado~/bin/nrecent. El script debería esperar un solo argumento, el cual es un nombre de un directorio. Tras la ejecuación, el script debería retornar un solo número, el cual es el número de archivos en el directorio modificados en las últimas 24 horas. El script no debería generar mensajes de error de los directorios en el flujo de error estándar.

  15. Ayudas • Para el archivo ~/localusers.txt recuerde que los usuario locales están definidos en el archivo /etc/passwd, un usuario por línea. • Para el script ~/bin/nrecent recuerde que $1 desreferencia un argumento del script bash. Considere el utilizar el comando findpara generar una lista de archivos coincidentes con los criterios y luego cuente el número de líneas (o palabras) en la salida. Usted podría desear utilizar los directorios /etc o /var/log para probar su script.

  16. Unidad 6: StringProcessing Tools Capítulo 2: Búsqueda de Texto: grep

  17. Grep • Búsqueda en archivos • echo Todos los gatos tienen una cola > general • echo Los gatos tienen nueve vidas > vidas • grep gatos general vidas • grep –l nueve general vidas • Búsqueda Recursiva • grep -r eth0 /etc/sysconfig 2>/dev/null • grep -r eth0 /etc/sysconfig 2>/dev/null | grep DEVICE • grep -rl eth0 /etc/sysconfig 2>/dev/null

  18. Grep • Inversión • head -n 4 /etc/passwd • grep -v root /etc/passwd | head -n 3 • Sin Importar Mayuscula y minuscula • grep LP /etc/passwd • grep -i LP /etc/passwd • Concidente sólo con la palabra • grep bin /etc/passwd • Grep -w bin /etc/passwd

  19. Grep y xargs • Ls –R /etc/ | grep networking | gedit • Ls –R /etc/ | grep networking | xargsgedit

  20. Ejercicio • Crear el archivo ~/bashusers.txt que contenga las líneas del archivo /etc/passwd que contengan el texto /bin/bash. • Crear el archivo~/nostdhome.txt que contenga sólo líneas desde el archivo /etc/passwd que no contengan el texto home (implicando que el usuario asociado tiene un directorio de inicio no estándar). • Crear el archivo ~/ansiterms.txt que contenga cada línea del archivo /etc/termcap que contenga el texto ansi, utilizando una búsqueda insensible a las mayúsculas y minúsculas, (en otras palabras, ansi, ANSI, Ansiy AnSitodas coincidirían). • Crear el archivo ~/mayhemnum.txt que contenga el número de la línea de la palabra mayhemdel archivo /usr/share/dict/words como su única palabra. • Crear el archivo ~/firstredhat.txt que contenga un listado clasificado en orden alfabético de todos los archivos bajo el directorio /usr/share/firstboot (y sus subdirectorios) que contengan el texto redhat, utilizando una búsqueda que no tenga en cuenta las mayúsculas y minúsculas. Los archivos deben listarse uno por línea mediante referencias absolutas.

  21. Unidad 6: StringProcessing Tools Capítulo 4: Ordenando todo: sort

  22. Ejemplos Sort • ls -s /var/log/m* | sort -n • ls -s /var/log/m* | sort -nr • Clasificando por columna • ls -l /var/log/m* | sort -n • ls -l /var/log/m* | sort -n -k5 • Clasificacionmultiples columnas • grep "^[[:alnum:]]" /etc/fdprm • grep "^[[:alnum:]]" /etc/fdprm | sort -n -k5 • grep "^[[:alnum:]]" /etc/fdprm | sort -n -k5 -k3

  23. Ejemplos Sort • Especificación del separador de campo • head /etc/passwd • head /etc/passwd | sort -t: -k6

  24. Ejercicio • El archivo /etc/fstab se utiliza para predefinir puntos de montaje en su sistema. La tercera columna del archivo especifica el tipo de sistema de archivo del dispositivo que va a ser montado. Clasifique el contenido del archivo en orden alfabético ascendente, mediante la tercera columna como su tecla primaria. Almacene la salida en el archivo recién creado ~/fstab.byfs. • El archivo /proc/modules lista los módulos cargados en el kernel junto con el tamaño del módulo (la segunda columna) y un uso de conteo actual (tercera columna). Clasifique el contenido de este archivo en orden numérico descendente, con el uso de conteo (tercera columna) como una tecla primaria y el tamaño de módulo (segunda columna) como su tecla secundaria. Almacene los resultados en el archivo~/modules.byuc. • Clasifique el archivo /etc/passwd en orden alfabético ascendente mediante la shell de inicio del usuario como la tecla primaria. Almacene los resultados en el archivo recién creado passwd.bylogin.

  25. Ejercicio • El comando dflista las particiones de disco montadas actualmente junto con uso actual del disco. La cuarta columna de esta salida del comando lista la cantidad de espacio disponible en bloques. Crea un script ejecutable llamado ~/bin/avail. Cuando sea ejecutado el script debería listar las particiones disponibles (la salida del comando df), clasificada en orden numérico descendente. La línea del encabezado generada a partir del comando dfdebería eliminarse de la salida.

  26. Unidad 6: StringProcessing Tools Capítulo 5: Extraer y reunir texto: cut y paste

  27. Ejemplo cut • cat /proc/interrupts • grep '[[:digit:]]:' /proc/interrupts |cut -c1-15 • grep '[[:digit:]]:' /proc/interrupts |cut -c1-5,34- • cut -s -f3,4 pcitable | head • cut -s -f3 pcitable | sort | uniq -c | sort -rn | head • cut -d: -f1,7 /etc/passwd

  28. Ejemplos de paste • Paste f1 f2 • Paste –s –d: f1 f2

More Related