Semana 9 standard io and pipes guia de ejercicios resuelta

511 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
511
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Semana 9 standard io and pipes guia de ejercicios resuelta

  1. 1. Standard I/O and Pipes 1 Capítulo 1 HTUEntrada estándar y salida estándarUTH Conceptos clave • Los programas basados en la terminal tienden a leer información desde una fuente y a escribir la información en un destino. • La fuente desde donde se leen los programas se conoce como una entrada estándar (TstdinT, del inglés standard in) y suele estar conectada al teclado de la terminal. • El destino al que los programas escriben se conoce como una salida estándar (TstdoutT, del inglés standard out) y suele estar conectada a la pantalla de la terminal. • Cuando se utiliza la shell TbashT, la TstdoutT puede redirigirse mediante T>T o T>>T y la TstdinT puede redirigirse mediante T<T. HTUPreguntasUTH Use the following transcript to answer the next 3 questions. T[prince@station prince]$ whoT prince tty1 Sep 22 20:02 T[prince@station prince]$ cat < /etc/services >> ~/servicesT HTUQuestion 1UTH ¿Qué archivo está utlizando el comando TcatT para la entrada estándar? A. T/dev/tty1T B. T/etc/servicesT C. T/dev/nullT D. T~/servicesT E. None of the above HTUQuestion 2UTH ¿Qué archivo está utilizando el comando TcatT para la salida estándar? A. T~/servicesT B. T/dev/tty1T C. T/etc/servicesT
  2. 2. Standard I/O and Pipes 2 D. T/dev/nullT E. None of the above HTUQuestion 3UTH ¿Qué archivo está utilizando la shell TcatT para la salida estándar? A. T/dev/tty1T B. T~/servicesT C. T/dev/nullT D. T/etc/servicesT E. None of the above HTUQuestion 4UTH ¿Cuáles de las siguientes líneas de comando agregaría líneas al archivo (ya existente) Tdf.outT? A. Tdf > df.outT B. Tdf >+ df.outT C. Tdf.out << df T D. Tdf.out +< df T E. None of the above Use the following transcript to answer the next 3 questions. T[prince@station prince]$ psT PID TTY TIME CMD 1409 pts/0 00:00:00 bash 1542 pts/0 00:00:00 vmstat 1543 pts/0 00:00:00 ps T[prince@station prince]$ ls -l /proc/1542/fdT total 6 lrwx------ 1 prince prince 64 Sep 22 20:42 0 -> /dev/pts/0 l-wx------ 1 prince prince 64 Sep 22 20:42 1 -> /tmp/vmstat.out lrwx------ 1 prince prince 64 Sep 22 20:42 2 -> /dev/pts/0 lr-x------ 1 prince prince 64 Sep 22 20:42 3 -> /proc/uptime lr-x------ 1 prince prince 64 Sep 22 20:42 4 -> /proc/stat
  3. 3. Standard I/O and Pipes 3 lr-x------ 1 prince prince 64 Sep 22 20:42 5 -> /proc/meminfo HTUQuestion 5UTH ¿Cuáles de las siguientes archivos está utilizando el comando TvmstatT para salida estándar? A. T/proc/statT B. T/dev/tty1T C. T/dev/pts/0T D. T/tmp/vmstat.outT E. There is not enough information provided. HTUQuestion 6UTH ¿Qué sucedió al iniciarse el comandoTvmstatT? A. La shell TbashT creó un nuevo archivo. B. La shell TbashT sobrescribió un archivo ya existente. C. La shell TbashT agregó a un archivo ya existente. D. El comando TvmstatT creó un nuevo archivo. E. There is not enough information provided. HTUQuestion 7UTH ¿Cuál de los siguientes archivos está utilizando el comando para la entrada estándar? A. T/proc/statT B. T/tmp/vmstat.outT C. T/dev/pts/0T D. T/dev/tty1T E. There is not enough information provided. Use the following transcript to answer the next 3 questions. T[prince@station prince]$ cal > cal.out T[prince@station prince]$ ls -l /dev/stdinT
  4. 4. Standard I/O and Pipes 4 lrwxrwxrwx 1 root root 17 Apr 1 11:13 /dev/stdin -> ../proc/self/fd/0 T[prince@station prince]$ cat /dev/stdin < cal.outT September 2003 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 HTUQuestion 8UTH ¿Qué es lo que mejor describe el archivo T/proc/selfT? A. El archivo es un enlace simbólico que apunta a la shell de inicio actual. B. El archivo es un enlace simbólico que apunta al directorio raíz. C. El archivo es un enlace simbólico que apunta a T/dev/stdoutT. D. El archivo es un enlace simbólico que apunta a T/tmpT. E. The file is a symbolic link which resolves to the T/proc/pidT directory corresponding to the current process. HTUQuestion 9UTH Para el proceso TcatT a qué archivo apuntaría el enlace simbólico T/proc/self/fd/0T? A. T/dev/stdinT B. Tcal.outT C. T/dev/tty1T D. T/tmpT E. T/proc/selfT HTUQuestion 10UTH Para el proceso TcatT, ¿a qué archivo muy probablemente apuntaría el enlace simbólico T/proc/self/fd/1T? A. T/proc/selfT B. T/tmpT C. Tcal.outT D. T/dev/stdinT
  5. 5. Standard I/O and Pipes 5 E. T/dev/tty1T Capítulo 2 HTUError estándarUTH Conceptos clave • Los programas Unix reportan condiciones de error a un destino llamado error estándar (TstderrT). • Usualmente, stderr está conectado a una pantalla de terminal y los mensajes de error se encuentran entremezclados con las salidas estándar. • Cuando se utiliza la shell TbashT, el flujo de stderr puede redirigirse a un archivo mediante T2>T. • Al utilizar TbashT, el flujo de stderr puede combinarse con el flujo de stdout mediante T2>&1T o T>& HTUPreguntasUTH Use the following transcript to answer the next question. T[madonna@station madonna]$ cat chmod.errT chmod: changing permissions of `/tmp/orbit-elvis': Operation not permitted chmod: changing permissions of `/tmp/orbit-elvis-a8e8d915': Operation not permitted chmod: changing permissions of `/tmp/orbit-hogan': Operation not permitted chmod: changing permissions of `/tmp/orbit-root': Operation not permitted chmod: changing permissions of `/tmp/orbit-student': Operation not permitted HTUQuestion 1UTH ¿Cuál de las siguientes líneas de comando muy probablemente crearon el archivo Tchmod.errT? A. Tchmod a+r /tmp/* > chmod.errT B. Tchmod a+r /tmp/* 2> chmod.errT C. Tchmod a+r /tmp/* >> chmod.errT D. Tchmod a+r /tmp/* e> chmod.errT E. None of the above
  6. 6. Standard I/O and Pipes 6 HTUQuestion 2UTH ¿Cuáles de las siguientes líneas de comando combinarían stdout y stderr y redirigirían el flujo combinado al archivo T/tmp/find.outT? A. Tfind /etc > /tmp/find.out 2>&1 T B. Tfind /etc >> /tmp/find.out T C. Tfind /etc >& /tmp/find.out T D. Tfind /etc >>& /tmp/find.out T E. A y C HTUQuestion 3UTH ¿Cuáles de las siguientes líneas de comando combinarían stdout y stderr y redirigirían el flujo combinado al archivo T/tmp/find.outT si éste ya existia? A. Tfind /etc > /tmp/find.out 2>&1 T B. Tfind /etc >> /tmp/find.out T C. Tfind /etc >> /tmp/find.out 2>&1 T D. Tfind /etc >>& /tmp/find.out T E. A y C Use the following transcript to answer the next two questions. T[madonna@station madonna]$ cat /etc/t* > /tmp/cat.out 2> /tmp/cat.errT [1]+ Stopped cat /etc/t* >/tmp/cat.out 2>/tmp/cat.err T[madonna@station madonna]$ psT PID TTY TIME CMD 2419 pts/1 00:00:00 bash 3126 pts/1 00:00:00 cat 3127 pts/1 00:00:00 ps T[madonna@station madonna]$ ls -l /proc/3126/fdT total 4 lrwx------ 1 madonna madonna 64 Sep 23 04:15 0 -> /dev/pts/1 l-wx------ 1 madonna madonna 64 Sep 23 04:15 1 -> /tmp/cat.out l-wx------ 1 madonna madonna 64 Sep 23 04:15 2 -> /tmp/cat.err lr-x------ 1 madonna madonna 64 Sep 23 04:15 3 -> /etc/termcap T[madonna@station madonna]$ fg T[madonna@station madonna]$ ??????? T cat: /etc/tomcat4: Is a directory
  7. 7. Standard I/O and Pipes 7 HTUQuestion 4UTH ¿Qué archivo descriptor utiliza Linux como error estándar? A. 0 B. 1 C. 2 D. 3 E. None of the above HTUQuestion 5UTH ¿Cuáles de las siguientes líneas de comando podrían remplazar los signos de interrogación como la última línea de comando en la transcripción? A. Tcat /dev/pts/1T B. Tcat /tmp/cat.outT C. Tcat /tmp/cat.errT D. Tcat /etc/termcapT E. Tcat /dev/nullT HTUQuestion 6UTH ¿A cuál de los siguientes archivos esperaría usted que apuntara el enlace simbólico T/dev/stderrT? A. T../proc/self/fd/2T B. T../proc/self/fd/1T C. T../proc/self/fd/0T D. T/dev/nullT E. None of the above Use the following transcript to answer the next two questions. T[madonna@station madonna]$ cat groups.shT #!/bin/bash if id $1 then
  8. 8. Standard I/O and Pipes 8 echo "The user $1 belongs to the following groups: $(id -Gn $1) " else echo "The user $1 does not exist" fi T[madonna@station madonna]$ ./groups.sh elvisT uid=501(elvis) gid=501(elvis) groups=501(elvis),201(wrestle),202(physics),203(emperors),205(music) The user elvis belongs to the following groups: elvis wrestle physics emperors music T[madonna@station madonna]$ ./groups.sh barneyT id: barney: No such user The user barney does not exist HTUQuestion 7UTH ¿Cuál de los siguientes remplazos para la línea número 3 del archivo Tgroups.shT haría que el script mostrara una línea sencilla comenzando por "El usuario" en todos los casos? A. Tif id -q $1 T B. Tif id $1 >/dev/null 2>&1T C. Tif id $1 2> /dev/nullT D. Tif id $1 > /dev/nullT E. None of the above HTUQuestion 8UTH ¿Cuál de los siguientes remplazos de línea número 7 del archivo Tgroups.shT haría que el script se quejara en el error estándar si el usuario no existe? ¿(En lugar de salida estándar)? A. Techo "The user $1 does not exist" > /dev/stderrT B. Techo -e "The user $1 does not exist" T C. Techo "The user $1 does not exist" > /proc/self/fd/2T D. Techo -E "The user $1 does not exist" T E. A y C HTUQuestion 9UTH Asumiendo que TcmdT es un comando sencillo y sus argumentos (pero no los metacaracteres de shell), ¿qué redirigiría error estándar (únicamente) al archivo
  9. 9. Standard I/O and Pipes 9 T/tmp/errorsT, agregando al archivo si ya existió? A. Tcmd 2> /tmp/errorsT B. Tcmd >> /tmp/errorsT C. Tcmd >+ /tmp/errorsT D. Tcmd 2>+ /tmp/errorsT E. Tcmd 2>> /tmp/errorsT HTUQuestion 10UTH Asumiendo que TcmdT es un comando sencillo y sus argumentos (pero no metacaracteres de shell), ¿qué garantizaría la ejecución de TcmdT sin generar una salida visible? A. Tcmd 2> /dev/nullT B. Tcmd > /dev/nullT C. T(cmd)T D. Tcmd > /dev/null 2>&1 T E. Tsilent (cmd)T Capítulo 3 HTUTuberíasUTH Conceptos clave • El flujo de stdout desde un proceso puede estar conectado al flujo de stdin de otro proceso mediante lo que Unix llama una "tubería". • Varios de los comandos en Unix están diseñados para operar como un filtro, leer la entrada desde stdin y enviar la salida a stdout. • TbashT usa "|" para crear una tubería entre dos comandos. HTUPreguntasUTH HTUQuestion 1UTH ¿Cuáles de las siguientes líneas de comando reducirían la salida del comando Tlocate confT a solo los archivos cuyos nombres o ruta contengan el texto TpythonT? A. Tlocate conf >> grep pythonT
  10. 10. Standard I/O and Pipes 10 B. Tlocate conf | grep pythonT C. Tlocate conf < grep pythonT D. Tlocate conf | grep < pythonT E. None of the above HTUQuestion 2UTH ¿Cuáles de las siguientes líneas de comando producirían un listado de todos los procesos que contengan el texto TsshdT? A. Tps aux | sort | grep sshdT B. Tps aux | grep sshd | sortT C. Tgrep sshd | ps aux | sortT D. Tsort | ps aux | grep sshdT E. A or B Utilice la siguiente transcripción para contestar las 6 preguntas a continuación. T[elvis@station elvis]$ ls -R / 2> /dev/null | grep etc | lessT [1]+ Stopped ls --color=tty -R / 2>/dev/null | grep etc | less T[elvis@station elvis]$ psT PID TTY TIME CMD 1603 pts/2 00:00:01 bash 2391 pts/2 00:00:00 ls 2392 pts/2 00:00:00 grep 2393 pts/2 00:00:00 less 2394 pts/2 00:00:00 ps T[elvis@station elvis]$ ls -l /proc/2391/fdT total 0 lrwx------ 1 elvis elvis 64 Sep 23 09:49 0 -> /dev/pts/2 l-wx------ 1 elvis elvis 64 Sep 23 09:49 1 -> pipe:[20966] l-wx------ 1 elvis elvis 64 Sep 23 09:49 2 -> /dev/null HTUQuestion 3UTH ¿Qué archivo (o tubería) está ligada al stderr del proceso TlsT? A. Una tubería del procesoTgrepT B. T/dev/nullT
  11. 11. Standard I/O and Pipes 11 C. T/dev/pts/2T D. Una tubería para el proceso TlessT E. None of the above HTUQuestion 4UTH ¿Qué archivo (o tubería) está conectado al stderr del proceso TgrepT? A. T/dev/nullT B. T/dev/pts/2T C. Una tubería del procesoTlsT D. Una tubería para el proceso TlessT E. None of the above HTUQuestion 5UTH ¿Qué archivo (o tubería) está ligado al stdin del proceso TgrepT? A. Una tubería para el proceso TlessT B. Una tubería del procesoTlsT C. T/dev/pts/2T D. T/dev/nullT E. None of the above HTUQuestion 6UTH ¿Qué archivo (o tubería) está ligado al stdin del proceso TlessT? A. Una tubería del procesoTlsT B. T/dev/pts/2T C. T/dev/nullT D. Una tubería del procesoTgrepT E. None of the above HTUQuestion 7UTH
  12. 12. Standard I/O and Pipes 12 ¿A qué expresión apuntaría el enlace simbólico T/proc/2392/fd/0T? A. T/dev/pts/2T B. Tpipe:[20966]T C. T/dev/nullT D. T/tmpT E. T/dev/tty2T HTUQuestion 8UTH Cuando TbashT reporta el grupo de proceso detenido, el alias TlsT se ha expandido a Tls -- color=ttyT. La opción T--color=ttyT le ordena al comando TlsT generar secuencias de control de color sólo si su stdout está ligada a la terminal. ¿Cuál es verdadero? A. El comando TlsT genera secuencias de control de color que pueden observarse a través del visualizador de página TlessT. B. The TlsT command does not generate color control sequences. C. El comando TlsT genera secuencias de control de color pero son filtradas por el comando TgrepT. D. El comando TlsT nunca genera secuencias de control de color (el comando T-- color=ttyT está incluído sólo para propósitos de compatibilidad con versiones anteriores). E. Ninguna de las anteriores. HTUQuestion 9UTH ¿Cuál de las siguientes líneas de comando permitirían al paginador TlessT navegar mensajes de error de TgrepT como también la salida? A. Tgrep root /etc/* 2>&1 | less T B. Tgrep root /etc/* | less 2>&1 T C. Tgrep root /etc/* >>| less T D. Tgrep root /etc/* 2| less T E. None of the above La opción T-jT hace que el comando TpsT genere salida de "un trabajo de control orientado". Utilice la siguiente transcripción para contestar la próxima pregunta. T[elvis@station elvis]$ ls -R / | grep etc | lessT
  13. 13. Standard I/O and Pipes 13 [1]+ Stopped ls --color=tty -R / | grep etc | less T[elvis@station elvis]$ ps -jT PID PGID SID TTY TIME CMD 1215 1215 1215 pts/0 00:00:00 bash 3242 3242 1215 pts/0 00:00:00 ls 3243 3242 1215 pts/0 00:00:00 grep 3244 3242 1215 pts/0 00:00:00 less 3246 3246 1215 pts/0 00:00:00 ps HTUQuestion 10UTH ¿Cuál sería la expansión más razonable del segundo encabezado de columna, TPGIDT? A. Process Group ID B. ID de generación padre C. ID de género del proceso D. ID de góndola Powder E. None of the above

×