Ejercicio4 - Linux - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Bueno, os voy a dejar la solución del ejercicio 4 y, como me ha dado problemas la máquina
00:00:00
virtual, lo que voy a hacer es utilizar uno de los terminales online que habíamos visto
00:00:10
en clase, ¿vale? Simplemente para hacer las operaciones que yo creo que será suficiente.
00:00:17
Entonces, estoy ubicado en el home de un usuario llamado usuario y el ejercicio 4, que iba
00:00:22
sobre redireccionamiento, nos pide crear un fichero llamado CAP1 con el contenido. Este
00:00:31
es el capítulo 1. Podemos crearlo de diferentes formas, ¿vale? Yo lo voy a crear el primero
00:00:36
mediante CAT y la redirección y voy a poner el texto. Voy a guardar con CTRL-D. Veremos
00:00:41
que se ha creado el capítulo 1. Bueno, aquí no funciona LL, que es lo que estábamos utilizando
00:00:52
porque esto no es una versión de Ubuntu en el cual he creado este alias, pero bueno,
00:01:00
LS-L nos muestra precisamente ese fichero que hemos creado. Así lo repetiríamos con
00:01:05
CAP2 y CAP3. Voy a ver si tenemos disponible Nano. Que sí. Vale, pues voy a crear el segundo
00:01:10
con Nano. Y el tercero con redirección, por ejemplo. Tenemos los tres ficheros y nos dice
00:01:18
mostrar en pantalla uno tras otro y de una sola vez. Bueno, primero verificar mostrando
00:01:46
cada uno con CAT. Esto no tiene ningún problema. Lo mostramos. CAP1 contiene... Este es el
00:01:53
capítulo 1. No me ha hecho el retorno de carro porque yo no lo he hecho tampoco. Podría
00:01:58
editarlo para ponerle ese retorno de carro al final. Salto de línea. Puedo mostrar CAP2
00:02:02
y CAP3. Ahí está. Y luego mostrar en pantalla en el 2 uno tras otro y de una sola vez los
00:02:20
archivos CAP1, CAP2 y CAP3 creados. Bueno, si los quiero mostrar de una sola vez podría
00:02:26
hacerlo de varias formas. Una sería esta. Especificar todos los ficheros después de
00:02:30
la orden CAT. Y me los va a mostrar uno por uno. También podría hacerlo utilizando los
00:02:35
carácteres comodín la interrogación. Que sustituiría el último carácter, que en este
00:02:44
caso sería el 1, el 2 o el 3. Podría ser una letra también, pero en este caso sólo
00:02:49
hay números. Y me haría lo mismo. También funcionaría, por si os ha ocurrido, poner
00:02:53
el asterisco. Lo que pasa es que la interrogación es más precisa porque indica que hay un único
00:02:59
carácter. Grabar en un único archivo llamado Libro los archivos CAP1, CAP2 y CAP3. Bueno,
00:03:05
tenemos que utilizar aquí la redirección y podemos hacer lo siguiente. Una forma sería
00:03:13
esta. Redirigir el contenido de los tres capítulos a un fichero llamado Libro. Si queremos utilizar
00:03:17
los caracteres comodín para ahorrarnos un poquito en escribir, pues mejor. Nos habrá
00:03:24
creado un fichero llamado Libro que va a contener el contenido de los tres ficheros creados
00:03:30
anteriormente. Cuatro. Guardar en el archivo pwman. Ese es un fichero que tenemos que crear
00:03:37
en el directorio actual la página del manual pwd. Bueno, la página del manual pwd la obtengo
00:03:44
mediante el comando man y pwd, evidentemente. Vaya, no tiene página de manual. Vamos a
00:03:52
ver si con help... Vale. Con help aparece alguna cosa más, pero no tenemos... Vamos
00:04:00
a probar con la interrogación. Tampoco. Bueno, aquí en este caso no tenemos las páginas
00:04:12
de manual, con lo cual no funciona. Pero bueno, lo que tendríamos que hacer sería
00:04:21
redirigir esto que saldría por pantalla directamente a pwd.man, que es el fichero que queremos
00:04:25
crear. En este caso no nos va a mostrar nada, pero nos va a derivar ese mensaje de error
00:04:33
que pone man not found. Bueno, no porque es un mensaje de error. No nos va a crear nada
00:04:39
realmente en el fichero. Va a estar vacío. ¿Vale? Mostrar. Vamos a imaginar que tiene
00:04:46
contenido. De hecho, pues puedo hacer un ls-l barra de... para que tenga cosas. Esto. Voy
00:04:56
a cambiar un poquito el ejercicio. En este caso no va a contener la página de manual
00:05:06
de pwd, sino que va a tener el resultado de hacer un ls-l. Pero bueno, nos podría dar
00:05:18
lo mismo el contenido, es lo de menos. Mostrar el archivo pw.man, estoy en el 5, con el comando
00:05:24
more. En este caso tendríamos que hacer lo siguiente, more pwd.man. Lo que va a hacer
00:05:31
es mostrarnos el contenido del fichero y si no ocupiera en pantalla, que en este caso
00:05:38
sí cabe, nos mostraría la paginación que vimos en clase, típica, donde yo puedo avanzar
00:05:42
línea a línea o página a página. Contar el número de palabras del archivo pwd.man.
00:05:49
Para esto teníamos que utilizar el comando wc y como queremos palabras utilizaremos el
00:05:57
modificador o la opción "-w". Y le ponemos el nombre del fichero. En este caso nos dice
00:06:02
que pwd.man tiene 155 palabras. Crear el archivo host.txt con las dos primeras líneas del
00:06:09
archivo tchost. Vamos a ver primero si existe, porque esto es un simulador, este fichero.
00:06:18
Sí existe este fichero, el tchost. Ya hablamos sobre este fichero cuando vimos redes y dijimos
00:06:24
que formaba parte de una de las posibles opciones para la resolución de nombres. Contenía
00:06:29
la IP y el nombre del equipo. Bueno, en este caso queremos solo las dos primeras líneas
00:06:38
del fichero tchost, que en este caso solo tiene dos. En vuestro caso, en clase, veréis
00:06:45
que en Ubuntu está compuesto de más líneas, pero si quisiéramos solo obtener las dos
00:06:49
primeras, ya digo, en este caso va a coincidir, tendríamos que hacer head-2 para mostrar
00:06:54
las dos primeras líneas del fichero tchost y queremos redirigirlas hacia un fichero que
00:07:01
se llame host.txt. En vez de por pantalla vemos que lo ha derivado hacia ese fichero.
00:07:09
En el 8 nos pide algo muy similar, pero con las tres últimas líneas. Tenemos que hacer
00:07:18
las tres últimas líneas de un fichero, que se llama en este caso tcgroup, que ya hemos
00:07:22
visto en clase con la gestión de usuarios, que es para los grupos de usuarios. Luego
00:07:26
tenemos que derivar hacia otro fichero, xinet.txt. El nombre es lo de menos, pero veremos que
00:07:38
se nos han creado dos ficheros. Uno es host, que tiene las dos primeras líneas del fichero
00:07:45
tchost, ya digo que coincide, y otro que se llama xinet.txt, que coincide con las tres
00:07:50
últimas grupos de tcgroup. Vamos a ver tcgroup, lo que contiene, que son una lista de los
00:07:58
usuarios. Hemos dicho los tres últimos. Me da la sensación que se habían los tres
00:08:11
primeros. Tcgroup. Sí, no sé por qué. Es que he puesto head otra vez y eran los tres
00:08:24
últimos. Me he equivocado. Es tail-3 tcgroup y lo redirigimos hacia xinet.txt, que va a
00:08:36
sustituir la anterior. Ahora ya sí. Ahí están los tres últimos grupos. 9. Concatenar
00:08:46
ambos archivos en otro archivo, por ejemplo, llamado todo.txt, presentándolos juntos en
00:08:56
pantalla. Bueno, si quiero concatenarlos y verlos a la vez en pantalla, teníamos el
00:09:00
operador de redirección t, o t, o te, o como queráis llamarlo. En este caso voy a
00:09:05
poner cat, hemos dicho que se llamaban host.txt y xinet.txt y tendría que poner el operador
00:09:12
de redirección tubería, te, y el fichero, por ejemplo, todo.txt. Esto lo que va a hacer
00:09:23
es mostrarme los dos ficheros por pantalla, pero a la vez redirigir hacia otro fichero
00:09:30
llamado todo.txt, que contendrá exactamente lo mismo. Si recordáis, era como una tubería
00:09:35
en forma de te y nos permitía realizar las dos operaciones a la vez. Con el comando cat,
00:09:41
este 10 es un pelín enrevesado, pero en realidad es para que probemos a hacer redirecciones
00:09:48
de diferentes entradas y salidas. Con el comando cat, intentar mostrar el archivo noexiste.txt.
00:09:54
Este fichero no existe, como su nombre indica, no tendría por qué ser así, podría existir
00:10:14
aunque se llamara noexiste, pero en realidad no hay ningún fichero que se llame así.
00:10:18
Sin redireccionar entrada estándar. Bueno, la entrada estándar yo podría haberla redireccionado
00:10:23
de todos modos poniendo noexiste.txt, pero es absurdo porque ya va a coger como entrada
00:10:30
el nombre del fichero. Entonces, con esto ya estamos directamente dándole como entrada
00:10:37
el nombre del fichero. Pero redireccionando la salida estándar hacia copia noexiste,
00:10:43
y el error estándar para agregar al archivo errores.txt. ¿Esto qué haría? Primero, si
00:10:54
el fichero realmente no existe, como os he indicado, daría un error. Por lo tanto, el
00:11:05
error se agregaría, porque hemos puesto la doble redirección, a errores.txt. Si el fichero
00:11:12
realmente existiera, haría la copia en el otro fichero porque redirigiría algo que
00:11:18
tiene que ir a pantalla a otro fichero y entonces haría una copia de este fichero. Veremos
00:11:25
que se ha creado el fichero errores.txt, donde aparece el error que noexiste.txt, no es un
00:11:33
fichero ni es un directorio. 11. Redirecciona la salida del comando date a un fichero llamado
00:11:44
fecha.txt en tu directorio home. La orden date lo que hace es mostrar la fecha y la
00:11:50
hora actual. Lo que queremos hacer es redirigirlo hacia uno que se llame fecha.txt. Ya está. Ahora,
00:11:56
fecha.txt contiene la fecha de hoy. 12. Añade la salida del comando ls al fichero fecha.txt.
00:12:05
Pues ls da como resultado el contenido del directorio en el que me encuentro. Lo quiero
00:12:12
añadir a fecha.txt, lo añado con el doble redireccionamiento, para que ahora podamos
00:12:17
ver que contiene el resultado de los dos. En el 13 también pretendía hacer un ejemplo de
00:12:24
cómo utilizar el redireccionamiento de entrada, utilizando un comando que se llama mail, que
00:12:36
probablemente aquí no tengamos instalado. Os digo cómo se instala, pero no sé si voy a poder
00:12:40
instalarlo aquí, porque es una consola que está simulada y a lo mejor no me deja instalar nada.
00:12:47
Vale. Voy a hacerlo con more root.
00:12:54
No, no me va a dejar instalar las utilidades de mail. Ya os lo comentaré en clase, pero existe
00:13:19
un comando llamado mail que me deja gestionar correo electrónico. Entonces yo puedo enviar
00:13:43
un mensaje a un usuario, poniendo mail y el nombre de usuario. En este caso me da un error
00:13:47
porque no está instalado. Y podría escribir ese mensaje. Lo que quería que hicierais aquí era
00:13:52
enviar este fichero como mensaje por correo electrónico y para ello podríamos utilizar el
00:13:59
redireccionamiento de entrada. Porque de esta forma, con la flecha hacia la izquierda, con el
00:14:05
menor que, podría pasarle como entrada los datos al programa mail y que enviara el correo electrónico
00:14:10
con ese fichero. Bueno, no tiene mayor misterio, tampoco era que se complicara mucho, pero puede
00:14:21
parecer un poco complicado. Ya digo que os lo comentaré en clase. El 14. Visualiza el número
00:14:30
de usuarios en estos momentos. Aquí he mezclado dos cosas. Por un lado, aparece los usuarios que
00:14:35
hay creados en el sistema y podría saber cuántos hay contando el número de líneas.
00:14:46
Me dice que hay 30 usuarios. Incluso es más, hay muchos usuarios que no pueden hacer login.
00:14:50
¿Cómo son estos? Sbin, no login, Sbin, no login. El único que puede hacer login es este
00:15:09
realmente usuario. Y supongo que root, root también. Incluso es curioso, esto es porque es un simulador,
00:15:14
pero que tiene el bin barra hash, no el bin barra bash. Podríamos, si quisiéramos, contabilizar cuántos
00:15:24
de estos usuarios, y así pongo otro ejemplo de redirección, pueden iniciar sesión.
00:15:36
Ya digo, insisto, que el terminal es bash. Aquí es porque le habrán puesto un nombre para simularlo.
00:15:43
¿Vale?
00:15:54
Podríamos contarlos. Y son realmente dos, dos los usuarios. Bueno, los habéis visto que nos los ha mostrado aquí.
00:16:08
Son root. El $, recordad que era final de línea. Entonces le estoy diciendo que de cat etc para wd me muestre
00:16:15
solo aquello que coincida en su búsqueda con que acabe con este patrón. ¿Vale? Y luego le redirijo hacia wc-l,
00:16:23
me dice los que pueden iniciar sesión. ¿Vale? Esto no es lo que pedía el ejercicio. Es aumentado, es ampliado,
00:16:32
pero bueno, así tenéis como otra cosa. Y luego nos pide también los usuarios conectados actualmente,
00:16:38
que se pueden mostrar con who. Bueno, aquí hemos mezclado dos cosas. Who tampoco lo tengo disponible aquí,
00:16:43
pero yo podría contar cuántos usuarios hay conectados haciendo simplemente who, tubería, wc-l, porque me contaría
00:16:49
el número de líneas que contiene el resultado del orden who. ¿Vale? 15. Ordena el fichero etc pas wd.
00:17:00
Entonces lo voy a ordenar según el tercer campo. Para ordenar según el tercer campo tenemos que utilizar cat 3,
00:17:17
que es el número de campo. Como el fichero pas wd contiene una serie de campos separados por dos puntos,
00:17:23
le tengo que decir también que el delimitador de campo son los dos puntos, no el espacio. ¿Vale?
00:17:35
Entonces lo pondría así. Vemos que nos va a ordenar por el tercer campo, que es el uid. 123, 13, 16.
00:17:42
Vemos que la ordenación no es del todo exacta y por eso nos pide en el siguiente que ordenemos, pero con ordenación numérica.
00:17:52
Ya vimos que sort ordenaba, pero que si yo no le indico que es un número, la ordenación será alfabética.
00:17:59
Entonces hay que añadirle la opción "-n", para que la ordenación sea numérica realmente.
00:18:05
Entonces ya veremos ahí si el 1, el 2, el 3, el 4, el 5, el 6, el 7. Dijimos que a partir del 1000 es cuando se reserva para usuarios
00:18:09
que yo haya creado dentro del sistema. Por debajo del 1000 está reservado para el sistema operativo.
00:18:20
¿Hay alguna diferencia? Pues evidentemente sí. ¿Por qué? Porque la ordenación ahora la hace numérica en vez de alfabética.
00:18:26
Vale, 17. Contar cuántas veces se ha escrito la palabra de visualización del manual en el histórico.
00:18:33
Para ello teníamos un comando history, que no sabía si iba a funcionar, pero sí ha funcionado.
00:18:41
Nos aparece el historial, entonces yo puedo dentro de history buscar cuántas veces se ha escrito la palabra humana.
00:18:46
En este caso son estas veces. Si quiero contarlas o bien pongo grep-c, que nos da el número, son 10, o bien podría redirigir hacia wc-l y contar.
00:18:54
¿Me salen 11? ¿Por qué? 1, 2, 3, 4, 5, 6, 7, 8, 9. Ah, porque el historial habrá cambiado al haber seguido poniendo.
00:19:11
Claro, he añadido al escribir comandos, ¿veis? He añadido aquí la palabra man también, entonces se van incrementando.
00:19:27
El ejercicio realmente nos quería pedir cuando empiece por la palabra man, pero el history ya veis que tiene delante un número con lo cual no nos permite buscar por el inicio de línea.
00:19:36
Quizás se podría hacer una ordenación por el segundo campo y luego intentar contar cuántos hay para eso filtrarlo con tail.
00:19:52
Se complicaría bastante, no hace falta que lo hagáis. Si lo queréis intentar y probar a lo mejor se puede hacer.
00:20:03
Otra posibilidad, que no sé si aquí la tendremos porque ya repito que es un simulador, es utilizar el fichero bushistory.
00:20:08
Que es un fichero oculto que tenemos dentro de Ubuntu, en este caso no está, con una copia del historial de comandos que hemos puesto.
00:20:19
Y luego, por último, el 18, buscar la entrada de un usuario user dentro de la lista de variables de entorno.
00:20:28
Bueno, dijimos que al hacer env yo tengo una lista de variables de entorno como son el usuario que ha iniciado sesión, el home, el prompt, el nombre de login, el terminal, el path, el que estoy utilizando...
00:20:33
Bueno, un montón de variables de entorno. De hecho Ubuntu tiene bastantes más.
00:20:51
Lo que nos pide aquí es mostrar la entrada referente al usuario. Entonces yo puedo filtrar. Os recuerdo que este ejercicio era todo de redireccionamiento.
00:20:55
Y que busque user. Si lo busco al principio de la línea pues mejora. Por si acaso apareciera por otro lado la palabra user.
00:21:05
Y me aparecerá esa línea filtrada de todas las que hay. Vale, pues este era el ejercicio del redireccionamiento 4.
00:21:14
- Subido por:
- Guillermo S.
- Licencia:
- Reconocimiento - No comercial - Compartir igual
- Visualizaciones:
- 8
- Fecha:
- 27 de abril de 2023 - 10:34
- Visibilidad:
- Clave
- Centro:
- IES REY FERNANDO VI
- Duración:
- 21′ 26″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1280x720 píxeles
- Tamaño:
- 50.14 MBytes