Capítulo 1: Entrada estándar y salida estándar. 1. El comando hostname informa su nombre de...
-
Upload
porfirio-posada -
Category
Documents
-
view
217 -
download
0
Transcript of Capítulo 1: Entrada estándar y salida estándar. 1. El comando hostname informa su nombre de...
Unidad 5: Standard IO and Pipe
Capítulo 1: Entrada estándar y salida estándar
1.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.
2.El comando uptime reporta 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.
3.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.
Ejercicio
Capítulo 2Error estándar
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
Ejemplo
[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
Uso de null para redireccionar
1. Utilice la siguiente línea de comandos para mostrar el contenido de todos los archivos dentro del directorio /etc/X11.
2. Repita la línea de comandos pero redirija stdout a un archivo llamado ~/stderrlab.out y stderr a un archivo llamado ~/stderrlab.err.
3. Repita el comando pero esta vez combine stdout y stderr en un sólo flujo y redirija el flujo al archivo ~/stderrlab.both.
Ejercicio
Capítulo 3Tuberías
ps aux | grep httpd history | grep ls
Ejemplo
1. 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/services dentro del comando sort. Redirija la salida de esta tubería dentro del archivo ~/pipelab.txt.
2. Mediante el visualizador de página less desearí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 less en el primer plano mientras califica su ejercicio.
Ejercicio
Unidad 6: String Processing Tools
Capítulo 1: Conteo de palabras y codificación de texto
cat /etc/hosts cat -A /etc/hosts
Ejemplo Cat
Head◦ ps aux | head 1
Tail◦ ps aux | tail +2
Ejemplo Head y Tail
alias nusers='users | wc -w‘ ps aux | tail +2 | wc -l
Ejemplo WC
1. 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.
2. Cree el archivo ~/localusers.txt, el cual contiene el número de usuarios localmente definidos como su única palabra.
3. 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).
4. 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.
Ejercicios
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 find para 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.
Ayudas
Unidad 6: String Processing Tools
Capítulo 2: Búsqueda de Texto: 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
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
Grep
Ls –R /etc/ | grep networking | gedit Ls –R /etc/ | grep networking | xargs gedit
Grep y xargs
1. Crear el archivo ~/bashusers.txt que contenga las líneas del archivo /etc/passwd que contengan el texto /bin/bash.
2. 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).
3. 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, Ansi y AnSi todas coincidirían).
4. Crear el archivo ~/mayhemnum.txt que contenga el número de la línea de la palabra mayhem del archivo /usr/share/dict/words como su única palabra.
5. 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.
Ejercicio
Unidad 6: String Processing Tools
Capítulo 4: Ordenando todo: 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
Clasificacion multiples columnas◦grep "^[[:alnum:]]" /etc/fdprm◦grep "^[[:alnum:]]" /etc/fdprm | sort -n -k5◦grep "^[[:alnum:]]" /etc/fdprm | sort -n -k5 -
k3
Ejemplos Sort
Especificación del separador de campo◦ head /etc/passwd◦ head /etc/passwd | sort -t: -k6
Ejemplos Sort
1. 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.
2. 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.
3. 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.
Ejercicio
4. El comando df lista 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 df debería eliminarse de la salida.
Ejercicio
Unidad 6: String Processing Tools
Capítulo 5: Extraer y reunir texto: cut y paste
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
Ejemplo cut
Paste f1 f2 Paste –s –d: f1 f2
Ejemplos de paste